Use koigrid from ChatGPT, Claude or any MCP client

koigrid has a remote MCP server. Connect it once and your assistant can deploy apps, create databases, read logs and check your spend — acting as you, with only the permissions you approve.

Server URL

Add this URL as a custom connector (remote MCP server) in your assistant:

https://koigrid.com/mcp

Connect

The first time, your assistant opens a koigrid window: sign in (or create an account) and approve what it may do and in which organization. No API key to copy. Your assistant gets a short-lived token, refreshed automatically.

Try it

Once connected, ask your assistant in plain words. For example:

  • “What do I have running on koigrid?”

    list_resources — your apps with status and URL, your databases and caches.

  • “Deploy https://github.com/me/my-app as a new app called my-app and tell me when it is live.”

    deploy_app, then get_app_status until the deploy is live or failed.

  • “My last deploy failed. Why?”

    get_app_status for the error, then get_app_logs with the build log.

  • “Create a Postgres database called my-db and connect it to my-app.”

    create_database, get_database_connection, then set_env_vars with a reference — the password never goes through the chat.

  • “How much have I spent this month? Cap it at $20 and warn me at 80%.”

    get_spend, then set_spend_limit (your assistant asks you to confirm).

Or use an API key

Clients that support a fixed header (Claude Code, Cursor and others) can send a koigrid API token instead of signing in:

claude mcp add --transport http koigrid https://koigrid.com/mcp --header "Authorization: Bearer koi_YOUR_KEY"

What it can do

A small set of task-shaped tools, each requiring its own permission. Read-only tools are marked so your assistant can run them without asking.

  • list_resourcesread-onlyapps:read

    Lists the apps (with status and public URL), databases and caches in the user's koigrid organization. Start here to find the id of an app or database before acting on it.

  • deploy_appapps:write · apps:deploy

    Deploys an app to koigrid. Pass appId to redeploy an existing app; or pass name plus a public Git repo URL (built automatically, Dockerfile or auto-detected) or a container image to create and deploy a new one. Pass env to deploy with its environment variables in the same deploy. Returns at once with the deployment id: the build runs in the background, so poll get_app_status until it is live or failed.

  • get_app_statusread-onlyapps:read

    Shows an app's status, public URL and its latest deployments with their state and error. Use it to follow a deploy, and when something fails read the error here first.

  • get_app_logsread-onlyapps:read

    Returns an app's logs: type "build" for the last deployment's build log (why a deploy failed), or "runtime" for what the running app prints (why it errors in production).

  • set_env_varsasks firstapps:write

    Sets environment variables on an app and redeploys it. Values are stored encrypted. To wire a koigrid database without pasting its password, use a reference such as ${{db.<database-name>.DATABASE_URL}}.

  • rollback_appasks firstapps:deploy

    Puts a previous deployment of an app live again, without rebuilding. Pass the deploymentId from get_app_status; without it, rolls back to the previous live deployment.

  • create_databasedatabases:write

    Creates a managed Postgres database. Provisioning takes a few minutes: call get_database_connection afterwards to get the connection string once it is ready.

  • get_database_connectionread-onlydatabases:read

    Returns the connection details of a database (host, port, user, database) and the reference to wire it into an app with set_env_vars. The password is never returned: the reference is resolved by koigrid at deploy time.

  • get_migration_statusread-onlydatabases:read

    For a database receiving a live migration (logical replication from an external Postgres): each subscription with its initial-copy progress (tables done of total), replication lag and a cutover verdict saying whether the app can be switched to koigrid yet, plus the remaining cutover steps. Never call the cutover done from lag alone: a subscription still copying tables can show zero lag.

  • get_spendread-onlyusage:read · spend:read

    Shows what the organization has used and spent this month against its plan, and its spend limit if any.

  • set_spend_limitasks firstspend:write

    Sets a monthly spend limit for the organization, with optional alert thresholds and a hard stop that blocks creating new paid resources when it is reached.

Security

Each connection appears in Settings → API tokens as a connected app. Revoking it disconnects it immediately, including its refresh token. Every action is in your audit log, and a connection limited to a project cannot touch resources of another project. Secrets never go through the chat: the assistant gets your database's host and user but not its password, and wires it into an app with a reference that koigrid resolves when it deploys.

Support

Questions or problems with the connector: [email protected] · Privacy policy · Terms