基于Spring Boot的MCP(模型上下文协议)主机客户端系统,提供完整的MCP服务器管理和工具调用功能。
mcp-host-client/
├── mcp-host/ # MCP主机服务 (端口: 8087)
├── mcp-client/ # MCP客户端服务 (端口: 8086)
├── mcp-ui/ # Web前端界面
├── mcp-service.proto # gRPC协议定义
└── README.md
复制配置模板并进行修改:
cp mcp-host/src/main/resources/application.yml.example mcp-host/src/main/resources/application.yml
在application.yml中修改以下配置:
复制配置模板并进行修改:
cp mcp-client/src/main/resources/application.yml.example mcp-client/src/main/resources/application.yml
MCP客户端使用H2内存数据库,通常不需要修改配置。如果需要自定义,可以修改以下配置:
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
}
}
}
在启动服务之前,需要构建每个模块:
cd mcp-client
mvn clean install
cd mcp-host
mvn clean install
cd mcp-client
mvn spring-boot:run
cd mcp-host
mvn spring-boot:run
cd mcp-ui
npm install
npm run dev
请参阅详细的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服务器启动失败
API调用超时
本项目采用MIT许可证 - 详情见LICENSE文件
如有任何疑问或建议,请创建一个issue或联系项目维护者。