文件管理服务

一个基于Model Context Protocol (MCP)的简单文件管理服务,提供文件列表、读取和写入功能。

  • by endava-ethan
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 endava-ethan/mcp-files-poc

使用说明

MCP文件PoC

该存储库现在专注于最简单的模型上下文协议(MCP) 用Java编写的服务器。它使用了一个受 modelcontextprotocol/java-sdk 项目,因此代码读起来像基于SDK的服务器,同时保持完整 独立且可构建,无需网络访问。

服务器公开了三个工具:

  • list_files –列出相对于配置的根目录的单个目录
  • read_text –打印UTF-8文件的内容
  • write_text –写入UTF-8文件并请求确认 通过MCP启发流覆盖现有文件

结构

  • server/ –包含STDIO MCP服务器

跑步

服务器通过stdio传输JSON-RPC 2.0。要尝试它,你可以管道JSON 手动请求或将其连接到任何兼容MCP的客户端。最低限度的手册 会话看起来像这样:

# Terminal 1 – start the server
java -cp server/target/classes dev.poc.files.McpFilesServer
# Terminal 2 – drive it with your MCP client of choice
# (for example the samples that ship with the modelcontextprotocol/java-sdk repo)
printf '%s\n' '{"jsonrpc":"2.0","id":"1","method":"initialize"}' \
  '{"jsonrpc":"2.0","id":"2","method":"tools/list"}' | ./path-to-client

基本目录默认为 ${user.home}/mcp-play;用以下命令覆盖它 MCP_FILES_BASE_DIR 启动服务器时的环境变量。

因为项目没有外部依赖关系,所以您可以使用 香草JDK:

javac $(find server/src/main/java -name '*.java') -d server/target/classes
java -cp server/target/classes dev.poc.files.McpFilesServer

下一步

有了纯MCP基线,就可以直接扩展 com.modelcontextprotocol.sdk 在以下情况下,将其替换为官方SDK 您有网络访问权限。从那里,您可以尝试定制运输方式 或更复杂的工具。