MCP SQL 服务器
通过对话式 AI 界面提供 SQL 数据库交互工具的 FastMCP 服务器。
概述
该项目创建了一个服务器,通过对话式 AI 界面公开 MS SQL Server 操作。它使用 FastMCP 框架提供查询和操作 SQL 数据的工具,允许用户使用自然语言与数据库交互。
Related MCP server: SQL Query MCP Server
特征
执行 SQL 查询并查看结果
列出数据库中可用的表
用列信息描述表结构
执行非查询操作(INSERT、UPDATE、DELETE)
列出系统上可用的 ODBC 驱动程序
查看数据库信息和服务器详细信息
要求
Python 3.7+
pyodbc
异步
FastMCP 框架
微软 SQL 服务器
适用于 SQL Server 的 ODBC 驱动程序 17
安装
安装 Python 依赖项:
确保您已安装 Microsoft SQL Server 和 SQL Server 的 ODBC 驱动程序 17。
在脚本中配置连接设置:
用法
运行服务器:
服务器将初始化并建立与指定 SQL Server 数据库的连接。
可用工具
查询语句
执行 SQL 查询并返回结果。
如果没有提供查询,则默认为
SELECT * FROM [dbo].[Table_1]以格式化字符串形式返回查询结果
列表表
列出数据库中所有可用的表。
以字符串形式返回表名称列表
描述表
获取特定表的结构。
table_name:要描述的表的名称返回列信息,包括名称和数据类型
执行非查询
执行 INSERT、UPDATE、DELETE 或其他非查询 SQL 语句。
sql:要执行的 SQL 语句返回操作结果,包括受影响的行数
自动处理事务(提交/回滚)
列表_odbc_驱动程序
列出系统上所有可用的 ODBC 驱动程序。
返回已安装的 ODBC 驱动程序的逗号分隔列表
数据库信息
获取有关所连接数据库的一般信息。
返回服务器名称、数据库名称、SQL Server 版本、当前服务器时间和表数
建筑学
服务器采用异步架构来避免阻塞操作:
生命周期管理:
app_lifespan上下文管理器处理数据库连接的设置和拆除。非阻塞操作:数据库操作使用
asyncio.get_event_loop().run_in_executor()在单独的线程中运行,以防止阻塞主事件循环。错误处理:所有操作都包括全面的错误处理和有用的错误消息。
错误处理
服务器处理各种错误情况:
数据库连接失败
SQL 查询语法错误
未找到表错误
权限相关问题
所有错误都会被记录下来,并且相应的错误消息会返回给客户端。
定制
要添加新的数据库工具或修改现有的数据库工具,请遵循现有工具中使用的模式:
安全注意事项
服务器使用 Windows 身份验证(“Trusted_Connection=yes”)
考虑对 SQL 查询实施输入验证以防止 SQL 注入
根据最小特权原则限制数据库用户权限
故障排除
常见问题:
连接错误:验证 SQL Server 实例名称并确保其正在运行
ODBC 驱动程序错误:确认已安装 SQL Server 的 ODBC 驱动程序 17
权限错误:检查运行应用程序的 Windows 用户是否具有适当的 SQL Server 权限
执照
[您的许可证信息]
接触
[您的联系方式]