Token导航 LogoToken导航

MCP Server · AI代理

Spring AI MCP Backend

基于Spring AI框架开发的智能对话系统,集成MCP协议和RAG技术,支持多模态处理和工具调用。

未说明官方级别未说明来源级核验工具 4
JavaClaudeAI代理

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
yelingdenghe
提供方
yelingdenghe

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Spring AI MCP Backend 属于AI代理类 MCP Server,公开资料标注 4 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前要先准备 API Key。

分类

AI代理

传输方式

未说明

认证方式

API Key

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

SpringAI-MCP-RAG-Dev

基于 Spring AI 的智能对话系统,集成 MCP 协议和 RAG 技术

功能特性 • 快速开始 • 技术架构 • API 文档 • 部署指南


📖 项目简介

SpringAI-MCP-RAG-Dev 是一个基于 Spring AI 框架开发的现代化智能对话系统,集成了 MCP(Model Context Protocol)协议 和 RAG(检索增强生成)技术。该项目支持多种主流 AI 模型,提供丰富的多模态能力,包括文本对话、语音识别/合成、图像理解、视频分析等功能。

💡 为什么选择本项目?

  • 🚀 开箱即用:完整的配置示例和详细文档
  • 🔌 多模型支持:OpenAI、DeepSeek、通义千问、智谱 AI、Ollama
  • 🎯 多模态能力:文本、语音、图像、视频全覆盖
  • 🛠️ MCP 协议:支持工具调用和外部服务集成
  • 📚 RAG 技术:基于向量数据库的知识库检索
  • 🌐 互联网搜索:集成 SearXNG 实现实时信息检索
  • 🔄 实时通信:支持 SSE 和 WebSocket
  • 🐳 容器化部署:Docker Compose 一键部署

✨ 功能特性

🤖 核心对话能力

  • 智能对话:支持流式输出、上下文管理、多轮对话
  • RAG 检索:基于 Redis 向量数据库的知识库问答
  • 文档解析:支持 PDF、DOCX、Markdown 等多种文档格式
  • 互联网搜索:实时获取最新信息并生成回答

🎤 音频处理

  • ASR(语音识别):

- 实时语音识别(WebSocket) - 音频文件转文字 - 支持通义千问语音模型

  • TTS(语音合成):

- 文字转语音 - 多种音色选择

🖼️ 图像处理

  • 图像理解:基于视觉语言模型的图像描述和问答
  • 图像描述生成:自动生成详细的图像描述
  • 多图对比分析:支持多张图片的对比分析

🎬 视频处理

  • 视频分析:基于帧提取的视频内容理解
  • 帧级处理:关键帧提取和分析
  • 视频问答:针对视频内容的智能问答

🔧 MCP 工具调用

  • 邮件发送:集成邮件服务
  • 数据库操作:通过 MCP 协议操作数据库
  • 文件系统:MCP 文件系统服务器集成
  • 可扩展性:支持自定义 MCP 工具

🏗️ 技术架构

架构图

┌─────────────────────────────────────────────────────────────┐
│                         前端层                               │
│                  (Vue 3 + TypeScript)                       │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      │ HTTP/WebSocket/SSE
                      ▼
┌─────────────────────────────────────────────────────────────┐
│                      MCP Client                              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │ Chat Service │  │ Audio Service│  │ Video Service│     │
│  └──────────────┘  └──────────────┘  └──────────────┘     │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │  RAG Service │  │ Image Service│  │Search Service│     │
│  └──────────────┘  └──────────────┘  └──────────────┘     │
└─────────────┬──────────────────────┬──────────────────────┘
              │                      │
              │ MCP Protocol         │ AI Model API
              ▼                      ▼
┌──────────────────────┐   ┌──────────────────────────┐
│    MCP Server        │   │   AI Model Providers     │
│  ┌────────────────┐  │   │  ┌────────────────────┐ │
│  │  Email Tool    │  │   │  │ OpenAI/DeepSeek    │ │
│  │  Database Tool │  │   │  │ 通义千问 (Qwen)     │ │
│  │  Custom Tools  │  │   │  │ 智谱 AI (GLM)       │ │
│  └────────────────┘  │   │  │ Ollama (Local)     │ │
└──────────────────────┘   │  └────────────────────┘ │
                           └──────────────────────────┘
              │                      │
              ▼                      ▼
┌──────────────────────┐   ┌──────────────────────────┐
│    MySQL Database    │   │  Redis Vector Store      │
│   (结构化数据存储)     │   │   (向量数据库)            │
└──────────────────────┘   └──────────────────────────┘

技术栈

后端 (Java)
技术版本说明
Spring Boot3.5.6基础框架
Spring AI1.0.3AI 集成框架
Java21开发语言
MyBatis-Plus3.5.14ORM 框架
Redis-向量数据库
MySQL-关系型数据库
WebFlux-响应式编程
前端 (Vue)
技术说明
Vue 3前端框架
TypeScript类型系统
Vite构建工具
Element PlusUI 组件库
AI 模型支持
  • OpenAI API Compatible: GPT-4, GPT-3.5, DeepSeek
  • 阿里通义千问: Qwen-32B, 语音、视频模型
  • 智谱 AI: GLM-4.1v-thinking-flash
  • Ollama: 支持本地部署的各种开源模型
工具与中间件
  • Docker & Docker Compose: 容器化部署
  • SearXNG: 元搜索引擎
  • Ollama: 本地模型运行时
  • Nginx: 前端服务器

🚀 快速开始

前置要求

  • ✅ Java 21+
  • ✅ Maven 3.8+
  • ✅ Node.js 18+
  • ✅ Docker & Docker Compose(可选,用于部署)
  • ✅ Redis 服务器
  • ✅ MySQL 8.0+
  • ✅ Spring AI 前端服务 前端项目地址

本地开发

1️⃣ 克隆项目
git clone https://github.com/yelingdenghe/spring-ai-mcp-backend.git
cd SpringAI-MCP-RAG-Dev
2️⃣ 配置环境变量

MCP Client 配置:

cd mcp-client/src/main/resources/
cp .env.example .env

编辑 .env 文件,填入你的 API Keys:

# OpenAI / DeepSeek 配置
OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://api.deepseek.com
OPENAI_MODEL=deepseek-chat

# Qwen 配置
QWEN_API_KEY=your_qwen_api_key
QWEN_BASE_URL=https://api-inference.modelscope.cn
QWEN_MODEL=Qwen/Qwen3-32B

# Redis 配置
REDIS_PASSWORD=your_redis_password
REDIS_HOST=your_redis_host
REDIS_PORT=6379

# 其他配置...

MCP Server 配置:

cd mcp-server/src/main/resources/
cp .env.example .env

编辑 .env 文件,填入数据库和邮箱配置:

# MySQL 配置
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_HOST=localhost
MYSQL_PORT=3306

# 邮箱配置
MAIL_USERNAME=your_email@example.com
MAIL_PASSWORD=your_email_password
MAIL_HOST=smtp.example.com
MAIL_PORT=465

MCP 服务器配置:

cd mcp-client/src/main/resources/
cp mcp-servers.json.example mcp-servers.json

根据你的操作系统修改 mcp-servers.json。

3️⃣ 启动后端服务
# 启动 MCP Server
cd mcp-server
mvn spring-boot:run

# 启动 MCP Client(新开一个终端)
cd mcp-client
mvn spring-boot:run
4️⃣ 启动前端
cd ../spring-ai-frontend-vue
npm install
npm run dev

访问 http://localhost:5173 即可使用。


🐳 Docker 部署

一键部署所有服务

项目提供了完整的 Docker Compose 配置,可以一键部署所有服务。

1️⃣ 准备工作

确保已配置好 .env 和 mcp-servers.json 文件(参考上面的配置步骤)。

2️⃣ 构建并启动
# 创建 Docker 网络
docker network create springai

# 启动所有服务
docker-compose up -d

# 查看日志
docker-compose logs -f
3️⃣ 访问服务
  • 前端界面: http://localhost:5500
  • MCP Client API: http://localhost:9009
  • MCP Server API: http://localhost:9060
4️⃣ 停止服务
docker-compose down

Docker Compose 服务说明

服务端口说明
frontend5500Vue 前端应用
client9009MCP Client 服务
server9060MCP Server 服务

注意:Redis、MySQL、Ollama、SearXNG 等服务需要单独部署或使用云服务。


📡 API 文档

聊天对话

流式对话
POST /chat/stream
Content-Type: application/json

{
  "message": "你好,请介绍一下 Spring AI",
  "sessionId": "user-session-123",
  "model": "openai"
}

响应:SSE 流式输出

普通对话
POST /chat
Content-Type: application/json

{
  "message": "你好",
  "sessionId": "user-session-123",
  "model": "openai"
}

RAG 知识库

上传文档
POST /rag/upload
Content-Type: multipart/form-data

file: [文件]
namespace: "my-knowledge-base"
RAG 问答
POST /rag/chat
Content-Type: application/json

{
  "question": "什么是 Spring AI?",
  "namespace": "my-knowledge-base",
  "model": "openai"
}

语音处理

语音识别(ASR)
POST /audio/asr
Content-Type: multipart/form-data

file: [音频文件]
语音合成(TTS)
POST /audio/tts
Content-Type: application/json

{
  "text": "你好,世界",
  "voice": "longxiaochun"
}
实时语音识别(WebSocket)
// WebSocket 连接
const ws = new WebSocket('ws://localhost:9009/audio/realtime-asr');

// 发送音频数据
ws.send(audioBuffer);

// 接收识别结果
ws.onmessage = (event) => {
  console.log('识别结果:', event.data);
};

图像处理

图像描述
POST /image/describe
Content-Type: multipart/form-data

file: [图片文件]
prompt: "描述这张图片"

视频处理

视频分析
POST /video/analyze
Content-Type: multipart/form-data

file: [视频文件]
question: "这个视频讲的是什么?"
帧级分析
POST /video/frame-analyze
Content-Type: application/json

{
  "frameUrls": ["url1", "url2", "url3"],
  "question": "这些画面展示了什么?"
}

互联网搜索

搜索并生成回答
POST /internet/search
Content-Type: application/json

{
  "query": "2024年人工智能发展趋势",
  "model": "openai"
}

🔧 配置说明

application.yml 主要配置

spring:
  ai:
    # 向量数据库配置
    vectorstore:
      redis:
        initialize-schema: true
        index-name: my-vector-index
        prefix: 'embedding:'
    
    # OpenAI 配置
    openai:
      api-key: ${OPENAI_API_KEY}
      base-url: ${OPENAI_BASE_URL}
      chat:
        options:
          model: ${OPENAI_MODEL}
    
    # MCP Client 配置
    mcp:
      client:
        type: async
        sse:
          connections:
            server1:
              url: http://localhost:9060
              sse-endpoint: /sse
    
    # Embedding 模型配置
    model:
      embedding: ollama
    
    ollama:
      base-url: http://localhost:11434
      embedding:
        options:
          model: qwen3-embedding:0.6b

  # Redis 配置
  data:
    redis:
      host: ${REDIS_HOST}
      port: ${REDIS_PORT}
      password: ${REDIS_PASSWORD}

环境变量说明

变量名说明必需
OPENAI_API_KEYOpenAI/DeepSeek API Key✅
QWEN_API_KEY通义千问 API Key✅
ZHIPU_API_KRY智谱 AI API Key✅
REDIS_HOSTRedis 主机地址✅
REDIS_PASSWORDRedis 密码✅
MYSQL_HOSTMySQL 主机地址✅
MYSQL_PASSWORDMySQL 密码✅
MAIL_USERNAME邮箱用户名❌
MAIL_PASSWORD邮箱密码❌

📚 使用场景

1. 智能客服系统

基于 RAG 技术构建企业知识库,提供准确的客户咨询服务。

2. 文档问答助手

上传企业内部文档,快速检索并回答相关问题。

3. 多模态内容理解

处理文本、图像、音频、视频等多种类型的内容,提供智能分析。

4. 语音交互应用

实时语音识别和合成,打造语音交互体验。

5. 视频内容分析

自动分析视频内容,生成摘要和问答。

6. 智能搜索引擎

结合互联网搜索和 AI 生成,提供更智能的搜索体验。


🗂️ 项目结构

SpringAI-MCP-RAG-Dev/
├── mcp-client/                    # MCP 客户端(主服务)
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/yeling/
│   │   │   │   ├── controller/    # REST API 控制器
│   │   │   │   ├── service/       # 业务逻辑层
│   │   │   │   ├── config/        # 配置类
│   │   │   │   ├── entity/        # 实体类
│   │   │   │   └── utils/         # 工具类
│   │   │   └── resources/
│   │   │       ├── application.yml
│   │   │       ├── .env.example   # 环境变量示例
│   │   │       └── mcp-servers.json.example
│   │   └── test/
│   ├── Dockerfile
│   └── pom.xml
│
├── mcp-server/                    # MCP 服务器(工具服务)
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/yeling/
│   │   │   │   ├── mcp/           # MCP 工具实现
│   │   │   │   ├── entity/        # 实体类
│   │   │   │   └── mapper/        # 数据访问层
│   │   │   └── resources/
│   │   │       ├── application.yml
│   │   │       └── .env.example
│   │   └── test/
│   ├── Dockerfile
│   └── pom.xml
│
├── docker-compose.yml             # Docker 编排配置
├── .gitignore                     # Git 忽略配置
├── README.md                      # 项目文档(本文件)
└── pom.xml                        # Maven 父 POM

🤝 贡献指南

我们欢迎所有形式的贡献!

如何贡献

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

代码规范

  • 遵循 Java 代码规范
  • 保持代码简洁和可读性
  • 添加必要的注释和文档
  • 编写单元测试

📝 待办事项

  • [ ] 支持更多 AI 模型(Claude, Gemini 等)
  • [ ] 实现会话管理和持久化
  • [ ] 添加用户认证和权限管理
  • [ ] 优化 RAG 检索算法
  • [ ] 支持多语言国际化
  • [ ] 添加完整的单元测试和集成测试
  • [ ] 性能监控和日志分析
  • [ ] Kubernetes 部署支持

🔗 相关链接


❓ 常见问题

Q1: 如何获取 API Keys?

A: 访问以下链接注册并获取:

  • OpenAI: https://platform.openai.com/api-keys
  • DeepSeek: https://platform.deepseek.com/
  • Qwen/ModelScope: https://www.modelscope.cn/
  • 智谱 AI: https://open.bigmodel.cn/

Q2: Redis 连接超时怎么办?

A: 检查以下几点:

  1. Redis 服务是否正常运行
  2. 防火墙是否开放对应端口
  3. .env 文件中的 Redis 配置是否正确
  4. 如果使用云 Redis,检查白名单配置

Q3: 如何本地运行 Ollama 模型?

A:

# 安装 Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# 拉取模型
ollama pull qwen3-embedding:0.6b
ollama pull llama3:8b

# 启动服务(默认端口 11434)
ollama serve

Q4: Docker 部署时内存不足?

A: 在 docker-compose.yml 中已经配置了内存限制:

  • MCP Client: 256MB
  • MCP Server: 150MB

如需调整,修改 JAVA_OPTS 环境变量:

environment:
  - JAVA_OPTS=-Xmx512m  # 调整为 512MB

Q5: 如何添加自定义 MCP 工具?

A: 在 mcp-server 模块中:

  1. 创建新的工具类,实现 MCP 工具接口
  2. 添加 @McpTool 注解
  3. 实现工具逻辑
  4. 重启服务即可自动注册

Made with ❤️ by Yeling

⬆ 回到顶部

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

智能对话Java本地部署多模态处理RAG技术MCP协议工具调用

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备API Key,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到API Key的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Spring AI MCP Backend

MCP World · 本页

4未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Spring AI MCP Backend 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Spring AI MCP Backend 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Spring AI MCP Backend 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Spring AI MCP Backend 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Spring AI MCP Backend 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP