使用说明

项目简介

本项目实现了一个基于Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供与本地文件系统和Web资源进行交互的能力。通过一系列预定义的工具,AI助手可以安全地执行文件操作和访问网络内容。

主要功能点

  • 文件系统操作
    • 读取文件内容 (ReadFile)
    • 写入文件内容 (WriteFile)
    • 编辑文件内容 (EditFile)
    • 搜索文件和目录 (SearchFiles)
    • 列出目录内容 (ListDirectory)
    • 创建目录 (WriteFile - 写入新文件时自动创建父目录)
  • Web操作
    • 获取网页内容 (FetchWebpage)
  • 所有操作均以工具形式暴露给LLM,通过MCP协议进行调用。
  • 使用STDIO进行客户端与服务器之间的通信。

安装步骤

  1. 环境准备:确保已安装 Java 17 或更高版本、Maven 3.6+,并配置好Java和Maven环境变量。
  2. 下载代码:从GitHub仓库 https://github.com/stephanj/MCPJavaFileSystem 克隆或下载项目代码。
  3. 编译项目:在项目根目录下,打开终端或命令提示符,执行命令 '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 文件路径。请务必替换为实际路径

基本使用方法

  1. 在MCP客户端(例如 DevoxxGenie 或 Claude Desktop)中,根据客户端的MCP服务器配置界面,填入上述 JSON 配置信息。
  2. 启动 MCP 客户端,客户端将根据配置自动启动 MCP 服务器并建立连接。
  3. 在 LLM 应用中,即可通过 MCP 客户端调用服务器提供的文件系统和 Web 操作工具,实现与本地文件和网络资源的交互。
  4. 具体工具的使用方法和参数,请参考仓库 'README.md' 文件中 "Tool Services" 部分的详细描述。

信息

分类

数据库与文件