
SQL Server
io.github.hlgurgel由 GitHub 账号 hlgurgel 发布v0.1.8更新于 Oct 24, 2026
Servidor MCP para SQL Server com controle de permissões e modo somente-leitura
概览
面向 SQL Server 的本地 MCP 服务器,让助手浏览架构并执行只读查询,写操作工具受权限与确认限制。
- 可以做什么
- 执行只读 SELECT 查询并列出可访问的数据库
- 查看表与视图的结构、列、类型、主键、索引、约束及表统计信息
- 浏览存储过程和函数,包括其源代码
- 查看预估执行计划以及 SQL Agent 作业的最近运行状态
- 当连接用户具备写权限时:执行存储过程、带 WHERE 条件的 UPDATE、创建索引、修改过程以及执行带回滚脚本的 DDL
- 适用场景
- 适合需要让助手探查或查询 SQL Server 数据库、了解其架构、存储过程与函数,或分析执行计划和作业状态的场景。写操作工具仅对具备写权限的连接用户开放。
- 运行要求
- 以 Python 包形式本地运行(Python 3.10+),需安装 Microsoft ODBC Driver 18 for SQL Server。需要通过 MSSQL_CONNECTION_STRING 环境变量提供连接字符串,或使用 MSSQL_ENV_FILE 指向的 .env 文件。可选的 HTTP 模式需安装 server 附加组件并设置 MCP_HOST/MCP_PORT。
安装
在 SourceWeft 中
- 打开 控制台中的 SQL Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
mcp-sqlserver
[PyPI version] [License: MIT] [Python versions]
Servidor MCP (Model Context Protocol) para SQL Server, com controle de permissões e modo somente-leitura por padrão. Permite que agentes de IA (Claude, opencode e outros clientes MCP) consultem e administrem bancos SQL Server de forma segura.
Segurança
- Credenciais nunca expostas ao LLM — a string de conexão é lida do ambiente e nunca aparece nas respostas nem nos logs.
- Somente leitura por padrão — a ferramenta
consultabloqueia DDL/DML (INSERT, UPDATE, DELETE, DROP, etc.). - Escrita sob demanda — ferramentas de escrita (
executar_update,executar_ddl, etc.) só são expostas quando o usuário da conexão possui permissão de escrita (rolessysadmin,db_owner,db_datawriteroudb_ddladmin), e exigem confirmação explícita antes de cada execução.
Pré-requisitos
- Python 3.10+
- Driver ODBC Driver 18 for SQL Server:
- macOS:
brew install msodbcsql18 - Windows/Linux: instale o driver correspondente da Microsoft
- macOS:
Instalação
Via PyPI:
Ou, sem instalar nada (executa direto do PyPI com cache):
Configuração
O servidor lê a string de conexão das seguintes fontes, em ordem de prioridade:
- Variável de ambiente
MSSQL_CONNECTION_STRING - Variável de ambiente
MSSQL_ENV_FILEapontando para um arquivo.env - Arquivo
.envno diretório de trabalho (ou na raiz do projeto)
Exemplo de string de conexão:
Uso com clientes MCP
Claude Desktop
Adicione ao claude_desktop_config.json:
Se instalou via pip install, pode usar o entry point diretamente:
OpenCode
No opencode.json do projeto:
Alternativa: apontar para um arquivo .env local, mantendo a senha fora do JSON:
Servidor HTTP (Streamable HTTP)
Além do modo local (stdio), o servidor pode ser executado como um MCP remoto
via Streamable HTTP, expondo o endpoint /mcp. Instale com o extra server:
Inicie o servidor:
Opcionalmente, ajuste host/porta com MCP_HOST (padrão 0.0.0.0) e MCP_PORT
(padrão 8090). O endpoint MCP fica em http://<host>:<porta>/mcp.
Para consumir remotamente no opencode:
Ferramentas disponíveis
Somente leitura (sempre disponíveis):
Escrita (só com permissão de escrita na conexão):
Licença
MIT
来源:README.md,提交 5bea8a3
工具
0版本历史
3- v0.1.8最新Oct 11, 2026
- v0.1.7Oct 10, 2026
- v0.1.6Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分