Summary
将PostgreSQL、MySQL、MariaDB、MSSQL、Oracle、SQLite和MongoDB数据库直接连接到MCP。让AI代理使用自然语言查询数据。
AI代理的直接数据库访问
AnythingMCP直接连接到你的数据库,并将其作为MCP工具公开,而不是在你的数据库上构建REST API。AI代理可以使用自然语言查询数据。
支持的数据库
| 数据库 | 状态 | 访问模式 |
|---|---|---|
| PostgreSQL | 支持 | 只读 |
| MySQL | 支持 | 只读 |
| MariaDB | 支持 | 只读 |
| Microsoft SQL Server | 支持 | 只读 |
| Oracle | 支持 | 只读 |
| SQLite | 支持 | 只读 |
| MongoDB | 支持 | 只读 |
重要提示: AnythingMCP中的所有数据库连接器设计为只读。这确保AI代理无法意外修改或删除数据。
自动生成的工具
当你创建数据库连接器时,AnythingMCP会自动生成三个工具:
| 工具 | 描述 |
|---|---|
get_database_schema | 返回数据库架构(表、列、类型) |
get_example_queries | 根据架构建议示例查询 |
execute_query | 执行只读查询(仅SELECT/查找,最多1000行) |
分步指南
第一步:部署AnythingMCP
git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp && docker compose up -d
第二步:创建数据库连接器
打开AnythingMCP仪表板,访问http://localhost:3000并创建一个新的数据库连接器。选择你的数据库类型(PostgreSQL、MySQL、MariaDB、MSSQL、Oracle、SQLite或MongoDB),并提供连接详细信息。
第三步:配置连接
输入你的数据库主机、端口、凭据和数据库名称。对于SQL数据库(PostgreSQL、MySQL、MariaDB、MSSQL、Oracle、SQLite),连接器将仅使用SQL SELECT查询。对于MongoDB,仅允许find操作。
第四步:测试连接
使用仪表板验证连接并查看自动发现的架构。get_database_schema工具将显示所有可用的表和列。
第五步:连接到AI代理
{
"mcpServers": {
"my-database": {
"url": "http://localhost:4000/mcp"
}
}
}
查询限制
- SQL数据库(PostgreSQL、MySQL、MariaDB、MSSQL、Oracle、SQLite):仅允许
SELECT语句 - MongoDB:仅允许
find操作 - 行限制:每个查询最多1000行
- 无写操作:INSERT、UPDATE、DELETE、DROP被阻止
AI代理用例
- “给我显示上个月所有总额超过$500的订单”
- “按收入排名前10的产品是什么?”
- “本周注册的新用户有多少?”
- “列出所有来自德国的客户”
安全最佳实践
- 使用只读数据库用户 — 创建一个仅具有SELECT权限的专用用户
- 限制可访问的表 — 仅公开对AI访问安全的表
- SSL连接 — 在生产环境中始终使用加密连接
- 网络限制 — 限制数据库访问仅限于AnythingMCP服务器IP
后续步骤
- PostgreSQL到MCP指南 — PostgreSQL特定设置
- MySQL到MCP指南 — MySQL特定设置
- MariaDB到MCP指南 — MariaDB特定设置
- Oracle到MCP指南 — Oracle特定设置
- SQLite到MCP指南 — SQLite特定设置
- MongoDB到MCP指南 — MongoDB特定设置
- REST到MCP指南 — 对于需要写访问的数据库,公开REST API
这份指南对你有帮助吗?