Skip to main content

GameMaker CLI + MCP server toolset

Project description

GameMaker MCP Tools

This repo provides:

  • gms: a Python CLI for GameMaker project operations (asset creation, maintenance, runner, etc).
  • gms-mcp: an MCP server that exposes the same operations as MCP tools (Cursor is the primary example client).
  • gms-mcp-init: generates shareable MCP config files for a workspace.

Install (recommended: pipx)

pipx install gms-mcp

Local Development Setup

If you are working on the gms-mcp codebase itself, follow these steps to set up a local development environment:

  1. Clone and install in editable mode:

    git checkout dev
    pip install -e .
    
  2. Initialize local and global MCP servers for testing: We recommend setting up two separate MCP server configurations in Cursor to test your changes:

    • Global (gms-global): For general use across all your GameMaker projects.
    • Local (gms-local): Specifically for testing your current changes to the server.

    Run these commands from the project root:

    # Global setup (names it 'gms-global' in Cursor)
    gms-mcp-init --cursor-global --server-name gms-global --mode python-module --python python --non-interactive
    
    # Local setup (names it 'gms-local' in Cursor)
    gms-mcp-init --cursor --server-name gms-local --mode python-module --python python --non-interactive
    
  3. Verify in Cursor: Go to Cursor Settings > Features > MCP to see your new servers. You may need to click "Reload" or restart Cursor to see changes.

Publishing (maintainers)

Publishing is automated via GitHub Actions (PyPI Trusted Publishing) on every push to main and on tags v*. See RELEASING.md for the one-time PyPI setup and the first manual upload helper scripts.

Use with a GameMaker project (multi-project friendly)

Run this inside each GameMaker project workspace (or repo) to generate config:

gms-mcp-init --cursor

This writes .cursor/mcp.json and attempts to auto-detect the .yyp location to set GM_PROJECT_ROOT.

For a one-time setup that works across many projects, write Cursor's global config instead:

gms-mcp-init --cursor-global

Generate example configs for other MCP-capable clients:

gms-mcp-init --vscode --windsurf --antigravity

Or generate everything at once:

gms-mcp-init --all

Monorepos / multiple .yyp

If multiple .yyp projects are detected in a workspace:

  • gms-mcp-init will warn and (when interactive) prompt you to pick one.
  • In non-interactive environments, it defaults GM_PROJECT_ROOT to ${workspaceFolder} (safe).

Force a specific project root:

gms-mcp-init --cursor --gm-project-root path\\to\\project

Preview output without writing files:

gms-mcp-init --cursor --dry-run

CLI usage

Run from a project directory (or pass --project-root):

gms --version
gms --project-root . asset create script my_function --parent-path "folders/Scripts.yy"

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

gms_mcp-0.1.9.dev2900.tar.gz (225.3 kB view details)

Uploaded Source

Built Distribution

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

gms_mcp-0.1.9.dev2900-py3-none-any.whl (142.3 kB view details)

Uploaded Python 3

File details

Details for the file gms_mcp-0.1.9.dev2900.tar.gz.

File metadata

  • Download URL: gms_mcp-0.1.9.dev2900.tar.gz
  • Upload date:
  • Size: 225.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gms_mcp-0.1.9.dev2900.tar.gz
Algorithm Hash digest
SHA256 4f751f2be7295d47cc63be0ab374d8c5c954a28f7c3b5ef95910df9ab775f286
MD5 28db2b57430b3e8183b20e8b7c6d67af
BLAKE2b-256 b5b0a65a22928628df787ce93d5535330c61ebb9f717749eefde92d77238056f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gms_mcp-0.1.9.dev2900.tar.gz:

Publisher: publish.yml on Ampersand-Game-Studios/gms-mcp

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

File details

Details for the file gms_mcp-0.1.9.dev2900-py3-none-any.whl.

File metadata

File hashes

Hashes for gms_mcp-0.1.9.dev2900-py3-none-any.whl
Algorithm Hash digest
SHA256 6455e65961ae2c9f289a2e6bb25e619ad62d7971d2a03c7991824c1aa8a2ea63
MD5 060eb046a8ed106003b700a0e3f5a63d
BLAKE2b-256 f4a29e6cd4fa83c3f6d7477ef2b495eb82cff08858a0875a57384fa356d83721

See more details on using hashes here.

Provenance

The following attestation bundles were made for gms_mcp-0.1.9.dev2900-py3-none-any.whl:

Publisher: publish.yml on Ampersand-Game-Studios/gms-mcp

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