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.