模型上下文协议(MCP)服务器是通过标准化协议接口向人工智能应用展示特定功能的程序。每个服务器都为特定领域提供专门的功能。
Spring AI MCP服务器引导启动器为在Spring Boot应用程序中设置MCP服务器提供了自动配置功能。它们使MCP服务器功能能够与Spring Boot的自动配置系统无缝集成。
MCP服务器启动器提供:
MCP服务器启动器
MCP服务器支持多种协议和传输机制。请使用专用的启动器并配置正确的spring.ai.mcp.server.protocol属性来配置您的服务器:
STDIO
| | |
|---|
Standard Input/Output (STDIO) | spring-ai-starter-mcp-server
| spring.ai.mcp.server.stdio=true
|
WebMVC
| | |
|---|
SSE WebMVC | spring-ai-starter-mcp-server-webmvc
| spring.ai.mcp.server.protocol=SSE or empty
|
Streamable-HTTP WebMVC | spring-ai-starter-mcp-server-webmvc
| spring.ai.mcp.server.protocol=STREAMABLE
|
Stateless WebMVC | spring-ai-starter-mcp-server-webmvc
| spring.ai.mcp.server.protocol=STATELESS
|
WebMVC(响应式)
| | |
|---|
SSE WebFlux | spring-ai-starter-mcp-server-webflux
| spring.ai.mcp.server.protocol=SSE or empty
|
Streamable-HTTP WebFlux | spring-ai-starter-mcp-server-webflux
| spring.ai.mcp.server.protocol=STREAMABLE
|
Stateless WebFlux | spring-ai-starter-mcp-server-webflux
| spring.ai.mcp.server.protocol=STATELESS
|
服务器功能
根据服务器和传输类型,MCP服务器可以支持各种功能,例如:
工具-允许服务器公开可由语言模型调用的工具
资源-为服务器向客户端公开资源提供了一种标准化的方法
Prompts-为服务器向客户端公开提示模板提供了一种标准化的方法
实用程序/补全-为服务器提供一种标准化的方式,为提示和资源URI提供参数自动补全建议
实用程序/日志记录-为服务器向客户端发送结构化日志消息提供了一种标准化的方法
实用程序/进度-通过通知消息对长时间运行的操作进行可选的进度跟踪
实用程序/Ping-服务器报告其状态的可选健康检查机制
默认情况下启用所有功能。禁用功能将阻止服务器注册并向客户端公开相应的功能。
服务器协议
MCP提供多种协议类型,包括:
STDIO-进程中(例如服务器在主机应用程序内运行)协议。沟通过于规范。要启用STDIO,请设置spring.ai.mcp.server.STDIO=true。
SSE-服务器发送事件协议以进行实时更新。服务器作为一个独立的进程运行,可以处理多个客户端连接。
Streamable HTTP-Streamable HTTP传输允许MCP服务器作为独立进程运行,可以使用HTTP POST和GET请求处理多个客户端连接,并为多个服务器消息提供可选的服务器发送事件(SSE)流。它取代了SSE传输。要启用STREAMABLE协议,请设置spring.ai.mcp.server.protocol=STREAMABLE。
无状态-无状态MCP服务器专为简化部署而设计,在这些部署中,请求之间不保持会话状态。它们非常适合微服务架构和云原生部署。要启用STATELESS协议,请设置spring.ai.mcp.server.protocol=STATELESS。