Arcade.fun MCP
Provides connection metadata for the Arcade.fun MCP endpoint, enabling agents to interact with playable browser experiences and manage creator-owned game uploads.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://arcade.fun/mcpWhat you can do with it
- Discover playable browser experiences
- Manage creator-owned game uploads
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- arcade.fun 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 8 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
list_experiences — List the Community shelf
Every approved experience currently playable on arcade.fun, with the origin games are served from. Needs no credentials.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false
}create_experience — Create an experience
Register a new experience and get its manage key. Returns game, key and the first version id. The key is shown only here and controls the listing forever — save it. This creates a draft; upload_build is what sends it for review.
{
"type": "object",
"required": [
"title",
"author",
"email",
"wallet",
"inputs",
"rights",
"terms"
],
"properties": {
"how": {
"type": "string",
"maxLength": 1200,
"description": "How to take part: the controls and how to begin."
},
"kind": {
"enum": [
"web",
"sdk"
],
"type": "string",
"description": "'sdk' if the entry page calls arcade.ready(), otherwise 'web'. Detected from the build too."
},
"email": {
"type": "string",
"maxLength": 254,
"description": "Reviewer contact address. Players never see it."
},
"terms": {
"type": "boolean",
"description": "Confirm you agree to the arcade.fun terms and community guidelines."
},
"title": {
"type": "string",
"maxLength": 60,
"description": "What the experience is called, 2 to 60 characters."
},
"aspect": {
"enum": [
"",
"16:9",
"4:3",
"1:1",
"3:4",
"9:16"
],
"type": "string",
"description": "Shape on screen. Empty fills the screen."
},
"author": {
"type": "string",
"maxLength": 30,
"description": "The creator name players see, 2 to 30 characters."
},
"inputs": {
"type": "array",
"items": {
"enum": [
"voice",
"camera",
"keyboard",
"mouse",
"touch",
"gamepad"
],
"type": "string"
},
"description": "How people interact. At least one."
},
"rights": {
"type": "boolean",
"description": "Confirm the experience is yours to share, including its art, music and code."
},
"wallet": {
"type": "string",
"maxLength": 44,
"description": "Solana address that receives this listing's creator trading fees. Every public listing launches with its own coin."
},
"devices": {
"type": "array",
"items": {
"enum": [
"mobile",
"desktop"
],
"type": "string"
},
"description": "Devices actually tested. Mobile requires touch, voice or camera among inputs."
},
"tagline": {
"type": "string",
"maxLength": 140,
"description": "One line for the cabinet."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}start_version — Start a new version
Open a new version slot for an experience you already own. The live approved version keeps playing until the new one is reviewed.
{
"type": "object",
"required": [
"game",
"key"
],
"properties": {
"key": {
"type": "string",
"description": "That game's manage key."
},
"game": {
"type": "string",
"description": "The 12-character game id."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}upload_build — Upload a build
Send the browser build for a version and publish it. One HTML file, or a zip with index.html at its root. A build that passes the sandbox checks goes live immediately: the result has `live: true` and the play URL. Otherwise `live: false` and `waiting` says why, either a list of things to fix or that this arcade reviews that upload by hand. Also returns file count, size, engine and whether the arcade SDK was detected. If the zip has several pages and no index.html, the result asks which page starts it — answer with set_entry.
{
"type": "object",
"required": [
"version",
"key",
"content_base64",
"filename"
],
"properties": {
"key": {
"type": "string",
"description": "The game's manage key."
},
"entry": {
"type": "string",
"maxLength": 300,
"description": "Start page inside a zip, if it is not index.html."
},
"threads": {
"type": "boolean",
"description": "True if the build needs SharedArrayBuffer. Threaded builds open in their own tab and cannot use the SDK bridge. Omit to work it out from the files."
},
"version": {
"type": "string",
"description": "Version id from create_experience or start_version."
},
"filename": {
"type": "string",
"description": "The file's name, so the type is read correctly: e.g. index.html or build.zip."
},
"content_base64": {
"type": "string",
"description": "The .html or .zip file, base64 encoded. Up to 24 MB decoded."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}set_entry — Choose the start page
Name the page that starts the experience, when a zip had several and no index.html.
{
"type": "object",
"required": [
"version",
"key",
"entry"
],
"properties": {
"key": {
"type": "string"
},
"entry": {
"type": "string",
"maxLength": 300,
"description": "A path the upload result offered, e.g. game/play.html."
},
"version": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}set_cover — Set the cover art
Upload the square cover used for the cabinet, the sharing card and the coin image. PNG, JPEG, WebP or GIF up to 4 MB.
{
"type": "object",
"required": [
"game",
"key",
"image_base64"
],
"properties": {
"key": {
"type": "string"
},
"game": {
"type": "string"
},
"image_base64": {
"type": "string",
"description": "The image, base64 encoded."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}set_trailer — Set the trailer
Upload the MP4 played when the experience's link is shared. Without one the platform builds an animated title card from the cover instead.
{
"type": "object",
"required": [
"game",
"key",
"video_base64"
],
"properties": {
"key": {
"type": "string"
},
"game": {
"type": "string"
},
"video_base64": {
"type": "string",
"description": "The MP4, base64 encoded."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}experience_status — Check an experience
Where an experience stands: its details, its coin plan, any note from the reviewers, and every version with its status.
{
"type": "object",
"required": [
"game",
"key"
],
"properties": {
"key": {
"type": "string"
},
"game": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 289 ms
- 95th percentile latency
- 289 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 289 ms · metadata changed · 8 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http arcade-fun-mcp https://arcade.fun/mcpCodex
codex mcp add arcade-fun-mcp --url https://arcade.fun/mcpCursor
{
"mcpServers": {
"arcade-fun-mcp": {
"url": "https://arcade.fun/mcp"
}
}
}Cline
{
"mcpServers": {
"arcade-fun-mcp": {
"type": "streamableHttp",
"url": "https://arcade.fun/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"arcade-fun-mcp": {
"type": "http",
"url": "https://arcade.fun/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http arcade-fun-mcp https://arcade.fun/mcpClaude Desktop
{
"mcpServers": {
"arcade-fun-mcp": {
"url": "https://arcade.fun/mcp"
}
}
}Windsurf
{
"mcpServers": {
"arcade-fun-mcp": {
"serverUrl": "https://arcade.fun/mcp"
}
}
}Let your agent find its tools
Find servers like Arcade.fun MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.