数据库MCP服务器

一个轻量级的Model Context Protocol (MCP)实现,用于通过结构化工具接口使AI模型与SQL数据库交互,提供安全高效的数据库访问。

  • by devsenweb
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 devsenweb/mcp-server-for-db

使用说明

🗃️ MCP数据库服务器

轻量级的实现 模型上下文协议(MCP) 用于数据库操作。该服务器使AI模型能够通过结构化的、基于工具的界面与SQL数据库交互,提供安全高效的数据库访问。


📚 目录


🚀 关键能力

🛠️ MCP工具集成

  • 将数据库操作作为人工智能模型交互的MCP工具公开
  • 支持数据库探索的自然语言提示
  • 提供架构感知查询构建帮助

💾 数据库支持

  • 适用于任何SQLAlchemy兼容的数据库(SQLite、PostgreSQL、MySQL等)
  • 自动模式检查和反射
  • 多对账单操作的交易支持

📡 MCP功能

  • 本地MCP工具、资源和提示
  • 支持多种传输协议(http、WebSocket、stdio)
  • 结构化错误处理和验证

🔧 入门指南

✅ 先决条件

  • Python 3.8+
  • SQLite或任何其他SQLAlchemy支持的数据库

⚙️ 安装

git clone https://github.com/devsenweb/mcp-server-for-db.git
cd mcp-server-for-db
python -m venv .venv
source .venv/bin/activate  # macOS/Linux
# OR
.venv\Scripts\activate  # Windows
pip install -r requirements.txt

🛠️ 配置

编辑 config.yaml:

db:
  uri: sqlite:///./example.db  # Supports any SQLAlchemy URI

(可选)创建示例数据库:

python create_database.py

▶️ 启动MCP服务器

python -m mcp_server.server --transport http --port 8080
# or
python -m mcp_server.server --transport ws --port 8080
# or
python -m mcp_server.server --transport stdio

🧠 MCP接口

📌 工具定义

execute_query

{
  "jsonrpc": "2.0",
  "method": "tools/execute_query",
  "params": {
    "sql": "SELECT * FROM users WHERE age > 25"
  },
  "id": 1
}

validate_sql

{
  "jsonrpc": "2.0",
  "method": "tools/validate_sql",
  "params": {
    "sql": "SELECT * FROM users"
  },
  "id": 2
}

📁 资源端点

db://schema

{
  "jsonrpc": "2.0",
  "method": "resources/get",
  "params": {
    "uri": "db://schema"
  },
  "id": 3
}

db://tables

{
  "jsonrpc": "2.0",
  "method": "resources/get",
  "params": {
    "uri": "db://tables"
  },
  "id": 4
}

🛠️ IDE和工具集成

(游标IDE).游标/mcp.json

{
  "mcpServers": {
    "database-query": {
      "url": "http://localhost:8000/mcp",
      "transport": "http"
    }
  }
}

MCP检查员

npm install -g @modelcontextprotocol/inspector
mcp-inspector --transport http --url http://localhost:8000/mcp
# Visit http://localhost:3000

⚙️ 发展

pip install -r requirements-dev.txt
pytest tests/

📁 项目结构

mcp-server-for-db/
├── mcp_server/
│   ├── __init__.py
│   ├── server.py
│   └── db_adapter.py
├── config.yaml
├── create_database.py
└── requirements.txt

🤝 贡献

欢迎投稿!请随时提交Pull Request。


📄 许可证

根据MIT许可证获得许可。看 许可证 了解详情。


⚙️ MCP服务器配置参考

python -m mcp_server.server   --host 0.0.0.0   --port 8000   --transport http   --config ./config.yaml

🙏 致谢

  • 由...驱动 SQL炼金术
  • 基于模型上下文协议(MCP)标准

⚠️ 免责声明

这个项目是 演示实现 用于数据库交互的MCP兼容服务器。确实如此 不包括SQL安全机制,输入净化、身份验证或权限控制。

⚠️ 使用风险自负。 此服务器执行原始SQL,仅用于实验、原型设计和本地开发。

用户有责任实施适当的 护栏, 验证,以及 安全措施 在任何生产或敏感环境中使用之前。