文件系统代理

一个连接MCP文件系统服务器的Node.js代理,用于发送消息并打印响应,支持多种文件操作。

  • by faridehlamee
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 faridehlamee/mcp-filesystem-agent

使用说明

MCP文件系统代理

一个小型的Node.js代理,连接到在Docker中运行的MCP(模型上下文协议)文件系统服务器,发送消息并打印响应。

你应该看到什么

运行代理时,您应该看到:

基本代理(npm start)

  1. 连接状态:确认已连接到MCP服务器
  2. 工具列表:所有15个可用文件操作(读取、写入、列表、搜索等)的JSON列表
  3. 工具响应:调用以下工具的结果 list_allowed_directories 和 list_directory

测试试剂(npm test)

一项全面的测试,证明:

  • 📁 列出目录内容
  • 📖 正在读取文件
  • ✍️ 写入新文件
  • 🔍 验证文件操作
  • ℹ️ 正在获取文件元数据

如何测试

先决条件

  • Docker必须安装并运行
  • 已安装Node.js(v18+)

快速开始

  1. 安装依赖项:

    npm install
    
  2. 运行基本代理:

    npm start
    

    这将:

    • 检查/构建Docker镜像
    • 连接到MCP服务器
    • 列出可用工具
    • 调用一些工具并显示响应
  3. 运行综合测试:

    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:

  1. 在GitHub上创建一个新的存储库:

    • 首选https://github.com/new
    • 创建新的存储库(例如。, mcp-filesystem-agent)
    • 不要使用README、.gitignore或许可证进行初始化(我们已经有了这些)
  2. 添加遥控器并按下:

    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
    
  3. 验证:

    • 检查你的GitHub仓库——所有文件都应该在那里
    • 这 .gitignore 确保 node_modules/ 其他不必要的文件被排除在外