mcpField
M
ModelContextProtocolClient

ModelContextProtocolClient

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

关于 ModelContextProtocolClient

用于 MCP 开发的 Spring Boot 客户端应用,演示通过 WebFlux SSE 和 stdio 与 MCP 服务通信。它还提供计算器、天气和 Brave Search 操作的端点。

主要功能

  1. 01WebFlux SSE 服务连接
  2. 02stdio 服务连接
  3. 03计算器和天气 HTTP 端点
  4. 04Brave Search API 访问

适用场景

  1. 01比较 SSE 与 stdio 传输方式
  2. 02通过端点调用计算器和天气工具
  3. 03通过应用执行 Brave Search

MCP 相关

作为 MCP 客户端,演示通过 WebFlux SSE 和 stdio 连接服务。其端点提供通过这些传输方式调用的操作。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"ModelContextProtocolClient": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

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

详细介绍

ModelContextProtocolClient

一个 Spring Boot 客户端应用,演示了与 MCP 服务通信的不同传输方式(WebFlux SSE、Stdio)。

设置

  1. 在根目录中创建一个 .env 文件,并填入你的 API 密钥:
BRAVE_SEARCH_API_KEY=your_brave_search_api_key_here
WEATHER_API_KEY=your_weather_api_key_here
  1. 克隆 https://github.com/InnoBridge/ModelContextProtocolServer

  2. Docker 设置

    1. 更新 docker-compose.yml 中的卷映射:
     modelcontextprotocolclient_application
     ...
    volumes:
      - .:/app
      - /var/run/docker.sock:/var/run/docker.sock
      - ./local/root:/root
      - ../{path to ModelContextProtocolServer repo}:/ModelContextProtocolServer
    
    1. 启动 Docker 容器:
    sudo docker compose up
    
    1. 构建并运行 MCP 服务:
    # In a new terminal
    sudo docker exec -it modelcontextprotocolserver-application sh
    cd /app
    ./mvnw clean install
    ./mvnw spring-boot:run
    
    1. 构建并运行客户端:
    # In another new terminal
    docker exec -it modelcontextprotocolclient-application sh
    ./mvnw spring-boot:run
    

可用端点

WebFlux 传输
  • GET /webflux/tools - 列出所有可用工具
  • POST /webflux/calculate - 使用计算器工具进行计算
    curl -X POST "http://localhost:8080/webflux/calculate?operation=add&a=5&b=3"
    
  • POST /webflux/weather - 获取天气信息
    curl -X POST "http://localhost:8080/webflux/weather?location=San%20Francisco&format=celsius"
    
Stdio 传输
  • GET /stdio/tools - 列出所有可用工具
  • POST /stdio/calculate - 使用计算器工具进行计算
    curl -X POST "http://localhost:8080/stdio/calculate?operation=add&a=5&b=3"
    
  • POST /stdio/weather - 获取天气信息
    curl -X POST "http://localhost:8080/stdio/weather?location=San%20Francisco&format=celsius"
    
BraveSearch 传输
  • GET /tools/bravesearch - 列出可用工具
  • POST /bravesearch - 执行网络搜索
    curl -X POST "http://localhost:8080/bravesearch?query=spring%20boot"
    

配置

应用支持多种传输配置:

  1. WebFlux SSE 传输(默认)

    • 使用 Server-Sent Events 与服务通信
    • 服务必须以 WebFlux 模式运行
  2. Stdio 传输

    • 使用标准输入/输出与服务通信
    • 自动以 stdio 模式启动服务 jar 包
  3. BraveSearch 传输

    • 与 BraveSearch API 通信
    • 需要在 .env 文件中设置 BRAVE_SEARCH_API_KEY
    • 从 Brave Search API 获取 API 密钥
  4. Weather API

    • WebFlux 和 Stdio 传输均使用此 API 获取天气信息
    • 需要在 .env 文件中设置 WEATHER_API_KEY
    • 从 WeatherAPI 获取 API 密钥

评论

支持 Markdown

第一次接触 MCP?

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

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