Provides file system operations including reading file contents, writing to files, and listing directory contents with configurable access controls
MCP Database Filesystem
English | 中文
一个简洁高效的 MCP (Model Context Protocol) 服务器,提供多数据库访问和文件系统操作功能。
✨ 主要特性
🗄️ 多数据库支持
SQL Server
SQL 查询执行 - 支持 SELECT 查询
SQL 命令执行 - 支持 INSERT/UPDATE/DELETE 操作
表结构查询 - 获取表的详细结构信息和字段描述
表列表 - 列出数据库中的所有表
MySQL
MySQL 查询执行 - 支持 MySQL SELECT 查询
MySQL 命令执行 - 支持 INSERT/UPDATE/DELETE 操作
MySQL 表结构查询 - 获取 MySQL 表的详细结构信息
MySQL 表列表 - 列出 MySQL 数据库中的所有表
Redis
键值操作 - GET/SET/DELETE 键值对
键管理 - 列出匹配模式的键
服务器信息 - 获取 Redis 服务器状态信息
过期设置 - 支持键的过期时间设置
📁 文件系统功能
文件读取 - 读取文件内容
文件写入 - 写入内容到文件
目录列表 - 列出目录内容
🔒 安全特性
SQL 注入防护
文件系统访问控制
环境变量配置
权限验证
🔄 容错机制
优雅降级 - 任何数据库连接失败时不影响其他服务
动态重连 - 支持运行时重新连接各种数据库
状态监控 - 实时监控所有数据库连接状态
🚀 快速开始
📋 前置要求
根据您要使用的数据库服务,安装相应的驱动程序:
1. SQL Server (可选)
安装 ODBC Driver for SQL Server
Windows:
macOS:
Linux (Ubuntu/Debian):
2. 验证 ODBC 安装
2. MySQL (可选)
如果要使用 MySQL 功能,确保 MySQL 服务器可访问。不需要额外的客户端驱动,PyMySQL 已包含在依赖中。
3. Redis (可选)
如果要使用 Redis 功能,确保 Redis 服务器可访问。不需要额外的客户端驱动,redis-py 已包含在依赖中。
📦 零安装使用(推荐)
🔧 配置
在你的 MCP 客户端(如 Claude Desktop、AugmentCode)中添加以下配置:
🛠️ 可用工具
SQL Server 工具
sql_query- 执行 SQL Server SELECT 查询sql_execute- 执行 SQL Server INSERT/UPDATE/DELETE 命令list_tables- 列出 SQL Server 数据库中的所有表get_table_schema- 获取 SQL Server 表的结构信息database_reconnect- 重新连接 SQL Server
MySQL 工具
mysql_query- 执行 MySQL SELECT 查询mysql_execute- 执行 MySQL INSERT/UPDATE/DELETE 命令mysql_list_tables- 列出 MySQL 数据库中的所有表mysql_get_table_schema- 获取 MySQL 表的结构信息mysql_reconnect- 重新连接 MySQL
Redis 工具
redis_get- 获取 Redis 键值redis_set- 设置 Redis 键值(支持过期时间)redis_delete- 删除 Redis 键redis_keys- 列出匹配模式的 Redis 键redis_info- 获取 Redis 服务器信息redis_reconnect- 重新连接 Redis
数据库管理工具
database_status- 检查所有数据库连接状态
文件系统工具
read_file- 读取文件内容write_file- 写入文件内容list_directory- 列出目录内容delete_file- 删除文件(需要确认)create_directory- 创建目录delete_file- 删除文件(需要确认)create_directory- 创建目录
📋 环境变量
SQL Server 配置
MSSQL_SERVER- SQL Server 服务器地址MSSQL_DATABASE- 数据库名称MSSQL_USERNAME- 用户名MSSQL_PASSWORD- 密码MSSQL_USE_WINDOWS_AUTH- 是否使用 Windows 身份验证MSSQL_PORT- SQL Server 端口(默认 1433)MSSQL_DRIVER- ODBC 驱动名称MSSQL_CONNECTION_TIMEOUT- 连接超时时间(秒)MSSQL_COMMAND_TIMEOUT- 命令超时时间(秒)MSSQL_POOL_SIZE- 连接池大小MSSQL_MAX_OVERFLOW- 最大溢出连接数MSSQL_TRUST_SERVER_CERTIFICATE- 是否信任服务器证书MSSQL_ENCRYPT- 是否加密连接MSSQL_MULTIPLE_ACTIVE_RESULT_SETS- 是否启用多活动结果集MSSQL_APPLICATION_NAME- 应用程序名称
MySQL 配置
MYSQL_HOST- MySQL 服务器地址MYSQL_PORT- MySQL 端口(默认 3306)MYSQL_DATABASE- MySQL 数据库名称MYSQL_USERNAME- MySQL 用户名MYSQL_PASSWORD- MySQL 密码MYSQL_CHARSET- 字符集(默认 utf8mb4)MYSQL_CONNECTION_TIMEOUT- 连接超时时间(秒)MYSQL_POOL_SIZE- 连接池大小MYSQL_MAX_OVERFLOW- 最大溢出连接数
Redis 配置
REDIS_HOST- Redis 服务器地址REDIS_PORT- Redis 端口(默认 6379)REDIS_DB- Redis 数据库编号(默认 0)REDIS_PASSWORD- Redis 密码(可选)REDIS_SOCKET_TIMEOUT- Socket 超时时间(秒)REDIS_CONNECTION_TIMEOUT- 连接超时时间(秒)REDIS_MAX_CONNECTIONS- 最大连接数
文件系统配置
FS_ALLOWED_PATHS- 允许访问的路径(*表示所有路径)FS_ALLOWED_EXTENSIONS- 允许的文件扩展名(*.*表示所有文件)FS_MAX_FILE_SIZE- 最大文件大小(字节)FS_ENABLE_WRITE- 是否启用写操作FS_ENABLE_DELETE- 是否启用删除操作FS_IGNORE_FILE_LOCKS- 是否忽略文件锁
🔧 开发
本地开发
测试
📄 许可证
MIT License - 详见 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-db-filesystem/issues
🔄 更新日志
v1.0.1
🎉 首个稳定版本发布
✨ 完整的 SQL Server 数据库支持
📁 全面的文件系统操作
🔒 增强的安全特性
📝 改进的错误处理和日志记录
🚀 简化的架构,专注于核心功能
注意: 此版本专注于核心功能的稳定性和可靠性,提供简洁高效的MCP服务器体验。
This server cannot be installed
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityEnables execution of SQL queries and management of Microsoft SQL Server database connections through the Model Context Protocol.Last updated -337014MIT License
- -securityAlicense-qualityFacilitates interaction with Microsoft SQL Server Express, supporting database operations such as querying, table management, and schema inspection via natural language MCP commands.Last updated -4MIT License
- -securityAlicense-qualityA FastMCP-based server that enables executing Microsoft SQL Server data queries and table structure queries through a standardized MCP protocol interface.Last updated -4MIT License
- Asecurity-licenseAqualityEnables interaction with Microsoft SQL Server databases through a Model Context Protocol interface, supporting database connections, switching between databases, and executing secure SELECT queries.Last updated -815MIT License