MCP
MCP (Model Context Protocol)是一种开放协议,用于标准化应用程序如何向大型语言模型(LLMs)提供上下文。可以将 MCP 想象为 AI 应用的 typec 接口。正如 typec 提供了一种标准化的方式将设备连接到各种外设和配件,MCP 也提供了一种标准化的方式,将 AI 模型连接到不同的数据源和工具

配置文件
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mcpServers | 对象 | 是 | 所有MCP服务的集合,每个服务由server_name标识 |
| server_name | 字符串 | 是 | 自定义服务名称(如amap-maps、filesystem、github、mongodb) |
| disabled | 布尔 | 否 | 是否禁用该服务。如果设置为true,则该服务不会被启动 |
| startupTimeout | 整数 | 否 | 服务启动/通信最大等待时间,默认值通常是60秒(单位:秒) |
| command | 字符串 | 是 | 启动命令(如node、npx、uv) |
| args | 数组 | 是 | 命令参数(如["-y", "@amap/amap-maps-mcp-server"])-y的作用:自动确认(Yes)或跳过交互式提示 |
| env | 对象 | 否 | 环境变量(如API密钥、数据库连接密码) |
| transport | 字符串 | 否 | stdio:本地进程通信(如Node.js、Python脚本) http:HTTP通信(需提供URL) |
OpenMCP
基本示例
安装浏览器插件:https://chromewebstore.google.com/detail/drawio-mcp-extension/okdbbjbbccdhhfaefmcmekalmmdjjide

安装VS插件:

添加MCP:
json
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": [
"-y",
"drawio-mcp-server"
],
// "cwd": "/path/to/your/project/directory", // 选填
"type": "stdio"
}
}
}
查看插件:

测试连接:

测试效果:

工具列表:

SpringAI集成
参考博客:
Spring Al 通过以下 Spring Boot 启动器提供 MCP 集成:
客户端启动器
spring-ai-starter-mcp-client核心启动器提供STDIO和基于HTTP的SSE支持spring-ai-starter-mcp-client-webflux基于WebFlux的SSE流式传输实现
服务端启动器
spring-ai-starter-mcp-server核心服务器具有STDIO传输支持spring-ai-starter-mcp-server-webmvc基于Spring MVC的SSE流式传输实现spring-ai-starter-mcp-server-webflux基于WebFlux的SSE流式传输实现
配置文件drawio-mcp-server.json(Linux):
json
{
"mcpServers": {
"drawio": {
"command": "npx",
"args": [
"-y",
"drawio-mcp-server"
]
}
}
}Windows写法:
json{ "mcpServers": { "drawio": { "command": "cmd", "args": [ "/c", "npx", "-y", "drawio-mcp-server" ] } } }
配置application.yml:
yaml
spring:
ai:
mcp:
client:
stdio:
# 指定MCP服务器配置文件
servers-configuration: classpath:/drawio-mcp-server.json配置ChatClient:
java
@Bean
public ChatClient ragClient(ToolCallbackProvider mcpTools) {
return ChatClient.defaultTools(mcpTools)
}效果:

