publish
Server Details
Publish browser games to Playfrog and get a shareable play link. Static HTML5, files sent inline.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Definition Quality
Average 4.8/5 across 2 of 2 tools scored.
publish_game and update_game are clearly distinct: one creates a new game publication, the other updates an existing one. There is no ambiguity about which to use for a given task.
Both tools follow a consistent verb_noun pattern (publish_game, update_game), making the API surface predictable and easy to learn.
With only two tools, the set feels thin for a general game publishing service. While the core actions (publish and update) are covered, there is no room for additional lifecycle operations, making the count borderline.
The domain is publishing games, and the tools cover create and update, but there is no delete, no status/read, and no explicit claim action (only a claim_url is returned). These gaps mean the API surface is only partially complete for the typical lifecycle of a published game.
Available Tools
2 toolscreate_game_draftCreate a private game draft on PlayfrogAInspect
Makes a private, unpublished draft of a browser game on Playfrog from static files (HTML5/JavaScript). Nobody can see it or play it, including by direct link, and the response carries no play link because nothing serves the game yet. Covers requests to publish, share, post, put online, put on the internet, or host a browser game someone made, and requests for a link other people can play. Send the game files; an index.html at the top level is required, 2.5 MB of files in total. An optional cover image improves the game page and social share card. Returns claim_url, the one link that publishes the game: publishing requires a free Playfrog account, and the game becomes public only after a person opens that link, signs in or creates an account, and finishes publishing. An unpublished draft is deleted after 7 days. update_game_draft replaces the files of a draft made in this same connector session. Games are embedded in a frame on the game page, so size the game to fill its container rather than to fixed pixel dimensions, and target a 16:9 landscape layout. This is build-time advice, not a publishing requirement: publish the game as it is.
| Name | Required | Description | Default |
|---|---|---|---|
| cover | No | 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 | Yes | ||
| genre | No | The gallery category the game is filed under (e.g. arcade, puzzle, platformer). Improves discoverability. | |
| title | No | The game title players will see. | |
| controls | No | E.g. "WASD to move, space to shoot". | |
| description | No | 2 to 4 real sentences: what the game is, how to play, what makes it fun. Players read this before playing. | |
| orientation | No | Only if the game works one way; phones held wrong get a rotate overlay. |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | |
| status | Yes | |
| game_id | Yes | |
| claim_url | Yes | |
| expires_at | Yes | |
| version_id | Yes | |
| dropped_files | No | |
| metadata_hint | No | |
| action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate it's not read-only, not idempotent, and not destructive. The description adds rich behavioral context: drafts are private, no play link is returned, drafts are deleted after 7 days, the claim_url mechanism, and build-time advice about embedding and sizing. This fully informs the agent of what the tool does beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the core purpose. Each sentence carries useful information, though the list of covered requests ('publish, share, post, put online...') is somewhat redundant. Overall, the length is justified by the tool's complexity and the need to clarify the publish flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 params, nested objects, output schema), the description is thorough. It covers the draft lifecycle, account requirements, file limits, and layout advice. Since an output schema exists, not detailing return fields is acceptable. The description provides a complete mental model of how this tool fits into the publishing workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents parameters well. The description adds extra constraints and context not in the schema, such as '2.5 MB of files in total', 'an index.html at the top level is required', and the purpose of the optional cover image ('improves the game page and social share card'). This adds meaningful value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Makes a private, unpublished draft of a browser game on Playfrog from static files.' It also distinguishes itself from sibling update_game_draft by noting that update replaces files of an existing draft. The phrase 'Covers requests to publish, share, post, put online...' clarifies the intended user requests it addresses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly maps user intents (publish, share, host) to this tool, and mentions update_game_draft as the alternative for replacing files of a draft made in the same session. It also provides prerequisites like requiring index.html and notes the publishing flow requires a Playfrog account, giving clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_game_draftUpdate a private game draft on PlayfrogADestructiveInspect
Replaces the files of a private, unpublished draft made with create_game_draft in this same connector session. Covers requests to change, fix, revise or re-send a game that has not been published yet. It works only in the session that created the draft, and there is no way to recover that: a draft from an earlier session or another client cannot be revised here. What that costs is the ability to revise, not the game. The claim link from the original response keeps working and is still the one link that publishes the game. The draft stays private throughout: nobody can see it or play it, including by direct link, and the response carries no play link. Send the complete set of files again rather than a diff; an index.html at the top level is required, 2.5 MB of files in total. Publishing still requires a free Playfrog account and still happens when a person opens the claim link, signs in or creates an account, and finishes publishing. Revising leaves the 7 day life of a draft unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| cover | No | 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 | Yes | ||
| genre | No | The gallery category the game is filed under (e.g. arcade, puzzle, platformer). Improves discoverability. | |
| notes | No | One line about what changed in this version. | |
| title | No | The game title players will see. | |
| game_id | Yes | The game_id returned by create_game_draft. Only drafts created in this connector session can be revised. | |
| controls | No | E.g. "WASD to move, space to shoot". | |
| description | No | 2 to 4 real sentences: what the game is, how to play, what makes it fun. Players read this before playing. | |
| orientation | No | Only if the game works one way; phones held wrong get a rotate overlay. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| slug | Yes | |
| status | Yes | |
| game_id | Yes | |
| expires_at | Yes | |
| version_id | Yes | |
| dropped_files | No | |
| metadata_hint | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already declare destructiveHint=true, the description adds substantial behavioral detail: it replaces files completely, leaves the claim link functional, keeps the draft private with no play link, preserves the 7-day life, and explains the publishing flow. It also clarifies that the session constraint is a limitation of the tool, not the game itself. This goes well beyond the minimal annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, which is somewhat long but each sentence contributes meaningful operational context (session scoping, privacy, publishing, size limits). The main purpose is front-loaded. It could be slightly more concise, but given the tool's complexity and the critical caveats, the length is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, nested objects, and an output schema, the description covers all essential context: replacement semantics, session-only limitation, privacy implications, return behavior (no play link), upload requirements (complete files, index.html, size), and the unchanged publishing process. It even addresses the subtle point that the claim link from the original draft remains valid. This is highly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers 89% of parameters with descriptions. The description adds value beyond the schema by explaining that 'Send the complete set of files again rather than a diff,' and highlights the required index.html and total size limit (2.5 MB). This enriches the files parameter semantics. The game_id parameter is also contextualized as the one returned by create_game_draft.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear verb and resource: 'Replaces the files of a private, unpublished draft made with create_game_draft.' It specifies the exact scope (replacing files in an unpublished draft) and inherently distinguishes itself from the sibling create_game_draft by focusing on updates/revisions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool: 'Covers requests to change, fix, revise or re-send a game that has not been published yet.' It also gives critical when-not-to-use guidance by emphasizing it only works within the same connector session that created the draft, and that a draft from an earlier session cannot be revised. This prevents misuse and clarifies the tool's limited applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables building, publishing, and improving PWA games from your editor by scaffolding games, updating files, and auto-deploying to a live URL.MIT
- FlicenseNot gradedqualityDmaintenanceDeploys HTML pages to an online preview platform and returns a shareable URL via MCP protocol.
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to validate and publish game bundles to the Hypercho Games marketplace, including uploading browser builds, banners, screenshots, and metadata.MIT

antics-mcpofficial
AlicenseAqualityBmaintenanceEnables AI agents to deploy multiplayer web games as playable URLs with rooms, live state sync, and leaderboards, all through a single tool call.41455Unlicense - libtelnet variant