Skip to main content

Astrocade Creator MCP — pull and edit your Astrocade games locally over MCP (stdio).

Project description

Astrocade Creator MCP

A local (stdio) MCP server that lets a creator pull, edit, push, and publish the games already on their Astrocade account — as ordinary local files.

Add to your MCP client

Point your MCP client (Claude Code, Claude Desktop, …) at it — no install step, uvx fetches it from PyPI on demand:

{
  "mcpServers": {
    "astrocade": {
      "command": "uvx",
      "args": ["astrocade-creator-mcp@latest"]
    }
  }
}

Or via the Claude Code CLI: claude mcp add astrocade -- uvx astrocade-creator-mcp@latest.

Targets prod by default — a creator sets nothing. To point at stage instead, add "env": { "ASTROCADE_CREATOR_MCP_ENV": "stage" } to the entry.

Sign-in

Nothing to configure. The first tool call opens a browser to sign in with Google or Apple, caches the tokens under ~/.astrocade, and silently refreshes them afterward. Login is lazy (not at startup) so the browser flow never blocks the MCP stdio handshake. Username/password Astrocade accounts aren't supported yet.

Optional — sign in ahead of time so the first call has no delay:

uvx astrocade-creator-mcp login

uvx astrocade-creator-mcp logout clears the cached tokens (e.g. to switch accounts). Token cache dir: ~/.astrocade (override with ASTROCADE_TOKEN_CACHE_DIR).

Tools

  • list_my_games — your games (drafts included).
  • pull_game / push_game — check a game out (files + metadata, as JSON), save edits back as a draft. push_game can also update metadata (title, description, thumbnail_url).
  • publish_game — first-time publishing submits the game for review; on an already-published game it pushes the saved draft live. Returns the play URL.
  • upload_asset — upload a local image/audio/3D file to the Astrocade CDN and get its URL. Asset URLs in asset_map.json must come from here — external / data: URLs are rejected on push.
  • check_wish_status — poll an AI "wish" that's in flight (wishes are submitted on astrocade.com; push_game/pull_game surface the request id when one is running).
  • list_lib_apis / get_lib_api — browse the Astrocade lib API reference.

The editing session

The first pull_game is a checkout: write the returned files (game_code.html, game_config.json, asset_map.json, plus persistent_storage_config.json when the game uses persistent storage) to a local folder together with a .astrocade.json session file ({game_id, sync_token, env}). Add .astrocade.json to the folder's .gitignore — it's per-machine session state, not project content. Edit the files with your normal tools, then push_game the changed ones, passing the session's sync_token as expected_version so a concurrent change upstream is usually caught (a stale write surfaces as a conflict to reconcile, rather than silently overwriting the other change). Every successful push returns a new sync token — update .astrocade.json with it.

Note: an MCP client may cap the size of an inline tool argument (roughly tens of KB), so a very large game_code string can be rejected by the client before it reaches the server. When that happens, drive this package's stdio server from a short script instead — read the file off disk and send push_game over the server's stdin (reusing the ~/.astrocade login), so the payload never passes through the client's inline-argument path. config / asset / metadata edits are unaffected.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

astrocade_creator_mcp-0.1.2.tar.gz (77.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

astrocade_creator_mcp-0.1.2-py3-none-any.whl (53.8 kB view details)

Uploaded Python 3

File details

Details for the file astrocade_creator_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: astrocade_creator_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 77.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for astrocade_creator_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 47c4c369eb24c50f7240c394a95d60f531846dc711fb28c5cf15403e1613dc30
MD5 cb3836801e76c8cfc39c644d80b40000
BLAKE2b-256 01bcfa1008a9a79d5e358141ff5302cd5fe36bb27ea2ee337ba9ff0352d5662e

See more details on using hashes here.

Provenance

The following attestation bundles were made for astrocade_creator_mcp-0.1.2.tar.gz:

Publisher: creator-mcp-publish.yml on astroblox-tech/astro-code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file astrocade_creator_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for astrocade_creator_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7fc34192599db53fbb8e162fd647d35bacf756fea9aa0329f2095d8a7d72b39f
MD5 f02e87339559761a8b7c50836366afc5
BLAKE2b-256 04efcf113eb69e64a24c51994f7cdf38b7d4aea19ad829fbb25fdf24e1f794e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for astrocade_creator_mcp-0.1.2-py3-none-any.whl:

Publisher: creator-mcp-publish.yml on astroblox-tech/astro-code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page