Token导航 LogoToken导航

MCP Server · 数据服务

Mssql Agent MCP

一个提供与Microsoft SQL Server数据库交互和管理SQL Server Agent Jobs工具的MCP服务器,支持将存储过程和Agent Jobs作为代码进行版本控制。

stdio官方级别未说明来源级核验工具 22
数据分析版本控制PythonClaudeClaude Desktop

快速开始

作者 / 组织
yyinhsu
提供方
yyinhsu

工具数量

22

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Mssql Agent MCP 属于数据服务类 MCP Server,公开资料标注 22 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mssql-agent-mcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 22 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MSSQL代理MCP

一种模型上下文协议(MCP)服务器,提供与Microsoft SQL server数据库交互和管理SQL server代理作业的工具。 除了基本的数据库查询功能外,此服务器还支持将存储过程和SQL server代理作业作为代码进行管理。用户可以轻松地导出、编辑和更新这些对象,并将其集成到版本控制系统中。

特性

此MCP服务器提供以下工具:

数据库工具

工具说明
query执行SELECT查询并返回结果
execute执行INSERT、UPDATE、DELETE、CREATE语句
list_tables列出数据库中的所有表
describe_table获取包含列、类型和约束的表架构
list_databases列出服务器上的所有数据库
get_table_sample从表中获取示例行
get_table_indexes获取表上定义的索引
get_foreign_keys获取外键关系

存储过程工具

工具说明
list_procedures列出当前数据库中的所有存储过程(可选地包括定义)
list_all_procedures列出服务器上所有数据库中的所有存储过程
get_procedure_details获取有关程序的详细信息,包括其完整定义
get_procedure_parameters获取特定存储过程的参数
export_procedures_to_files将过程导出到具有目录结构的SQL文件: {db}/{schema}/{procedure}.sql
update_procedure_from_file从已编辑的SQL文件更新存储过程

SQL Server代理作业工具

工具说明
list_agent_jobs列出所有SQL Server代理作业及其状态和类别
get_job_steps获取特定作业的所有步骤,包括命令和流程控制
get_job_details获取作业的详细设置和上次运行信息
get_job_schedules获取作业的计划配置
get_job_history获取作业的执行历史记录
export_enabled_jobs_to_files将所有已启用的作业和步骤导出到SQL文件
update_job_step_from_file从已编辑的SQL文件更新现有作业步骤
create_job_step_from_file从SQL文件创建新作业步骤(自动重命名命名错误的文件)

🌟 是什么让这与众不同?

虽然有几个MSSQL MCP服务器可用,但这个服务器提供 独特能力 在其他人中找不到:

功能描述为什么重要
SQL Server代理作业管理代理作业、步骤和计划的完整CRUD操作大多数MCP服务器只处理数据库查询-此服务器允许您管理整个自动化基础架构
作业即代码工作流将已启用的作业导出到文件、在本地编辑、推回更改为您的SQL代理作业启用Git版本控制-跟踪更改、查看PR、轻松回滚
存储过程作为代码导出/导入保留元数据的存储过程使用适当的目录结构管理应用程序代码等过程
智能文件命名自动将文件重命名为 {step_id}_{step_name}.sql format在创建新作业步骤时防止冲突并保持一致性
语法验证用途 SET PARSEONLY 在应用更改之前在SQL错误破坏生产作业之前将其捕获
元数据标头在文件注释中保留作业/过程元数据永远不会丢失创建或修改内容的上下文
使用FastMCP构建基于装饰器的现代工具定义更简洁的代码、自动模式生成、更好的可维护性

与其他MSSQL MCP服务器的比较

功能此服务器其他
基本查询(SELECT、INSERT、UPDATE)✅✅
架构检查✅✅
SQL Server代理作业列表✅❌
作业步骤管理✅❌
作业计划查看✅❌
将作业导出到文件✅❌
从文件更新作业✅❌
存储过程导出/导入✅❌
语法预验证✅❌
FastMCP框架✅❌

存储过程管理

此MCP服务器提供了一个完整的工作流程,用于将存储过程作为代码进行管理:

1.导出到文件的程序

将指定数据库中的所有存储过程导出到目录结构:

Use export_procedures_to_files with output_dir: "/path/to/procedures"
Optionally specify databases: ["materialdb", "salesdb"]

这将创建:

procedures/
├── materialdb/
│   ├── dbo/
│   │   ├── usp_get_facility_info_data.sql
│   │   ├── usp_update_inventory.sql
│   │   └── usp_process_orders.sql
│   └── reporting/
│       └── usp_generate_report.sql
├── salesdb/
│   └── dbo/
│       └── usp_calculate_totals.sql
└── ...

SQL文件 包含:

  • 元数据头(数据库、模式、过程名称、创建/修改日期)
  • 完整的过程定义(CREATE procedure语句)

2.编辑和更新程序

编辑SQL文件后,将更改推送到SQL Server:

Use update_procedure_from_file with file_path: "/path/to/procedures/materialdb/dbo/usp_get_facility_info_data.sql"

此工具:

  1. 解析文件路径以提取数据库、模式和过程名称
  2. 如果存在,还会从标题注释中读取元数据
  3. 自动转换 CREATE PROCEDURE 到 ALTER PROCEDURE
  4. 更新前验证程序是否存在
  5. 执行ALTER语句以更新过程

示例程序文件

-- Database: materialdb
-- Schema: dbo
-- Procedure: usp_get_facility_info_data
-- Created: 2026-01-05 10:30:00
-- Modified: 2026-01-26 14:22:00
-- ============================================

CREATE PROCEDURE [dbo].[usp_get_facility_info_data]
AS
BEGIN
    -- Your procedure logic here
    SELECT * FROM facility_info
END

SQL Server代理作业管理

此MCP服务器提供了一个完整的工作流,用于以代码形式管理SQL server代理作业:

1.将作业导出到文件

将所有已启用(未弃用)的作业导出到目录结构:

Use export_enabled_jobs_to_files with output_dir: "/path/to/agent_server_jobs"

这将创建:

agent_server_jobs/
├── Job_Name_1/
│   ├── job_info.json          # Job metadata (schedules, description, etc.)
│   ├── 01_first_step.sql      # Step 1 SQL command
│   ├── 02_second_step.sql     # Step 2 SQL command
│   └── 03_third_step.sql      # Step 3 SQL command
├── Job_Name_2/
│   ├── job_info.json
│   ├── 01_step_one.sql
│   └── 02_step_two.sql
└── ...

job_info.json 包含:

  • 作业ID、名称和描述
  • 启用状态和类别
  • 所有者和通知设置
  • 计划配置(频率、间隔、活动时间)
  • 创建和修改日期

SQL文件 包含:

  • 包含作业名称、步骤ID、步骤名称、子系统和数据库的元数据标头
  • 实际的SQL命令

2.编辑现有作业步骤

编辑SQL文件后,将更改推送到SQL Server:

Use update_job_step_from_file with file_path: "/path/to/agent_server_jobs/Job_Name/02_step_name.sql"

此工具:

  1. 解析文件路径以提取作业名称和步骤ID
  2. 读取SQL内容(跳过元数据标头)
  3. 使用验证SQL语法 SET PARSEONLY
  4. 使用以下命令更新SQL Server中的作业步骤 sp_update_jobstep

3.创建新作业步骤

通过将SQL文件添加到作业目录来创建新步骤:

Use create_job_step_from_file with file_path: "/path/to/agent_server_jobs/Job_Name/my_new_step.sql"

此工具自动执行以下操作:

  1. 验证/重命名文件 -如果文件名不匹配 {step_id}_{step_name}.sql 格式,它:

- 扫描文件夹中的现有SQL文件以查找使用的步骤ID - 查询数据库中现有的步骤ID - 确定下一个可用步骤ID - 重命名文件(例如。, my_new_step.sql → 03_my_new_step.sql)

  1. 验证SQL语法 -在创建步骤之前检查语法错误
  1. 创建步骤 -用途 sp_add_jobstep 在SQL Server中创建该步骤
  1. 更新文件 -向SQL文件添加正确的元数据标头

参数:

  • file_path (必需):SQL文件的路径
  • database_name (可选):步骤的目标数据库(默认为“master”)
  • auto_rename (可选):自动重命名命名错误的文件(默认为true)

文件名格式

SQL文件必须遵循以下命名约定:

{step_id}_{step_name}.sql

示例:

  • 01_truncate_tables.sql
  • 02_load_data.sql
  • 03_update_statistics.sql
  • 10_cleanup.sql

step_id决定了作业中的执行顺序。

先决条件

ODBC驱动程序安装

此程序包需要用于SQL Server的Microsoft ODBC驱动程序。根据您的操作系统进行安装:

macOS:

brew install unixodbc
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew install msodbcsql18 mssql-tools18

Ubuntu/Debian:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 mssql-tools18

窗户: 从下载并安装 SQL Server的Microsoft ODBC驱动程序

需求

Python版本

  • 需要python >=3.10

核心依赖关系

包装版本用途
fastmcp>=2.0.0具有自动模式生成功能的高级MCP框架
pyodbc>=5.0.0SQL Server的ODBC数据库连接
sqlparse>=0.5.0SQL解析和格式化
备注:此项目使用 FastMCP 更干净、更可维护的代码。FastMCP提供从Python类型提示和基于装饰器的工具定义自动生成JSON模式。

可选依赖关系

Azure集成([azure])
包装版本用途
azure-identity>=1.15.0Azure Active Directory身份验证
发展([dev])
包装版本用途
ruff>=0.4.0装订和格式化

构建系统

  • 用途 雏鸟 作为构建后端

安装

此套餐可在 PyPI.

使用pip(推荐)

pip install mssql-agent-mcp

支持Azure AD身份验证

pip install mssql-agent-mcp[azure]

使用uvx(无需安装)

uvx mssql-agent-mcp

开发安装

git clone https://github.com/yyinhsu/mssql-agent-mcp.git
cd mssql-agent-mcp
pip install -e .

安全配置

只读模式(默认)

默认情况下, 写入操作已禁用 为了安全。服务器以只读模式运行,以防止意外修改数据。

# Default: Read-only mode enabled (safe for exploration)
MSSQL_READONLY=true

启用写入操作 (需要 execute, update_procedure_from_file, create_job_step_from_file等等):

# Enable write operations (use with caution)
MSSQL_READONLY=false

精细权限控制

当 MSSQL_READONLY=false,您可以使用这些环境变量进一步控制允许的操作:

变量默认值控件
MSSQL_ALLOW_INSERTtrue插入、合并语句
MSSQL_ALLOW_UPDATEtrue更新声明
MSSQL_ALLOW_DELETEtrue删除、删除声明
MSSQL_ALLOW_DDLtrue创建、更改、删除、授予、撤销、拒绝
MSSQL_ALLOW_EXECtrueEXEC、EXECUTE(还控制作业步骤更新)

示例:只允许SELECT和INSERT:

MSSQL_READONLY=false
MSSQL_ALLOW_INSERT=true
MSSQL_ALLOW_UPDATE=false
MSSQL_ALLOW_DELETE=false
MSSQL_ALLOW_DDL=false
MSSQL_ALLOW_EXEC=false

示例:允许数据修改但阻止架构更改:

MSSQL_READONLY=false
MSSQL_ALLOW_INSERT=true
MSSQL_ALLOW_UPDATE=true
MSSQL_ALLOW_DELETE=true
MSSQL_ALLOW_DDL=false
MSSQL_ALLOW_EXEC=false
备注:这些粒度设置仅在以下情况下生效 MSSQL_READONLY=false.何时 MSSQL_READONLY=true,无论其他设置如何,所有写入操作都会被阻止。

环境变量

变量默认值描述
MSSQL_SERVERlocalhostSQL Server主机名或IP
MSSQL_DATABASEmaster默认数据库
MSSQL_USER*(空)*SQL Server用户名(用于SQL身份验证)
MSSQL_PASSWORD*(空)*SQL Server密码(用于SQL身份验证)
MSSQL_PORT1433SQL Server端口
MSSQL_DRIVERODBC Driver 18 for SQL ServerODBC驱动程序名称
MSSQL_ENCRYPTyes连接加密(yes/no)
MSSQL_TRUST_SERVER_CERTIFICATEno信任自签名证书(yes/no)
MSSQL_AUTH_MODEsql身份验证模式: sql, windows,或 azure
MSSQL_READONLYtrue阻止所有写入操作(true/false)
MSSQL_ALLOW_INSERTtrue允许插入/合并(非只读时)
MSSQL_ALLOW_UPDATEtrue允许更新(非只读时)
MSSQL_ALLOW_DELETEtrue允许删除/删除(非只读时)
MSSQL_ALLOW_DDLtrue允许DDL操作(非只读时)
MSSQL_ALLOW_EXECtrue允许EXEC/EXEXETE(非只读时)

身份验证模式

SQL Server身份验证(默认):

MSSQL_AUTH_MODE=sql
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password

Windows身份验证(集成安全):

MSSQL_AUTH_MODE=windows
# No username/password needed - uses current Windows credentials

Azure AD身份验证:

# Install with Azure support
pip install mssql-agent-mcp[azure]
MSSQL_AUTH_MODE=azure
# Uses DefaultAzureCredential - supports managed identity, Azure CLI, etc.

云连接(Azure SQL)

对于Azure SQL数据库,需要加密:

MSSQL_SERVER=your-server.database.windows.net
MSSQL_ENCRYPT=yes
MSSQL_TRUST_SERVER_CERTIFICATE=no

配置

配置数据库连接:

MSSQL_SERVER=localhost
MSSQL_DATABASE=your_database
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
MSSQL_PORT=1433
MSSQL_READONLY=false  # Enable write operations if needed

使用Claude Desktop

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mssql": {
      "command": "mssql-agent-mcp",
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password"
      }
    }
  }
}

或者使用uvx(无需安装):

{
  "mcpServers": {
    "mssql": {
      "command": "uvx",
      "args": ["mssql-agent-mcp"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password"
      }
    }
  }
}

使用VS代码

添加到您的VS代码MCP配置中(.vscode/mcp.json):

{
  "servers": {
    "mssql": {
      "command": "mssql-agent-mcp",
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password"
      }
    }
  }
}

或者使用uvx:

{
  "servers": {
    "mssql": {
      "command": "uvx",
      "args": ["mssql-agent-mcp"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password"
      }
    }
  }
}

工具使用示例

数据库操作

查询数据
Use the query tool with: SELECT TOP 10 * FROM Customers
列出表格
Use the list_tables tool to see all tables in the database
描述一张桌子
Use the describe_table tool with table: "Customers" to see its structure
执行语句
Use the execute tool with: INSERT INTO Customers (Name) VALUES ('John Doe')

存储过程操作

列出当前数据库中的所有过程
Use list_procedures to see all stored procedures
Optionally set include_definition: true to include the full procedure code
列出所有数据库中的过程
Use list_all_procedures to see procedures from all databases
Optionally set database_filter: "material" to filter by database name
将程序导出到文件
Use export_procedures_to_files with output_dir: "/home/user/procedures"
Optionally specify databases: ["materialdb", "salesdb"]
编辑后更新程序
Use update_procedure_from_file with file_path: "/home/user/procedures/materialdb/dbo/usp_get_data.sql"

SQL Server代理作业操作

列出所有代理作业
Use list_agent_jobs to see all jobs with their status
将作业导出到文件
Use export_enabled_jobs_to_files with output_dir: "/home/user/agent_jobs"
编辑后更新现有步骤
Use update_job_step_from_file with file_path: "/home/user/agent_jobs/Daily_Backup/02_backup_database.sql"
创建新步骤(文件将自动重命名)
# Create a file: /home/user/agent_jobs/Daily_Backup/new_cleanup_step.sql
# With content: DELETE FROM TempTable WHERE CreatedDate < DATEADD(day, -7, GETDATE())

Use create_job_step_from_file with file_path: "/home/user/agent_jobs/Daily_Backup/new_cleanup_step.sql"

# Result: File renamed to "03_new_cleanup_step.sql" and step created in SQL Server

发展

# Install in development mode
pip install -e .

# Run the server directly
python -m mssql_mcp.server

需求

  • Python 3.10+
  • Microsoft SQL Server(任何支持的版本)

许可证

麻省理工学院

工具与能力

工具数量

22

资源数量

0

提示词数量

0

能力标签

数据库管理Python本地部署SQLServerAgentJobs管理存储过程管理版本控制

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 工具数量 22 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Mssql Agent MCP

MCP World · 本页

22stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Mssql Agent MCP 怎么安装?

公开资料给出的安装命令是 pip install mssql-agent-mcp,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Mssql Agent MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Mssql Agent MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Mssql Agent MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Mssql Agent MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP