ModelContextProtocolClient

ModelContextProtocolClient

site icon
2025.03.01 1
Java开发工具通信协议开发效率
ModelContextProtocolClient 是一个 Spring Boot 客户端应用程序,用于演示与 MCP 服务器通信的不同传输方法(WebFlux SSE、Stdio)。它支持多种传输配置,包括 WebFlux SSE、Stdio、BraveSearch 和 Weather API,适用于需要与 MCP 服务器进行高效通信的开发场景。
View on GitHub

Overview

基本能力

产品定位

ModelContextProtocolClient 是一个用于演示与 MCP 服务器通信的 Spring Boot 客户端应用程序,支持多种传输方法。

核心功能

  1. 多种传输方法支持
  2. WebFlux SSE Transport(默认)
  3. Stdio Transport
  4. BraveSearch Transport
  5. Weather API
  6. 工具列表查询:支持通过不同传输方法查询可用工具。
  7. 计算功能:支持通过不同传输方法进行数学计算。
  8. 天气查询:支持通过不同传输方法查询天气信息。
  9. 网络搜索:支持通过 BraveSearch Transport 进行网络搜索。

适用场景

  1. 开发测试:用于测试 MCP 服务器的不同传输方法。
  2. 工具集成:集成多种工具(如计算器、天气查询、网络搜索)的客户端应用。
  3. 多传输方法研究:研究不同传输方法(如 WebFlux SSE、Stdio)的性能和适用性。

工具列表

  1. 计算器工具:支持加、减、乘、除等数学运算。
  2. 天气查询工具:支持查询指定地点的天气信息。
  3. 网络搜索工具:支持通过 BraveSearch API 进行网络搜索。

常见问题解答

  1. 如何获取 API 密钥?
  2. BraveSearch API 密钥可从 Brave Search API 获取。
  3. Weather API 密钥可从 WeatherAPI 获取。
  4. 如何切换传输方法?
  5. 默认使用 WebFlux SSE Transport,可通过配置切换为 Stdio Transport 或其他传输方法。

使用教程

使用依赖

  1. 创建 .env 文件并填写 API 密钥: bash BRAVE_SEARCH_API_KEY=your_brave_search_api_key_here WEATHER_API_KEY=your_weather_api_key_here

安装教程

  1. 克隆 MCP 服务器仓库: bash git clone https://github.com/InnoBridge/ModelContextProtocolServer
  2. 更新 docker-compose.yml 文件中的卷映射: ```yaml volumes:
    • .:/app
    • /var/run/docker.sock:/var/run/docker.sock
    • ./local/root:/root
    • ../{path to ModelContextProtocolServer repo}:/ModelContextProtocolServer ```
  3. 启动 Docker 容器: bash sudo docker compose up
  4. 构建并运行 MCP 服务器: bash sudo docker exec -it modelcontextprotocolserver-application sh cd /app ./mvnw clean install ./mvnw spring-boot:run
  5. 构建并运行客户端: bash docker exec -it modelcontextprotocolclient-application sh ./mvnw spring-boot:run

调试方式

  1. 查询可用工具: bash curl -X GET "http://localhost:8080/webflux/tools"
  2. 使用计算器工具: bash curl -X POST "http://localhost:8080/webflux/calculate?operation=add&a=5&b=3"
  3. 查询天气信息: bash curl -X POST "http://localhost:8080/webflux/weather?location=San%20Francisco&format=celsius"
  4. 进行网络搜索: bash curl -X POST "http://localhost:8080/bravesearch?query=spring%20boot"

许可证

None