MCP Database Server
by cherl
This is a database query server based on the Model Context Protocol (MCP), implemented in TypeScript. It allows AI models to securely query relational databases like MySQL and PostgreSQL.
View on GitHub
Last updated: N/A
MCP 数据库服务器 (TypeScript)
这是一个基于 Model Context Protocol (MCP) 的数据库查询服务器,用 TypeScript 实现。它允许 AI 模型安全地查询关系型数据库,如 MySQL 和 PostgreSQL。
功能特性
- 支持 MySQL 和 PostgreSQL 数据库
- 提供表结构信息作为资源
- 支持只读 SQL 查询执行
- 使用事务确保查询安全性
安装
使用 cnpm 进行安装:
git clone <repository-url>
cd mcp-server-db-ts
cnpm install
配置
- 复制
.env.example
文件为.env
:
cp .env.example .env
- 编辑
.env
文件,设置您的数据库连接信息:
# 数据库连接配置
# 数据库类型: mysql 或 postgres
DB_TYPE=mysql
# MySQL 配置
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASS=your_password
MYSQL_DB=your_database
# PostgreSQL 配置
PG_HOST=127.0.0.1
PG_PORT=5432
PG_USER=postgres
PG_PASS=your_password
PG_DB=your_database
# 服务器配置
SERVER_NAME=mcp-server-db-ts
SERVER_VERSION=1.0.0
构建
cnpm run build
运行
cnpm start
开发模式
cnpm run dev
支持的 MCP 功能
资源
list_resources
: 列出数据库中的所有表read_resource
: 获取指定表的结构信息
工具
db_query
: 执行只读 SQL 查询
使用示例
-
列出所有表:
- MCP 请求:
list_resources
- 响应: 以 URI 形式返回所有表的列表
- MCP 请求:
-
获取表结构:
- MCP 请求:
read_resource
使用特定表的 URI - 响应: 返回表的列信息
- MCP 请求:
-
执行查询:
- MCP 请求:
call_tool
使用db_query
工具和 SQL 查询 - 响应: 返回查询结果
- MCP 请求:
许可证
MIT