
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 分