Database Query MCP Server
Enables secure read-only querying of multiple database types (MySQL, PostgreSQL, MSSQL, Oracle) through natural language. Automatically reads database configuration from project files and blocks any data modification operations for safety.
README
MCP 数据库查询工具
这是一个用于Coding Agent MCP 服务的数据库查询工具,可以通过提示词,从当前项目配置文件中读取数据库连接信息并连接多种类型的数据库(MySQL、PostgreSQL、MSSQL、Oracle)并执行 SQL 查询。该工具运行在只读模式下,确保不会意外修改数据库中的数据。
功能特点
- 支持连接多种数据库(MySQL、PostgreSQL、MSSQL、Oracle)
- 执行自定义 SQL 查询(只读模式)
- 自动阻止修改数据的操作(INSERT、UPDATE、DELETE等)
- 返回结构化查询结果
- 包含错误处理机制
- 实现为 MCP stdio 服务
安全特性
该工具具有以下安全保护措施:
- 只读模式:自动检测并阻止任何修改数据的SQL操作
- SQL语句检查:只允许SELECT、SHOW、DESCRIBE等只读查询
- 错误处理:对非法操作返回明确的错误信息
安装说明
方式一:从 npm 仓库进行全局安装
您可以从 npm 仓库进行全局安装:
npm install -g coding-db-mcp
安装后,您可以通过以下命令启动服务:
db-query-mcp
方式二:使用 npx 运行(无需安装)
您也可以直接使用 npx 运行此工具,无需预先安装:
npx coding-db-mcp
这种方式会在每次运行时临时下载并执行最新版本的工具。
配置到 Agent 的 MCP 中
要将此服务配置到 Agent 的 MCP 中,请按照以下步骤操作:
1. 配置 Agent 的 MCP 设置
在 Agent 的 MCP 配置中添加此服务。通常需要在 Agent 的配置文件中添加类似以下的配置:
{
"mcpServers": {
"database-query": {
"command": "coding-db-mcp",
"args": [
]
}
}
}
如果使用 npx 方式,配置应为:
{
"mcpServers": {
"database-query": {
"command": "npx",
"args": [
"coding-db-mcp"
]
}
}
}
2. 配置数据库连接信息(可选)
数据库连接信息文件不是必需的,Agent 可以通过提示词从当前项目配置文件中自动读取数据库连接信息。
例如,在 Spring Boot 项目中,Agent 可以直接读取 application-dev.yaml 文件中的数据库连接配置。
如果需要手动配置数据库连接信息,可以创建 .env 文件:
cp .env.example .env
在 .env 文件中设置以下变量:
DB_HOST: 数据库主机地址DB_PORT: 数据库端口DB_USER: 数据库用户名DB_PASSWORD: 数据库密码DB_NAME: 数据库名称
3. 启动 Agent
启动 Agent 并确保 MCP 服务正确加载。Agent 现在应该能够使用以下四个数据库查询工具:
query_mysql: MySQL 数据库查询工具query_postgresql: PostgreSQL 数据库查询工具query_mssql: MSSQL 数据库查询工具query_oracle: Oracle 数据库查询工具
当 Agent 需要查询数据库时,它会自动调用相应的工具并传入必要的参数(主机、端口、用户名、密码、数据库名和SQL查询语句)。
MCP工具说明
当作为MCP服务运行时,该服务提供以下工具:
query_mysql
执行MySQL数据库查询(只读模式)
参数:
host(string): 数据库主机地址port(integer): 数据库端口user(string): 数据库用户名pwd(string): 数据库密码db(string): 数据库名称querySql(string): 要执行的SQL查询语句(仅支持SELECT等只读操作)
query_postgresql
执行PostgreSQL数据库查询(只读模式)
参数:
host(string): 数据库主机地址port(integer): 数据库端口user(string): 数据库用户名pwd(string): 数据库密码db(string): 数据库名称querySql(string): 要执行的SQL查询语句(仅支持SELECT等只读操作)
query_mssql
执行MSSQL数据库查询(只读模式)
参数:
host(string): 数据库主机地址port(integer): 数据库端口user(string): 数据库用户名pwd(string): 数据库密码db(string): 数据库名称querySql(string): 要执行的SQL查询语句(仅支持SELECT等只读操作)
query_oracle
执行Oracle数据库查询(只读模式)
参数:
host(string): 数据库主机地址port(integer): 数据库端口user(string): 数据库用户名pwd(string): 数据库密码db(string): 数据库名称querySql(string): 要执行的SQL查询语句(仅支持SELECT等只读操作)
安全说明
- 该工具运行在只读模式下,自动阻止任何修改数据的SQL操作
- 建议限制数据库用户权限,避免使用具有管理员权限的账户
- 不要在代码中硬编码数据库凭证
- 生产环境中应启用SSL连接
错误处理
工具会返回结构化的错误信息,包括:
success: 布尔值,表示查询是否成功error: 错误消息code: 错误代码
返回格式
成功的查询将返回以下结构:
success: truedata: 查询结果数组columns: 列信息数组rowCount: 返回行数
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。