数据库MCP服务器

一个轻量级、跨平台的MCP服务器,使AI助手能够安全地查询和分析数据库。

  • by iva198
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 iva198/database-mcp

使用说明

数据库MCP服务器

用.NET编写的轻量级跨平台MCP(模型上下文协议)服务器 去 这使得AI助手能够安全地查询和分析数据库。

特性

  • 多数据库支持:PostgreSQL(带PostGIS)和ClickHouse
  • 安全第一:默认情况下为只读,安全策略可配置
  • MCP协议:用于AI助手的标准JSON-RPC 2.0接口
  • 生产就绪:可观察性、指标和审计日志
  • 开发者友好:使用Docker Compose轻松设置

快速开始

先决条件

  • 转到1.21或更高版本
  • Docker和Docker Compose(用于本地开发)

开发设置

# Clone the repository
git clone <repository-url>
cd database-mcp

# Build the binary
make build

# Run with Docker Compose (includes PostgreSQL + ClickHouse)
make dev

# Run tests
make test

用法

# Start the MCP server (stdio mode)
./bin/database-mcp

# Or with environment configuration
DB_PRIMARY_URL="postgres://user:pass@localhost/db" \
DB_ANALYTICS_URL="clickhouse://localhost:9000/default" \
./bin/database-mcp

建筑

AI Assistant (Claude, GPT, etc.) ←→ MCP Server ←→ Database

MCP服务器为AI助手提供以下工具:

  • list_schemas -列出所有可用的数据库架构
  • list_tables -使用元数据列出架构中的表
  • describe_table -获取详细的表结构和约束
  • run_sql -执行带有安全检查的SQL查询
  • explain_sql -获取查询执行计划

配置

环境变量 描述 默认值
DB_PRIMARY_URL PostgreSQL连接字符串 必填
DB_ANALYTICS_URL ClickHouse连接字符串 可选
MCP_MODE 传输模式(stdio/http) stdio
READ_ONLY 启用只读模式 true
MAX_ROWS 每个查询的最大行数 10000
QUERY_TIMEOUT_MS 查询超时(毫秒) 30000

发展

看 PRD.md 了解详细的项目路线图和实施阶段。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。