砍材农夫砍材农夫
  • 微信记账小程序
  • java
  • redis
  • mysql
  • 场景类
  • 框架类
  • vuepress搭建
  • hexo搭建
  • 云图
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • nodejs
    • npm
    • webpack
    • 微信
    • 正则
    • uniapp
  • java

    • java基础
    • jdk体系
    • jvm
    • spring
    • spring_cloud
    • spring_boot
    • 分库分表
    • zookeeper
  • python

    • python基础
    • python高级
    • python框架
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI插件
  • AI集成框架
  • 相关算法
  • AI训练师
  • 量化交易
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • docker
  • k8s
  • devops
  • nginx
  • 元宇宙
  • 区块链
  • 物联网
  • linux
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • 思
  • 微信记账小程序
  • java
  • redis
  • mysql
  • 场景类
  • 框架类
  • vuepress搭建
  • hexo搭建
  • 云图
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • nodejs
    • npm
    • webpack
    • 微信
    • 正则
    • uniapp
  • java

    • java基础
    • jdk体系
    • jvm
    • spring
    • spring_cloud
    • spring_boot
    • 分库分表
    • zookeeper
  • python

    • python基础
    • python高级
    • python框架
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI插件
  • AI集成框架
  • 相关算法
  • AI训练师
  • 量化交易
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • docker
  • k8s
  • devops
  • nginx
  • 元宇宙
  • 区块链
  • 物联网
  • linux
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • 思
  • 首页

    • 介绍
    • 框架比较
  • spring-ai

    • spring-ai 第一步入门
    • spring-ai 第二提示词介绍
    • spring-ai 第三结构化输出
    • spring-ai 第四多模态API
    • spring-ai 第五模型介绍
    • spring-ai 第六模型介绍-聊天模型
    • spring-ai 第七模型介绍-向量模型
    • spring-ai 第八模型介绍-图像模型
    • spring-ai 第九模型介绍-聊天记录
    • spring-ai 第十tool调用
    • spring-ai 第十一 MCP server 调用入门(stdio协议)
    • spring-ai 第十二 MCP server 调用入门(http协议)
    • spring-ai 第十三 MCP client 调用入门
    • spring-ai 第十四 MCP和tool区别
    • spring-ai 第十五 RAG
    • spring-ai 第十五一节 RAG(加更ETL)
    • spring-ai 第十六 向量数据库
  • spring-ai-alibaba

    • 搭建demo
    • 相关概念
    • demo搭建springAIAlibaba
  • spring-skills

    • 搭建demo
    • 相关概念
    • demo搭建springAIAlibaba
  • AgentScopeJava
    • 搭建demo
    • demo搭建springAIAlibaba
  • langchain

    • v1.0

      • 如何升级版本
      • 环境搭建
      • 架构结构
      • 模型
      • langchain核心
      • langchain-model
      • langchain提示词模板
      • langchain语言模型
      • 调用本地大模型
      • langChain中Chain链使用
      • langChain流程编排
      • langChain服务部署与链路监控
      • langChain消息管理与聊天历史存储
      • langchain_loader
      • langchain中RAG
      • langchain中Agent
  • dify

    • dify入门和安装
    • dify模型配置和验证
  • n8n

    • n8n入门和安装
  • coze

    • coze入门和安装
  • spring-ai 第十二mcp server调用入门(http协议)
    • 官网
    • mcp协议通信方式
    • Java MCP的实现遵循三层架构
      • 客户端/服务器层(顶部)
      • 会话层(中间)
      • 传输层(底部)
    • mcp 服务端
    • mcp client源码示例
    • pom
      • yml配置
      • 启动验证

spring-ai 第十二mcp server调用入门(http协议)

官网

(MCP) 是一个标准化协议,使 AI 模型能够以结构化的方式与外部工具和资源进行交互。 想象它是一个在你的 AI 模型和现实世界之间的桥梁 - 允许它们通过一致的接口访问数据库、API、文件系统和其他外部服务。 它支持多种传输机制,以在不同的环境中提供灵活性

spring-ai网址【https://docs.spring.io/spring-ai/reference/api/mcp/mcp-overview.html】

mcp协议通信方式

  • STDIO: 通过标准输入/输出流通信,适合 AI 客户端作为子进程直接启动 MCP 服务器的本地开发与命令行工具集成场景。需关闭控制台日志以避免干扰协议消息。
  • SSE (Server-Sent Events): 基于 HTTP,允许服务器单向推送数据流。适合需要实时通知的 Web 应用,现已被 Streamable HTTP 取代。
  • Streamable HTTP: 官方推荐传输方式,使用 HTTP POST/GET 并可选 SSE 流式响应,支持多客户端并发,连接管理更高效。
  • Stateless Streamable HTTP: 无状态的 Streamable HTTP,不维护会话状态,适合无状态微服务架构,能进一步简化部署。

Java MCP的实现遵循三层架构

Image text

客户端/服务器层(顶部)

最顶层处理主要的应用逻辑和协议操作:
McpClient - 管理客户端操作和服务器连接
McpServer - 处理服务器端协议操作和客户端请求
两个组件利用较低的会话层进行通信管理

会话层(中间)

中间层管理通信模式并维护连接状态:
McpSession - 核心会话管理接口
McpClientSession - 客户端特定的会话实现
McpServerSession - 服务器特定的会话实现

传输层(底部)

最底层处理实际的消息传输和序列化:
McpTransport - 管理JSON-RPC消息的序列化和反序列化
支持多种传输实现(STDIO、HTTP/SSE、可流式传输的HTTP等)
为所有高级别的沟通提供基础

mcp 服务端

Image text

协议版本协商以确保与服务器的兼容性
能力协商以确定可用功能
消息传输和JSON-RPC通信
工具发现和执行
资源访问和管理
提示系统交互
可选功能:
    根源管理
    采样支持
    同步和异步操作
运输选项:
    基于标准输入/输出流的进程间通信传输
    Java HttpClient-based SSE客户端传输
    WebFlux SSE 客户端传输用于反应式HTTP流

mcp client源码示例

https://gitee.com/kcnf_open/spring-ai-sample/tree/master/spring-ai/spring-ai-sample10-mcp/spring-ai-sample10-mcp-server-http

pom

<dependencies>
    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
    </dependency>
    <!-- Spring Boot Starter 基础依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

</dependencies>

yml配置

server:
    port: 8083

spring:
    application:
        name: mcp-server-demo
    ai:
        mcp:
            server:
                enabled: true
                name: "mcp-server-demo"
                version: "1.0.0"
                # 关键配置:启用 Streamable HTTP 传输
                protocol: STREAMABLE
                # Streamable HTTP 端点(默认 /mcp)
                streamable-http:
                    mcp-endpoint: /mcp
                capabilities:
                    tool: true
                    resource: false
                    prompt: false

启动验证

  • 第一步

启动后,MCP Server 会在 http://localhost:8083/mcp 端点提供服务

  • 第二步

cmd 命令 执行 npx @modelcontextprotocol/inspector

  • 第三步 按照如下红色箭头操作 Image text
最近更新: 2026/4/8 22:13
Contributors: kcnf
Prev
spring-ai 第十一 MCP server 调用入门(stdio协议)
Next
spring-ai 第十三 MCP client 调用入门