使用说明
项目简介
本项目实现了一个基于Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供与本地文件系统和Web资源进行交互的能力。通过一系列预定义的工具,AI助手可以安全地执行文件操作和访问网络内容。
主要功能点
- 文件系统操作:
- 读取文件内容 (ReadFile)
- 写入文件内容 (WriteFile)
- 编辑文件内容 (EditFile)
- 搜索文件和目录 (SearchFiles)
- 列出目录内容 (ListDirectory)
- 创建目录 (WriteFile - 写入新文件时自动创建父目录)
- Web操作:
- 获取网页内容 (FetchWebpage)
- 所有操作均以工具形式暴露给LLM,通过MCP协议进行调用。
- 使用STDIO进行客户端与服务器之间的通信。
安装步骤
- 环境准备:确保已安装 Java 17 或更高版本、Maven 3.6+,并配置好Java和Maven环境变量。
- 下载代码:从GitHub仓库 https://github.com/stephanj/MCPJavaFileSystem 克隆或下载项目代码。
- 编译项目:在项目根目录下,打开终端或命令提示符,执行命令 'mvn clean package' 进行项目编译打包。编译成功后,将在 'target' 目录下生成 JAR 文件 'devoxx-filesystem-0.0.1-SNAPSHOT.jar'。
服务器配置
MCP服务器需要由MCP客户端启动和连接。MCP客户端需要配置服务器的启动命令及其参数。以下是配置信息(JSON格式),请根据您的实际环境修改路径:
{ "serverName": "JavaFilesystem", "transportType": "STDIO", "command": "/path/to/your/java", // 请替换为您的Java可执行文件路径,例如:/usr/bin/java 或 C:\Program Files\Java\jdk-17\bin\java.exe "args": [ "-Dspring.ai.mcp.server.stdio=true", // 启用 MCP 服务器的 STDIO 传输 "-Dspring.main.web-application-type=none", // 禁用 Spring Boot Web 应用类型,仅作为后端服务运行 "-Dlogging.pattern.console=", // 禁用控制台日志模式,避免干扰 STDIO 通信 "-jar", // 指定运行 JAR 文件 "/path/to/JavaFileSystemMCP/target/devoxx-filesystem-0.0.1-SNAPSHOT.jar" // 请替换为实际的 JAR 文件路径,例如:/Users/yourname/JavaFileSystemMCP/target/devoxx-filesystem-0.0.1-SNAPSHOT.jar ] }
配置说明:
- '"serverName"': 服务器名称,可以自定义。
- '"transportType"': 传输类型,本项目使用 STDIO。
- '"command"': Java 可执行文件的完整路径。
- '"args"': 启动参数列表,包括:
- '-Dspring.ai.mcp.server.stdio=true': 启用 STDIO 传输模式。
- '-Dspring.main.web-application-type=none': 配置 Spring Boot 应用为非 Web 应用。
- '-Dlogging.pattern.console=': 禁用控制台日志输出,避免干扰 STDIO 通信。
- '-jar': 指定运行 JAR 文件。
- '/path/to/JavaFileSystemMCP/target/devoxx-filesystem-0.0.1-SNAPSHOT.jar': 编译生成的 JAR 文件路径。请务必替换为实际路径。
基本使用方法
- 在MCP客户端(例如 DevoxxGenie 或 Claude Desktop)中,根据客户端的MCP服务器配置界面,填入上述 JSON 配置信息。
- 启动 MCP 客户端,客户端将根据配置自动启动 MCP 服务器并建立连接。
- 在 LLM 应用中,即可通过 MCP 客户端调用服务器提供的文件系统和 Web 操作工具,实现与本地文件和网络资源的交互。
- 具体工具的使用方法和参数,请参考仓库 'README.md' 文件中 "Tool Services" 部分的详细描述。
信息
分类
数据库与文件