mcpField
M
MSSQL MCP Server

MSSQL MCP Server

本地服务
github.com/ConnorDaytonaHolmes数据库074 周前更新

关于 MSSQL MCP Server

MSSQL MCP Server 通过 MCP 提供对 Microsoft SQL Server 数据库的只读访问。它支持浏览架构和索引,并验证查询,禁止更改数据的语句。

主要功能

  1. 01只读 SQL 操作
  2. 02浏览架构、表、列和索引
  3. 03验证查询并防范注入
  4. 04管理数据库连接

适用场景

  1. 01查询前检查数据库结构
  2. 02通过 MCP 客户端执行只读 SQL 查询
  3. 03列出可访问的数据库和表

MCP 相关

向 MCP 客户端提供数据库架构资源及数据库、表列表等工具。查询仅允许 SELECT、DECLARE 和用于局部变量的 SET 语句。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MSSQL MCP 服务

一个用于只读访问 Microsoft SQL Server 的模型上下文协议(MCP)服务。此服务通过 MCP 协议为 MSSQL 数据库提供安全的只读访问。

功能

  • 只读操作:仅允许 SELECT、DECLARE 和 SET(用于局部变量)查询
  • 架构探索:浏览数据库、表、列和索引
  • 安全查询:防范 SQL 注入并验证查询
  • 连接管理:安全处理连接并妥善清理

安装

  1. 克隆此仓库:
git clone <repository-url>
cd mssql-mcp
  1. 安装依赖:
pip install -e .
  1. 设置环境变量:
cp .env.example .env
# Edit .env with your database connection details

**重要提示:**服务会自动从当前目录下的 .env 文件加载环境变量。请确保创建此文件并填写数据库连接详情。

配置

创建一个 .env 文件并填写 MSSQL 连接详情:

MSSQL_SERVER=localhost
MSSQL_DATABASE=your_database
MSSQL_USERNAME=your_username
MSSQL_PASSWORD=your_password
MSSQL_PORT=1433
MSSQL_TIMEOUT=30
MSSQL_CHARSET=UTF-8
MSSQL_AUTOCOMMIT=true

使用

开发模式
mcp dev src/mssql_mcp/server.py
Claude Desktop 集成
mcp install src/mssql_mcp/server.py --name "MSSQL Server"
直接执行
python -m mssql_mcp.server

可用资源

  • db://schemas - 列出当前数据库中的所有架构
  • db://tables/{database} - 列出当前数据库中的所有表
  • db://schema_tables/{schema_name} - 列出指定架构中的表
  • db://columns/{schema_name}/{table_name} - 获取表的列信息
  • db://indexes/{database}/{schema_name}/{table_name} - 获取表的索引信息

可用工具

  • list_databases - 列出所有可访问的数据库
  • list_tables - 列出当前数据库中的表

安全性

此服务实施了多项安全措施:

  • 仅允许 SELECT、DECLARE 和 SET(用于局部变量)语句
  • SQL 解析与验证
  • 尽可能使用参数化查询
  • 保护连接字符串安全
  • 禁止 DDL 或 DML 操作

要求

  • Python 3.9+
  • 可访问 Microsoft SQL Server 实例
  • pymssql 库(随依赖项自动安装)

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。