返回市场
MCP客户端主机Java

MCP客户端主机Java

作者:Explorerlowi3 星标更新:2025-10-28

项目介绍

MCP 主机客户端

基于Spring Boot的MCP(模型上下文协议)主机客户端系统,提供完整的MCP服务器管理和工具调用功能。

项目结构

mcp-host-client/
├── mcp-host/          # MCP主机服务 (端口: 8087)
├── mcp-client/        # MCP客户端服务 (端口: 8086)
├── mcp-ui/           # Web前端界面
├── mcp-service.proto # gRPC协议定义
└── README.md

快速开始

1. 环境要求

  • Java 17+
  • Maven 3.6+
  • Node.js 16+(用于前端)
  • MySQL 8.0+ (用于mcp-host)

2. 配置文件设置

MCP 主机配置

复制配置模板并进行修改:

cp mcp-host/src/main/resources/application.yml.example mcp-host/src/main/resources/application.yml

application.yml中修改以下配置:

  • 数据库连接信息
  • LLM API密钥(如OpenAI、通义千问等)

MCP 客户端配置

复制配置模板并进行修改:

cp mcp-client/src/main/resources/application.yml.example mcp-client/src/main/resources/application.yml

MCP客户端使用H2内存数据库,通常不需要修改配置。如果需要自定义,可以修改以下配置:

  • 服务端口(默认:8086)
  • GRPC端口(默认:9090)
  • 日志级别

MCP 服务器配置

MCP服务器配置现在直接存储在数据库中,并可以通过前端界面进行配置和管理。系统会自动初始化一些默认的服务器配置。

配置方法

  1. Web界面管理通过前端界面添加、编辑和删除服务器配置
  2. JSON导入支持导入标准的MCP服务器配置格式

示例JSON配置格式

{
  "mcpServers": {
    "tavily-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "tavily-mcp"
      ],
      "env": {
        "TAVILY_API_KEY": "your-api-key-here"
      },
      "disabled": false,
      "description": "Tavily 搜索工具",
      "timeout": 60
    }
  }
}

3. 构建项目

在启动服务之前,需要构建每个模块:

构建 MCP 客户端

cd mcp-client
mvn clean install

构建 MCP 主机

cd mcp-host
mvn clean install

4. 启动服务

启动 MCP 客户端

cd mcp-client
mvn spring-boot:run

启动 MCP 主机

cd mcp-host
mvn spring-boot:run

启动前端界面

cd mcp-ui
npm install
npm run dev

5. 访问应用

功能

MCP 主机

  • 智能对话接口
  • LLM集成(OpenAI、通义千问)
  • 工具调用管理
  • 提示模板系统

MCP 客户端

  • MCP服务器管理
  • 工具发现与调用
  • 资源管理
  • 健康状态监控

Web界面

  • 服务器配置管理
  • 实时状态监控
  • 工具调用测试
  • 响应式设计

API文档

请参阅详细的API文档:

开发指南

构建

# 开发环境构建(包含依赖安装)
cd mcp-client && mvn clean install
cd ../mcp-host && mvn clean install

# 生产环境构建(打包)
cd mcp-client && mvn clean package
cd ../mcp-host && mvn clean package

# 构建前端
cd mcp-ui
npm run build

运行测试

mvn test

配置说明

敏感信息处理

该项目使用以下方法处理敏感信息:

  • 配置文件模板(.example后缀)
  • .gitignore忽略实际配置文件
  • 支持环境变量

支持的MCP服务器类型

  • STDIO:通过标准输入/输出通信
  • HTTP:通过HTTP协议通信(开发中)

故障排除

常见问题

  1. 数据库连接失败

    • 检查MySQL服务是否已启动
    • 核实数据库连接配置
  2. MCP服务器启动失败

    • 检查命令路径是否正确
    • 验证环境变量配置
    • 查看服务器日志
  3. API调用超时

    • 调整gRPC超时配置
    • 检查网络连接

贡献指南

  1. 分叉项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建拉取请求

许可证

本项目采用MIT许可证 - 详情见LICENSE文件

联系方式

如有任何疑问或建议,请创建一个issue或联系项目维护者。