README.md•2.43 kB
# instantdb-server MCP Server
An MCP server for interacting with InstantDB.
This server provides a read-only interface for querying InstantDB using a dynamically loaded schema and environment configuration. It includes tools to execute queries and retrieve query examples based on pre-defined patterns.
## Features
### Tools
- <code>get_examples</code>  
  Returns pre-defined example queries for various categories (e.g., "basic_read", "filtering", "associations").
- <code>queryDB</code>  
  Executes a specific query against InstantDB. Requires a <code>query</code> and a descriptive <code>name</code> parameter.
- <code>list_queries</code>  
  Retrieves the history of executed queries with details such as query ID, name, timestamp, and structure.
- <code>return_query</code>  
  Retrieves a specific query by its unique ID for later reference or implementation.
### Schema and Environment Integration
- Dynamic loading of the InstantDB schema from common file locations relative to a provided project directory (e.g., <code>instant.schema.ts</code>, <code>src/instant.schema.ts</code>, <code>app/instant.schema.ts</code>).
- Environment variable configuration is loaded from the project’s <code>.env</code> file. Essential variables include:
  - <code>INSTANT_APP_ID</code>
  - <code>INSTANT_APP_ADMIN_TOKEN</code>
### Pending Features
- Dynamic detection of the InstantDB permissions file from common file locations.
## Development
Install dependencies:
```bash
npm install
```
Build the server:
```bash
npm run build
```
For development with auto-rebuild:
```bash
npm run watch
```
## Installation
To use the server with Claude Desktop, add the following configuration to your Claude Desktop settings:
On macOS:
<code>~/Library/Application Support/Claude/claude_desktop_config.json</code>  
On Windows:
<code>%APPDATA%/Claude/claude_desktop_config.json</code>
Example configuration:
```json
{
  "mcpServers": {
    "instantdb-server": {
      "command": "node",
      "args": ["/path/to/instantdb-server/build/index.js"],
      "env": {
        "INSTANT_APP_ID": "your_app_id",
        "INSTANT_APP_ADMIN_TOKEN": "your_admin_token"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
```
## Debugging
For debugging MCP server communications, use the MCP Inspector:
```bash
npm run inspector
```
The Inspector will provide a URL to access tools for monitoring MCP server operations.