@getrocket/dev mcp
用于Rocket开发工具的整合MCP服务器。提供从任何MCP客户端对PostgreSQL、ClickHouse、GraphQL和BigQuery的只读访问。
安装
npx @getrocket/dev-mcp@latestMCP客户端配置
{
"dev-mcp": {
"command": "npx",
"args": ["@getrocket/dev-mcp@latest"],
"env": {
"POSTGRES_CONNECTION_STRING": "...",
"CLICKHOUSE_URL": "...",
"GRAPHQL_ENDPOINT": "...",
"GRAPHQL_HEADERS": "{\"x-hasura-admin-secret\": \"...\"}",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service-account.json"
}
}
}只包含您需要的后端的env变量。必须至少配置一个后端,否则服务器将拒绝启动。
环境变量
| Env-var | 工具已启用 | 必需 |
|---|---|---|
POSTGRES_CONNECTION_STRING | sql_query | 对于Postgres |
CLICKHOUSE_URL | clickhouse_query | 对于ClickHouse |
GRAPHQL_ENDPOINT | graphql_query | 对于GraphQL |
GRAPHQL_HEADERS | -- | 自定义标头的可选JSON对象 |
GOOGLE_APPLICATION_CREDENTIALS | bigquery_query | 对于BigQuery(文件路径或JSON字符串) |
MCP_SERVER_ENV | -- | 可选(默认值: dev) |
工具
sql_query
对PostgreSQL执行只读SQL。
| 参数 | 类型 | 描述 | |
|---|---|---|---|
sql | string | 要执行的SQL查询 | |
timeoutMs | 号码? | 超时(毫秒)(1000–300000,默认30000) | |
responseFormat | "table" | "json"? | 输出格式(默认: table) |
clickhouse_query
执行只读ClickHouse查询。
| 参数 | 类型 | 描述 | ||
|---|---|---|---|---|
query | string | ClickHouse SQL查询 | ||
format | "JSON" | "JSONEachRow" | "JSONCompact"? | ClickHouse输出格式(默认: JSON) |
timeoutMs | 号码? | 超时(毫秒)(1000–300000,默认30000) | ||
responseFormat | "table" | "json"? | 输出格式(默认: table) |
graphql_query
对配置的端点执行GraphQL查询。
| 参数 | 类型 | 描述 |
|---|---|---|
query | string | GraphQL查询或变异 |
operationName | 弦? | 操作名称 |
variables | 对象? | 查询变量 |
headers | 对象? | 每个请求标头(覆盖 GRAPHQL_HEADERS 默认值) |
timeoutMs | 号码? | 超时(毫秒)(1000–300000,默认30000) |
bigquery_query
对Google BigQuery执行只读SQL。需要只读服务帐户--如果检测到写入权限,服务器将拒绝启动。
| 参数 | 类型 | 描述 | |
|---|---|---|---|
query | string | BigQuery SQL查询 | |
timeoutMs | 号码? | 超时(毫秒)(1000–300000,默认30000) | |
responseFormat | "table" | "json"? | 输出格式(默认: table) |
响应格式
结果以单个内容块的形式返回,其中包含元数据标头和markdown表。如果序列化结果超过50KB,则将完整结果写入临时文件($TMPDIR/dev-mcp-results/)并且该响应包括用于按需读取的文件路径。超过1小时的临时文件会自动清理。
发展
yarn install
yarn build
yarn dev # run with tsx出版
当推送版本标记时,通过GitHub Actions自动发布:
# bump version in package.json, then:
git tag v0.2.0
git push origin v0.2.0