mcpField
M
Model Context Protocol (MCP) Server - Filesystem Implementation

Model Context Protocol (MCP) Server - Filesystem Implementation

本地服务
github.com/Loag开发工具084 周前更新

关于 Model Context Protocol (MCP) Server - Filesystem Implementation

这是一个用 Go 编写的教育用途 MCP 服务,可通过 MCP 向客户端开放本地文件系统。它提供目录列出、文件读写和删除工具,以及文件与目录资源;README 提醒,未加强安全措施前不应投入生产使用。

主要功能

  1. 01列出目录内容
  2. 02读取和写入文件
  3. 03删除文件和目录
  4. 04提供文件与目录资源
  5. 05基础路径清理

适用场景

  1. 01了解教育用途的 MCP 服务实现
  2. 02让 MCP 客户端执行文件系统操作

MCP 相关

该服务向 MCP 客户端开放文件系统工具以及文件和目录资源。其端点支持能力发现、工具调用和资源加载。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

模型上下文协议(MCP)服务 - 文件系统实现

这是一个使用 Echo 框架以 Go 编写的模型上下文协议(MCP)服务教学实现。该服务通过 MCP 协议提供对本地文件系统的访问。

概述

模型上下文协议(MCP)是一项开放标准,支持开发者在数据源与 AI 驱动的工具之间建立安全的双向连接。此实现演示了如何创建一个提供本地文件系统访问能力的 MCP 服务。

功能

  • 文件系统提供程序:通过 MCP 工具和资源提供对本地文件系统的访问
  • 工具:
    • filesystem.list:列出目录内容
    • filesystem.read:读取文件内容
    • filesystem.write:将内容写入文件
    • filesystem.delete:删除文件或目录
  • 资源:
    • filesystem.file:表示文件系统中的一个文件
    • filesystem.directory:表示文件系统中的一个目录

安全注意事项

此实现包含基本的路径清理功能,以防止目录遍历攻击,但仅供教学使用。在生产环境中,还需要采取其他安全措施,例如:

  • 用户身份验证和授权
  • 更完善的输入验证
  • 速率限制
  • 审计日志记录
  • 沙箱隔离

入门指南

前置条件
  • Go 1.24 或更高版本
安装
  1. 克隆仓库
  2. 安装依赖项:go mod tidy
  3. 运行服务:go run main.go

服务默认会在 8080 端口启动。你可以通过设置 PORT 环境变量来更改端口。

API 端点

  • GET /:服务信息
  • POST /v1/discover:发现服务功能
  • POST /v1/call-tool:调用工具
  • POST /v1/load-resource:加载资源

使用示例

发现服务功能
curl -X POST http://localhost:8080/v1/discover
列出目录内容
curl -X POST http://localhost:8080/v1/call-tool \
  -H "Content-Type: application/json" \
  -d '{
    "tool_id": "filesystem.list",
    "request_id": "req-123",
    "params": {
      "arguments": {
        "path": "."
      }
    }
  }'
读取文件内容
curl -X POST http://localhost:8080/v1/call-tool \
  -H "Content-Type: application/json" \
  -d '{
    "tool_id": "filesystem.read",
    "request_id": "req-123",
    "params": {
      "arguments": {
        "path": "README.md"
      }
    }
  }'

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

免责声明

此实现仅供教学使用,未经适当的安全审查和加固,不应在生产环境中使用。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。