SQL本地MCP服务器

一个用于在MySQL和PostgreSQL数据库上执行SQL查询的模型上下文协议(MCP)服务器,允许Claude和其他MCP兼容的AI助手连接并交互本地数据库。

  • by acoalex
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 acoalex/sql-local-mcp

使用说明

SQL 本地 MCP 服务器

一个用于在MySQL和PostgreSQL数据库上执行SQL查询的模型上下文协议(MCP)服务器。这使得Claude以及其他兼容MCP的AI助手能够连接到您的本地数据库并与之交互。

特点/特性

  • 动态数据库连接连接到任何MySQL或PostgreSQL数据库
  • 只读安全只允许使用 SELECT、SHOW、DESCRIBE 和 EXPLAIN 查询
  • 多重声明保护防止SQL注入
  • 数据库探索列出表格并描述表格结构
  • 没有配置文件数据库凭据在运行时提供

安装

  1. 克隆仓库
  2. 创建并激活虚拟环境
  3. 安装依赖项:
    pip install -r requirements.txt
    

用法

启动服务器

./start_server.sh

或者:

python3 mcp_server.py

可用工具

  1. 连接数据库连接到MySQL或PostgreSQL数据库
  2. 执行查询执行只读SQL查询
  3. **列出表(或表列表)**列出数据库中的所有表
  4. 描述表格获取表的结构

示例:连接到数据库

要进行连接,请提供以下详细信息:

  • db_type: mysql 或者 postgresql
  • host: 127.0.0.1
  • port(例如,MySQL 使用 3306,PostgreSQL 使用 5432)
  • user您的用户名(或:用户账号)
  • password你的密码
  • database你的数据库
  • connection_name连接的唯一名称

安全

  • 只读仅 SELECT, SHOW, DESCRIBE, EXPLAIN 被允许。
  • 破坏性命令已被阻止: UPDATE, DELETE, INSERT等。
  • 多语句查询被阻止。
  • 支持参数化查询。

测试

  • 基本测试: python3 test_mcp.py
  • 安全测试: python3 test_readonly.py