MCP文件系统代理
一个小型的Node.js代理,连接到在Docker中运行的MCP(模型上下文协议)文件系统服务器,发送消息并打印响应。
你应该看到什么
运行代理时,您应该看到:
基本代理(npm start)
- 连接状态:确认已连接到MCP服务器
- 工具列表:所有15个可用文件操作(读取、写入、列表、搜索等)的JSON列表
- 工具响应:调用以下工具的结果
list_allowed_directories和list_directory
测试试剂(npm test)
一项全面的测试,证明:
- 📁 列出目录内容
- 📖 正在读取文件
- ✍️ 写入新文件
- 🔍 验证文件操作
- ℹ️ 正在获取文件元数据
如何测试
先决条件
- Docker必须安装并运行
- 已安装Node.js(v18+)
快速开始
- 安装依赖项:
npm install- 运行基本代理:
npm start这将:
- 检查/构建Docker镜像 - 连接到MCP服务器 - 列出可用工具 - 调用一些工具并显示响应
- 运行综合测试:
npm test这表明:
- 读取现有文件(test.txt, readme.md) - 写入新文件(output.txt) - 列出目录 - 获取文件信息
创造什么
测试代理创建 data/output.txt 在 data/ 目录。运行测试后,您可以验证此文件在主机上是否存在。
测试文件
这 data/ 目录包含:
test.txt-示例文本文件readme.md-文件.gitkeep-确保目录由git跟踪
可用操作
MCP文件系统服务器提供15个工具:
read_text_file-读取文件内容write_file-创建/覆盖文件list_directory-列出目录内容get_file_info-获取文件元数据search_files-按模式搜索文件create_directory-创建目录move_file-移动/重命名文件edit_file-进行基于行的编辑- 还有更多。..
故障排除
集装箱未运行?
- 代理自动构建/启动Docker容器
- 确保Docker桌面正在运行
权限错误?
- 这
/data目录从以下位置装载./data在您的主机上 - 代理创建的文件将显示在
./data/在您的机器上
连接错误?
- 确保Docker正在运行:
docker ps - 如有需要,进行重建:
docker-compose build
文件
agent.js-列出工具并调用一些工具的基本代理test-agent.js-演示文件操作的综合测试package.json-项目配置Dockerfile-MCP服务器容器定义docker-compose.yaml-Docker编写配置
GitHub设置
存储库已用git初始化。要推送到GitHub:
- 在GitHub上创建一个新的存储库:
- 首选https://github.com/new - 创建新的存储库(例如。, mcp-filesystem-agent) - 不要使用README、.gitignore或许可证进行初始化(我们已经有了这些)
- 添加遥控器并按下:
git remote add origin https://github.com/YOUR_USERNAME/mcp-filesystem-agent.git
git branch -M main
git push -u origin main如果你喜欢SSH:
git remote add origin git@github.com:YOUR_USERNAME/mcp-filesystem-agent.git
git branch -M main
git push -u origin main- 验证:
- 检查你的GitHub仓库——所有文件都应该在那里 - 这 .gitignore 确保 node_modules/ 其他不必要的文件被排除在外
