关于 fastmcp-sqltools
fastmcp-sqltools 是一个用于访问 PostgreSQL、MySQL 和 SQLite 数据库的 FastMCP 服务。它支持查看表与架构、执行查询,并提供带安全检查的只读查询选项。
主要功能
- 01列出数据库表
- 02查看表架构
- 03执行 SQL 查询
- 04运行带安全检查的只读 SELECT 查询
- 05支持 PostgreSQL、MySQL 和 SQLite
适用场景
- 01检查可用的数据表及其架构
- 02通过 MCP 客户端执行数据库查询
- 03执行受安全检查保护的只读 SELECT 查询
- 04访问 PostgreSQL、MySQL 或 SQLite 数据库
MCP 相关
该服务向 MCP 客户端提供数据库表、架构和查询操作工具。它根据 DATABASE_URL 环境变量检测数据库类型。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| schema | any | 否 | 数据库架构名称(默认:None,使用数据库的默认架构) |
详细介绍
FastMCP SQL Tools
mcp-name: io.github.atarkowska/fastmcp-sqltools
一个使用 FastMCP 构建的模型上下文协议(MCP)服务,提供 SQL 数据库访问能力,支持 PostgreSQL、MySQL 和 SQLite。
功能
- list_tables:列出数据库中的所有表
- get_table_schema:获取表的详细架构信息,包括列、类型、约束和索引
- execute_query:执行任意 SQL 查询(INSERT、UPDATE、DELETE、DDL 等)
- execute_safe_query:执行带有额外安全检查的只读 SELECT 查询
支持的数据库
- PostgreSQL:通过 asyncpg 提供完整支持
- MySQL:通过 aiomysql 提供完整支持
- SQLite:通过 aiosqlite 提供完整支持
服务会根据 DATABASE_URL 环境变量自动检测数据库类型。
配置
将以下内容添加到你的 claude_desktop_config.json 中:
{
"mcpServers": {
"sql-mcp-tools": {
"command": "uvx",
"args": [
"fastmcp-sqltools"
],
"env": {
"DATABASE_URL": "<your-database-url>"
}
}
}
}
数据库 URL 格式
DATABASE_URL 应采用以下格式之一:
- PostgreSQL:
postgresql://user:password@host:port/database或postgres://user:password@host:port/database - MySQL:
mysql://user:password@host:port/database - SQLite:
sqlite:///path/to/database.db(绝对路径使用三个斜杠)
许可证
本项目采用 GNU Affero 通用公共许可证 v3.0(AGPL-3.0)授权。 详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。