关于配置mcp服务端sse-message-endpoint和sse-endpoint的注意点

在spring ai配置mcp服务时,这里的pom配置如下(alibaba的配置不用管):

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ai</groupId>
    <artifactId>mcp-server</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.5.9</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>1.1.8</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.alibaba.cloud.ai</groupId>
                <artifactId>spring-ai-alibaba-bom</artifactId>
                <version>1.1.2.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.alibaba.cloud.ai</groupId>
                <artifactId>spring-ai-alibaba-extensions-bom</artifactId>
                <version>1.1.2.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
        <repository>
            <name>Central Portal Snapshots</name>
            <id>central-portal-snapshots</id>
            <url>https://central.sonatype.com/repository/maven-snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

</project>

application.yml配置如下:

java 复制代码
spring:
  application:
    name: mcp-server
  ai:
    mcp:
      server:
        name: mcp-server1
        version: 1.0.0
        type: SYNC
        # sse消息端点路径
        sse-message-endpoint: /api/v1/mcp/message
        # sse端点路径
        sse-endpoint: /api/v1/sse
        # url访问前缀
#        base-url: /api/v1
        stdio: false

server:
  port: 8085

这里可以看到有一个base_url的配置,这个配置目前感觉是没有多大的作用,我在客户端访问MCP服务端的时候这个base_url的配置主要作用在sse-message-endpoint链接前缀,但是当客户端连接上sse-endpoint端点的时候访问的/api/v1/mcp/message出现404的错误,但是当把base_url注释掉,直接把sse-message-endpoint端点修改为/api/v1/mcp/message就可以正常访问了,客户端的配置如下:

java 复制代码
spring:
  ai:
    mcp:
      client:
        mcp-server:
           url: http://localhost:8085
           sse-endpoint: /api/v1/sse
相关推荐
Bingo_BIG2 天前
Java Spring框架:单表的查询、新增、修改、删除、导入、导出
java·spring·前后端
paopaokaka_luck2 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
牧瀬クリスだ2 天前
YAML配置详解:SpringBoot实战指南
java·spring·yml
需要8262 天前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
为美好的生活献上中指2 天前
《Spring AI MCP 实战全景:AI 股票大师如何用模型上下文协议接入金融数据宇宙——从 JSON-RPC 握手到企业级部署与安全加固》
serverless·mcp·模型上下文协议·promptinjection·toolpoisoning·mcp生态
paopaokaka_luck2 天前
考研政治刷题小程序(AI推荐题目、ECharts数据分析、章节练习与专项训练、模拟考试、错题本与收藏夹、学习打卡与目标管理、题库和组卷维护)
前端·javascript·spring boot·spring·数据分析·echarts
步行cgn2 天前
Spring 基于 XML 的自动装配:byType 详解
java·后端·spring
边境悍匪2 天前
蜗牛学苑 Java 智能体学习 Day46|贯穿项目 2 思维导图复盘
java·开发语言·vue.js·学习·spring
吴佳浩2 天前
Tool 的安全性与执行沙箱:从 Docker 到 gVisor 的防御架构
agent·ai编程·mcp
步行cgn2 天前
Spring c 命名空间注入详解
java·后端·spring