Ce que fait ce MCP
Publishes static HTML5 browser games and updates existing games at shareable Playfrog links.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['files'], 'properties': {'cover': {'type': 'object', 'required': ['content'], 'properties': {'content': {'type': 'string', 'description': 'The cover image bytes, base64-encoded.'}, 'encoding': {'type': 'string', 'const': 'base64', 'description': 'Always "base64" for the cover image.'}}, 'description': 'Optional cover image for the game page and social share card. 1200x630 pixels, PNG/JPEG/WebP, max 3 MB, base64-encoded. Without a cover, a gameplay screenshot is captured automatically.'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'content'], 'properties': {'path': {'type': 'string', 'description': 'Relative path inside the game folder, e.g. "index.html" or "assets/sprite.png". An index.html at the top level is required.'}, 'content': {'type': 'string', 'description': 'The file content. Text files as-is; binary files base64-encoded.'}, 'encoding': {'enum': ['text', 'base64'], 'type': 'string', 'description': 'Default "text". Use "base64" for binary files (images, audio, fonts).'}}}, 'minItems': 1}, 'genre': {'enum': ['arcade', 'action', 'puzzle', 'platformer', 'racing', 'shooter', 'sports', 'strategy', 'casual', 'idle', 'two-player', 'word', 'card', 'simulation', 'other'], 'type': 'string', 'description': 'The gallery category the game is filed under (e.g. arcade, puzzle, platformer). Improves discoverability.'}, 'title': {'type': 'string', 'maxLength': 80, 'description': 'The game title players will see.'}, 'controls': {'type': 'string', 'maxLength': 120, 'description': 'E.g. "WASD to move, space to shoot".'}, 'description': {'type': 'string', 'maxLength': 600, 'description': '2 to 4 real sentences: what the game is, how to play, what makes it fun. Players read this before playing.'}, 'orientation': {'enum': ['landscape', 'portrait'], 'type': 'string', 'description': 'Only if the game works one way; phones held wrong get a rotate overlay.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['game_id', 'slug', 'play_url', 'game_url', 'claim_url', 'manage_token', 'version_id', 'expires_at', 'status'], 'properties': {'slug': {'type': 'string'}, 'status': {'enum': ['unclaimed', 'claimed'], 'type': 'string'}, 'game_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'game_url': {'type': 'string', 'format': 'uri'}, 'play_url': {'type': 'string', 'format': 'uri'}, 'claim_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'expires_at': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'version_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'manage_token': {'type': 'string'}, 'dropped_files': {'type': 'array', 'items': {'type': 'string'}}, 'metadata_hint': {'type': 'string'}, 'action_required': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['game_id', 'manage_token', 'files'], 'properties': {'cover': {'type': 'object', 'required': ['content'], 'properties': {'content': {'type': 'string', 'description': 'The cover image bytes, base64-encoded.'}, 'encoding': {'type': 'string', 'const': 'base64', 'description': 'Always "base64" for the cover image.'}}, 'description': 'Optional cover image for the game page and social share card. 1200x630 pixels, PNG/JPEG/WebP, max 3 MB, base64-encoded. Without a cover, a gameplay screenshot is captured automatically.'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'content'], 'properties': {'path': {'type': 'string', 'description': 'Relative path inside the game folder, e.g. "index.html" or "assets/sprite.png". An index.html at the top level is required.'}, 'content': {'type': 'string', 'description': 'The file content. Text files as-is; binary files base64-encoded.'}, 'encoding': {'enum': ['text', 'base64'], 'type': 'string', 'description': 'Default "text". Use "base64" for binary files (images, audio, fonts).'}}}, 'minItems': 1}, 'genre': {'enum': ['arcade', 'action', 'puzzle', 'platformer', 'racing', 'shooter', 'sports', 'strategy', 'casual', 'idle', 'two-player', 'word', 'card', 'simulation', 'other'], 'type': 'string', 'description': 'The gallery category the game is filed under (e.g. arcade, puzzle, platformer). Improves discoverability.'}, 'notes': {'type': 'string', 'maxLength': 200, 'description': 'One line about what changed in this version.'}, 'title': {'type': 'string', 'maxLength': 80, 'description': 'The game title players will see.'}, 'game_id': {'type': 'string', 'description': 'From the publish_game response.'}, 'controls': {'type': 'string', 'maxLength': 120, 'description': 'E.g. "WASD to move, space to shoot".'}, 'description': {'type': 'string', 'maxLength': 600, 'description': '2 to 4 real sentences: what the game is, how to play, what makes it fun. Players read this before playing.'}, 'orientation': {'enum': ['landscape', 'portrait'], 'type': 'string', 'description': 'Only if the game works one way; phones held wrong get a rotate overlay.'}, 'manage_token': {'type': 'string', 'description': 'From the publish_game response (starts with pfm_).'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['game_id', 'slug', 'play_url', 'game_url', 'claim_url', 'manage_token', 'version_id', 'expires_at', 'status'], 'properties': {'slug': {'type': 'string'}, 'status': {'enum': ['unclaimed', 'claimed'], 'type': 'string'}, 'game_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'game_url': {'type': 'string', 'format': 'uri'}, 'play_url': {'type': 'string', 'format': 'uri'}, 'claim_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'expires_at': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'version_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'manage_token': {'type': 'string'}, 'dropped_files': {'type': 'array', 'items': {'type': 'string'}}, 'metadata_hint': {'type': 'string'}, 'action_required': {'type': 'string'}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
apex-x1
Provides X1 and Arc token screening, liquidity and exit-risk checks, wallet and bridge data, non-custodial token operations, comm…
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
Moddable Games Tools
Provides chess analysis and puzzles, board and hex-map generation, dice and probability utilities, card decks, scoring, and other…
NOT FOR HUMANS
Provides NFT ownership and marketplace status, wallet-based agent identity and claims, public agent learning records, and multipl…
argo-mcp
Manages tabletop RPG campaigns, sessions, guilds, player relationships, forums and structured campaign lore.
Clash Royale
Provides Clash Royale player, clan, war, card, ranking, and location data, along with broader structured research and data-routin…
Steam
Provides Steam data for apps, games, profiles, friends, ownership, achievements, player statistics, news, concurrent players, and…