ppengit/mcp-sqlserver-filesystem
3.1
If you are the rightful owner of mcp-sqlserver-filesystem and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP SQL Server Filesystem is an enhanced MCP server designed for SQL Server database and filesystem access, offering dual interface support.
Tools
7
Resources
0
Prompts
0
MCP SQL Server Filesystem
| 中文
一个简洁高效的 MCP (Model Context Protocol) 服务器,提供 SQL Server 数据库访问和文件系统操作功能。
✨ 主要特性
🗄️ 数据库功能
- SQL 查询执行 - 支持 SELECT 查询
- SQL 命令执行 - 支持 INSERT/UPDATE/DELETE 操作
- 表结构查询 - 获取表的详细结构信息和字段描述
- 表列表 - 列出数据库中的所有表
📁 文件系统功能
- 文件读取 - 读取文件内容
- 文件写入 - 写入内容到文件
- 目录列表 - 列出目录内容
🔒 安全特性
- SQL 注入防护
- 文件系统访问控制
- 环境变量配置
- 权限验证
🚀 快速开始
📋 前置要求
1. 安装 ODBC Driver for SQL Server
Windows:
# 下载并安装 Microsoft ODBC Driver 17 for SQL Server
# 访问: https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server
# 或使用 winget 安装
winget install Microsoft.ODBCDriverforSQLServer
macOS:
# 使用 Homebrew 安装
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install msodbcsql17 mssql-tools
Linux (Ubuntu/Debian):
# 添加 Microsoft 仓库
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
# 安装驱动
sudo apt-get update
sudo apt-get install msodbcsql17
2. 验证 ODBC 安装
# Windows
odbcad32.exe
# macOS/Linux
odbcinst -j
📦 零安装使用(推荐)
# 安装 uv(如果尚未安装)
pip install uv
# 直接运行 - 无需克隆仓库!
uvx mcp-sqlserver-filesystem@latest
🔧 配置
在你的 MCP 客户端(如 Claude Desktop、AugmentCode)中添加以下配置:
{
"mcpServers": {
"mcp-sqlserver-filesystem": {
"command": "uvx",
"args": ["mcp-sqlserver-filesystem@latest"],
"env": {
"DB_SERVER": "localhost",
"DB_DATABASE": "your_database",
"DB_USERNAME": "your_username",
"DB_PASSWORD": "your_password",
"DB_USE_WINDOWS_AUTH": "false",
"DB_TRUST_SERVER_CERTIFICATE": "true",
"DB_ENCRYPT": "false",
"FS_ALLOWED_PATHS": "*",
"FS_ALLOWED_EXTENSIONS": "*.*",
"FS_IGNORE_FILE_LOCKS": "true"
}
}
}
}
🛠️ 可用工具
数据库工具
sql_query- 执行 SQL SELECT 查询sql_execute- 执行 SQL INSERT/UPDATE/DELETE 命令list_tables- 列出数据库中的所有表get_table_schema- 获取表的结构信息
文件系统工具
read_file- 读取文件内容write_file- 写入文件内容list_directory- 列出目录内容
📋 环境变量
数据库配置
DB_SERVER- SQL Server 服务器地址DB_DATABASE- 数据库名称DB_USERNAME- 用户名DB_PASSWORD- 密码DB_USE_WINDOWS_AUTH- 是否使用 Windows 身份验证DB_TRUST_SERVER_CERTIFICATE- 是否信任服务器证书DB_ENCRYPT- 是否加密连接
文件系统配置
FS_ALLOWED_PATHS- 允许访问的路径(*表示所有路径)FS_ALLOWED_EXTENSIONS- 允许的文件扩展名(*.*表示所有文件)FS_IGNORE_FILE_LOCKS- 是否忽略文件锁
🔧 开发
本地开发
# 克隆仓库
git clone https://github.com/ppengit/mcp-sqlserver-filesystem.git
cd mcp-sqlserver-filesystem
# 安装依赖
uv sync
# 运行服务器
uv run python -m mcp_sqlserver_filesystem server
测试
# 运行测试
uv run pytest
# 运行特定测试
uv run pytest tests/test_database.py
📄 许可证
MIT License - 详见 文件。
🤝 贡献
欢迎贡献!请提交 Issue 或 Pull Request。
❓ 常见问题
Q: 出现 "No module named 'pyodbc'" 错误
A: 请确保已安装 ODBC Driver for SQL Server,参见上面的前置要求部分。
Q: 出现 "Data source name not found" 错误
A: 检查 DB_SERVER 配置是否正确,确保 SQL Server 服务正在运行。
Q: 连接超时或拒绝连接
A:
- 检查 SQL Server 是否启用了 TCP/IP 协议
- 确认防火墙设置允许连接到 SQL Server 端口(默认1433)
- 验证用户名和密码是否正确
Q: 文件系统操作被拒绝
A: 检查 FS_ALLOWED_PATHS 和 FS_ALLOWED_EXTENSIONS 配置,确保路径和文件类型被允许访问。
📞 支持
- GitHub Issues: https://github.com/ppengit/mcp-sqlserver-filesystem/issues
🔄 更新日志
v1.0.1
- 🎉 首个稳定版本发布
- ✨ 完整的 SQL Server 数据库支持
- 📁 全面的文件系统操作
- 🔒 增强的安全特性
- 📝 改进的错误处理和日志记录
- 🚀 简化的架构,专注于核心功能
注意: 此版本专注于核心功能的稳定性和可靠性,提供简洁高效的MCP服务器体验。