数据库查询服务

提供对PostgreSQL、ClickHouse、GraphQL和BigQuery的只读访问,适用于多数据库查询的开发工具。

  • by getrocket
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 getrocket/dev-mcp

使用说明

@getrocket/dev mcp

用于Rocket开发工具的整合MCP服务器。提供从任何MCP客户端对PostgreSQL、ClickHouse、GraphQL和BigQuery的只读访问。

安装

npx @getrocket/dev-mcp@latest

MCP客户端配置

{
    "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"?

clickhouse_query

执行只读ClickHouse查询。

参数 类型 描述
query string ClickHouse SQL查询
format "JSON" "JSONEachRow"
timeoutMs 号码? 超时(毫秒)(1000–300000,默认30000)
responseFormat "table" "json"?

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"?

响应格式

结果以单个内容块的形式返回,其中包含元数据标头和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