返回 MCP 目录
public公开dns本地运行

ModelContextProtocolClient

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

article

README

🚀 ModelContextProtocolClient

本项目是一个基于Spring Boot的客户端应用程序,它展示了如何运用不同的传输方法(WebFlux SSE、Stdio)与MCP服务器进行通信,为开发者提供了多样化的通信解决方案。

🚀 快速开始

环境配置

  1. 在项目根目录下创建一个.env文件,并添加以下内容:
BRAVE_SEARCH_API_KEY=你的Brave搜索API密钥
WEATHER_API_KEY=你的天气API密钥
  1. 克隆MCP服务器仓库:
git clone https://github.com/InnoBridge/ModelContextProtocolServer
  1. Docker环境配置:
    • 更新docker-compose.yml中的卷映射:
modelcontextprotocolclient_application
...
volumes:
  - .:/app
  - /var/run/docker.sock:/var/run/docker.sock
  - ./local/root:/root
  - ../{ModelContextProtocolServer所在路径}:/ModelContextProtocolServer
- 启动Docker容器:
sudo docker compose up
- 构建并运行MCP服务器:
# 在新的终端窗口中
sudo docker exec -it modelcontextprotocolserver-application sh
cd /app
./mvnw clean install
./mvnw spring-boot:run
- 构建并运行客户端:
# 在另一个新的终端窗口中
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传输:使用标准输入输出与服务器通信,会自动启动服务器JAR文件并以stdio模式运行。
  3. BraveSearch传输:使用BraveSearch API进行通信,需要在.env文件中添加BRAVE_SEARCH_API_KEY,可从Brave Search API获取API密钥。
  4. 天气API:用于WebFlux和Stdio传输的天气信息查询,需要在.env文件中添加WEATHER_API_KEY,可从WeatherAPI获取API密钥。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端