本项目 filesys 是一个基于 Python 和 mcp 库构建的轻量级 MCP 服务器,能够安全地从预配置目录中暴露文件内容和元数据。它利用 FastMCP 实现文件列表展示和文件内容及元数据读取功能。同时,新增集成了 Anthropic 的 Claude AI,支持用户通过自然语言对话与文件系统交互,安全访问定义的 MCP 资源。
git clone [仓库地址]
python -m venv venv
source venv/bin/activate # 在 Windows 上使用 `venv\Scripts\activate`
pip install mcp
config/config.json 文件,设置服务器的配置(例如端口)。.env.local 文件并添加 Anthropic 的 API 密钥。python run.py
python interact_with_claude.py
files://list。files://read/{filename}(将 {filename} 替换为实际文件名)。safe_folder 中的文件:
核心功能分为以下几个部分:
资源:
在 src/resources.py 中,两个函数负责文件操作:
list_files(): 扫描指定目录并返回所有文件的列表。read_file(): 根据文件名读取文件内容并返回其内容。服务器:
在 run.py 中,定义了一个简单的 MCP 服务器,启动后监听端口并处理来自客户端的请求。服务器会调用资源模块中的函数来响应请求。
Claude 工具客户端:
在 claude_tool_client.py 中,定义了与 MCP 服务器交互的工具函数。这些函数可以用来测试服务器的功能,并为 Claude 提供接口以发送请求。
测试:
如果在 tests/ 目录中有单元测试文件(例如 tests/test_resources.py),可以通过运行以下命令执行测试:
python -m unittest discover tests
欢迎贡献!要参与项目,请按照以下步骤操作:
config/config.json 和 .env.local)。⚠️ 重要提示
interact_with_claude.py脚本要求run.py服务器在另一个进程中运行。