get-perms
Fetch permissions for an app by its ID
Read and change an InstantDB app from the editor: schema, permissions, InstaQL queries and transactions.
LABSCO SUMMARY
get-schema and get-perms hand back the current state — and, if you do not have the local files yet, how to produce them — while push-schema and push-perms send the edited versions up. Because query and transact run against the live app, a schema change can be checked with a real query instead of an assurance that it worked.
A wrapper around the Instant Platform SDK. It works against one of your InstantDB apps by id — reading and pushing schema and permissions, and running queries and transactions against the live data.
A personal access token from your Instant dashboard. Instant hosts the server at https://mcp.instantdb.com — /mcp for clients that speak Streamable HTTP, /sse for older ones. To run it yourself instead: npx -y @instantdb/mcp --token <YOUR_TOKEN>, or put the token in INSTANT_ACCESS_TOKEN. Every tool except learn takes an appId.
One command plus a key — npx -y @instantdb/mcp --token <YOUR_TOKEN>, then supply credentials
USE CASES
Read the current schema, edit instant.schema.ts locally, then push the change to the app.
Pull the current permissions, change instant.perms.ts, and push it back.
Run an InstaQL query with a where clause and read the JSON that comes back.
Send update steps in a transaction, then query the same namespace to confirm the result.
Apply link or unlink steps against the namespaces involved.
Have it read the introduction first, then the app's own schema.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
get-permsFetch permissions for an app by its ID
get-schemaFetch schema for an app by its ID!
learnIf you don't have any context provided about InstantDB, use this tool to learn about it!
push-permsPush local permissions changes for an app to the server. Do this after updating your local instant.perms.ts file. If you don't have an instant.perms.ts file yet, use the get-perms tool to learn how to get this file.
push-schemaPush local schema changes for an app to the server. Do this after updating your local 'instant.schema.ts' file. If you don't have an instant.schema.ts file yet, use the get-schema tool to learn how to get this file.
queryExecute an InstaQL query against an app. Returns the query results as JSON.
Example query to fetch all goals and their todos: {"goals": {"todos": {}}}
Example query with a where clause: {"goals": {"$": {"where": {"status": "active"}}, "todos": {}}}
If you're unsure how to write queries, refer to the documentation: https://instantdb.com/docs/instaql
transactExecute a transaction against an app. Useful for creating, updating, or deleting data.
Steps use the internal transaction format:
Example steps to create a todo: [["update", "todos", "a-uuid", {"title": "Get fit", "done": false}]]
If you're unsure how to make transactions, refer to the documentation: https://instantdb.com/docs/instaml
BEFORE YOU INSTALL
7 tools when we connected.
CONTEXT COST
Rated by the size of the 7 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @instantdb/mcp --token <YOUR_TOKEN>https://mcp.instantdb.com/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
claude mcp add instant -s user -t http https://mcp.instantdb.com/mcpThen run claude, open /mcp, select instant and go through the sign-in flow to your Instant account.
{
"mcpServers": {
"instant": {
"url": "https://mcp.instantdb.com/mcp"
}
}
}Add this to ~/.cursor/mcp.json. Cursor sends you through an OAuth sign-in to your Instant account.
codex mcp add instant --url "https://mcp.instantdb.com/mcp"Codex needs the rmcp_client feature first: add [features] with rmcp_client = true to ~/.codex/config.toml. A browser opens to sign in to Instant.
gemini mcp add --transport http instant https://mcp.instantdb.com/mcpA browser opens to sign in to Instant; run /mcp inside gemini to see it listed.
{
"mcpServers": {
"instant": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.instantdb.com/sse"
]
}
}
}Add this to ~/.codeium/windsurf/mcp_config.json (macOS/Linux; on Windows the docs start the same args with "cmd", "/c").
{
"context_servers": {
"instant": {
"command": {
"path": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.instantdb.com/mcp"
],
"env": {}
},
"settings": {}
}
}
}Add this to your Zed settings.
{
"mcpServers": {
"instant": {
"command": "npx",
"args": [
"-y",
"@instantdb/mcp",
"--token",
"<YOUR_TOKEN>"
]
}
}
}This runs the server locally: <YOUR_TOKEN> is a personal access token from your Instant dashboard. Save ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.