Skip to main content

MCP 服务器启动器文档

Spring AI MCP 服务器启动器 (spring-ai-mcp-server-boot-starter) 简化了符合模型上下文协议 (MCP) 的服务器应用程序的创建。

概述

MCP 服务器启动器提供了:
  • 自动配置 MCP 端点。
  • 用于处理 MCP 请求的组件。
  • 与 Spring Boot 应用程序的无缝集成。

入门

要开始使用 MCP 服务器启动器,请将以下依赖项添加到您的 pom.xml 文件中:

配置

MCP 服务器启动器可以通过 application.propertiesapplication.yml 文件进行配置。以下是一些常见的配置选项:

服务器属性

  • spring.ai.mcp.server.enabled: 启用或禁用 MCP 服务器 (默认为 true)。
  • spring.ai.mcp.server.path: MCP API 端点的基础路径 (默认为 /mcp)。
  • spring.ai.mcp.server.port: MCP 服务器监听的端口 (默认为应用程序的服务器端口)。
示例 application.properties

模型配置

您需要配置您的 Spring AI 模型 (例如,ChatModel、EmbeddingModel)。MCP 服务器将使用这些已配置的模型来处理传入的请求。 确保您已按照各个模型文档中的说明配置了所需的模型 bean。 例如,要配置 OpenAI 聊天模型:

用法

一旦配置完成,MCP 服务器启动器将自动暴露处理 MCP 请求所需的端点。

MCP 端点

默认情况下,MCP 服务器在 /mcp/v1/chat/completions (对于聊天模型) 和 /mcp/v1/embeddings (对于嵌入模型) 上暴露端点。这些路径可以通过 spring.ai.mcp.server.path 属性进行自定义。

处理程序

启动器提供了 McpChatHandlerMcpEmbeddingHandler 来处理相应的 MCP 请求。这些处理程序使用已配置的 Spring AI 模型与底层 AI 提供程序进行交互。 您可以自定义这些处理程序的行为,或者通过提供您自己的 McpChatHandlerMcpEmbeddingHandler bean 来提供您自己的实现。

自定义 McpChatHandler

其中 McpChatOptions 可以包含特定于聊天的选项,如默认提示模板或后处理器。

请求和响应格式

服务器期望请求并以 MCP 指定的格式发送响应。有关详细信息,请参阅 MCP 规范。

示例:创建一个简单的 MCP 服务器

  1. 添加依赖项:如上所述,将 spring-ai-mcp-server-boot-starter 和模型特定的启动器 (例如,spring-ai-openai-spring-boot-starter) 添加到您的 pom.xml 中。
  2. 配置属性:在 application.properties 中配置您的 AI 模型凭证和可选的 MCP 服务器属性。
  3. 运行应用程序:启动您的 Spring Boot 应用程序。
MCP 服务器现在应该正在运行并准备好在配置的路径上处理 MCP 请求。

安全性

保护您的 MCP 端点非常重要。考虑使用 Spring Security 或其他身份验证/授权机制来保护您的 API。 以下是使用 Spring Security 进行基本身份验证的简单示例:
  1. 添加 Spring Security 依赖项:
  2. 配置安全规则:
上述安全配置仅为示例。对于生产环境,请实施更强大的安全措施。

故障排除

  • 404 未找到:验证 MCP 端点路径是否正确配置,并且您的应用程序是否正在运行。
  • 身份验证错误:确保您的 AI 模型凭证正确无误且具有必要的权限。
  • 依赖项冲突:检查您的 pom.xml 是否存在可能导致问题的冲突依赖项。
有关更多详细信息和高级配置,请参阅 Spring AI MCP 参考文档GitHub 仓库

文档有误?请协助编辑

发现文档问题?点击此处直接在 GitHub 上编辑并提交 PR,帮助我们改进文档!