关于 ModelContextProtocolClient
用于 MCP 开发的 Spring Boot 客户端应用,演示通过 WebFlux SSE 和 stdio 与 MCP 服务通信。它还提供计算器、天气和 Brave Search 操作的端点。
主要功能
- 01WebFlux SSE 服务连接
- 02stdio 服务连接
- 03计算器和天气 HTTP 端点
- 04Brave Search API 访问
适用场景
- 01比较 SSE 与 stdio 传输方式
- 02通过端点调用计算器和天气工具
- 03通过应用执行 Brave Search
MCP 相关
作为 MCP 客户端,演示通过 WebFlux SSE 和 stdio 连接服务。其端点提供通过这些传输方式调用的操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ModelContextProtocolClient
一个 Spring Boot 客户端应用,演示了与 MCP 服务通信的不同传输方式(WebFlux SSE、Stdio)。
设置
- 在根目录中创建一个
.env文件,并填入你的 API 密钥:
BRAVE_SEARCH_API_KEY=your_brave_search_api_key_here
WEATHER_API_KEY=your_weather_api_key_here
-
Docker 设置
- 更新 docker-compose.yml 中的卷映射:
modelcontextprotocolclient_application ... volumes: - .:/app - /var/run/docker.sock:/var/run/docker.sock - ./local/root:/root - ../{path to ModelContextProtocolServer repo}:/ModelContextProtocolServer- 启动 Docker 容器:
sudo docker compose up- 构建并运行 MCP 服务:
# In a new terminal sudo docker exec -it modelcontextprotocolserver-application sh cd /app ./mvnw clean install ./mvnw spring-boot:run- 构建并运行客户端:
# 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"
配置
应用支持多种传输配置:
-
WebFlux SSE 传输(默认)
- 使用 Server-Sent Events 与服务通信
- 服务必须以 WebFlux 模式运行
-
Stdio 传输
- 使用标准输入/输出与服务通信
- 自动以 stdio 模式启动服务 jar 包
-
BraveSearch 传输
- 与 BraveSearch API 通信
- 需要在
.env文件中设置BRAVE_SEARCH_API_KEY - 从 Brave Search API 获取 API 密钥
-
Weather API
- WebFlux 和 Stdio 传输均使用此 API 获取天气信息
- 需要在
.env文件中设置WEATHER_API_KEY - 从 WeatherAPI 获取 API 密钥
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。