新闻详情

新闻详情

首页 / 资讯中心 / 详情

大模型外挂MCP教程(8): 飞算JavaAI智能分析搭建自己的MCP Server

发布时间:2026/9/26 18:51:12来源:尧图网络
大模型外挂MCP教程(8): 飞算JavaAI智能分析搭建自己的MCP Server
1. 为什么我要自己写一个 MCP ServerMCPModel Context Protocol模型上下文协议说白了就是给大模型装一个外挂接口。模型本身只会聊天但通过 MCP它可以调用你写的工具、查你的数据库、读你的本地文件。Cherry Studio 里已经内置了不少 MCP Server但那些都是别人写好的通用工具真正贴合你业务的数据接口还是得自己动手。我这次的需求很具体团队内部有个学生成绩查询系统想让 Cherry Studio 里的模型直接调用按学号查成绩这个能力而不是每次手动复制粘贴数据。手写一个 MCP Server 并不难难的是把 Spring Boot 工程骨架、SSE 端点、工具描述、参数校验一次性写对。飞算JavaAI 的智能分析功能在这里帮了大忙——它能读懂现有工程结构把增加一个查询学生成绩的接口这种自然语言需求拆成接口设计、表设计、处理逻辑最后生成可运行代码。这篇文章面向的是已经在 Cherry Studio 里用过 MCP、想自己搭私有 Server 的 Java 开发者。我会交付一套可复制的 MCP Server 配置骨架把模型调用通道统一到 TaoToken 的 Key/API 上最后在 Cherry Studio 里用 SSE 模式验证工具调用是否真的生效。整个过程不需要你从零理解 MCP 协议细节跟着配置走就行。2. 前置准备TaoToken 通道与飞算JavaAI 环境2.1 为什么要把模型通道统一到 TaoToken自己搭 MCP Server 只是第一步真正跑起来还需要一个稳定的模型调用入口。我试过在多个工具里分别配 Key结果就是 Cherry Studio 一套、IDEA 插件一套、脚本里又一套改起来特别乱。TaoToken 的好处是提供一个统一的 API 通道模型对话、Coding Plan、API Keys 都在一个控制台里管理MCP Server 里如果要做模型二次调用比如让模型先分析再返回直接复用同一个 Key 就行。官网入口在这里https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 这个不加 UTM。你注册后在控制台生成 API Key后面配置里会用到。2.2 飞算JavaAI 的安装与向量库配置飞算JavaAI 的智能分析依赖向量数据库做语义理解所以这一步不能省。安装流程大致是在 IDEA 插件市场搜飞算安装然后本地起一个 Qdrant 向量库。官方推荐用 Docker 起速度快也干净docker run -d --name qdrant \ -p 6333:6333 -p 6334:6334 \ -v $(pwd)/qdrant_storage:/qdrant/storage \ qdrant/qdrant启动后访问http://localhost:6333/能看到 Qdrant 的欢迎页就说明成功了。接着在飞算JavaAI 的高级设置里把向量库连接地址填成127.0.0.1:6334注意是 gRPC 端口 6334不是 6333 的 HTTP 端口这里我第一次就填错了。重启 IDEA 后智能分析按钮变绿就代表就绪。2.3 Cherry Studio 侧的准备Cherry Studio 左下角设置 → 模型服务 → MCP 服务器这里先不用急着加等 Server 跑起来再回来配。你需要确认的是 Cherry Studio 版本支持 SSE 模式老版本只有 stdioSSE 是后面验证的关键。3. 用飞算JavaAI 生成 MCP Server 骨架3.1 在智能引导里描述需求打开飞算JavaAI 的智能引导页面输入需求时一定要选合并项目这样它才会基于你当前工程做增量分析而不是新建一个孤立项目。我的输入是在当前 Spring Boot 工程中增加一个 MCP Server 提供按学号查询学生成绩的工具 使用 SSE 传输端口 8080路径 /sse飞算JavaAI 会把这句话拆成几个技术点接口定义、数据库表结构、处理逻辑、MCP 工具注册。它借助 Qdrant 对现有工程做了语义分析能识别出你已有的实体类和 Mapper避免重复造轮子。3.2 生成的核心配置骨架生成后我整理了一份可复制的 MCP Server 配置骨架核心是application.yml和工具注册类。先看配置server: port: 8080 spring: ai: mcp: server: name: student-score-server version: 1.0.0 sse-endpoint: /sse sse-message-endpoint: /mcp/message taotoken: api: base-url: https://taotoken.net/api api-key: ${TAOTOKEN_API_KEY}这里sse-endpoint就是 Cherry Studio 要填的地址后缀。taotoken那段是给 Server 内部做模型二次调用预留的Key 用环境变量注入别硬编码进代码。工具注册类长这样Component public class StudentScoreTools { Tool(description 根据学号查询学生成绩返回课程与分数列表) public String queryScore( ToolParam(description 学生学号例如 20230101) String studentId) { // 实际业务查询逻辑 ListScore scores scoreService.findByStudentId(studentId); if (scores.isEmpty()) { return 未找到学号 studentId 的成绩记录; } return scores.stream() .map(s - s.getCourse() : s.getScore()) .collect(Collectors.joining(\n)); } }Tool和ToolParam这两个注解是关键MCP 协议靠它们把方法暴露成模型可调用的工具description 写得越清楚模型调用时越不容易传错参数。3.3 合并项目时的注意事项飞算JavaAI 的合并项目功能会把你生成的代码合并进现有工程。合并前建议先 commit 一次方便对比。合并后检查两点一是pom.xml里是否加上了 MCP 相关依赖比如spring-ai-mcp-server-spring-boot-starter二是端口有没有和现有服务冲突。我这边 8080 被占用了改成 8081 后 Cherry Studio 里的地址也要同步改。4. 启动 Server 并在 Cherry Studio 验证4.1 启动与日志确认运行 Spring Boot 主类控制台出现类似下面的日志就说明 SSE 端点注册成功MCP SSE endpoint registered at /sse MCP message endpoint registered at /mcp/message Tomcat started on port(s): 8081 (http)如果只看到 Tomcat 启动、没有 MCP 那两行多半是依赖没引入或者注解没被扫描到回到上一步检查包路径。4.2 Cherry Studio 配置 SSE回到 Cherry Studio设置 → 模型服务 → MCP 服务器 → 选择 SSE 模式地址填http://localhost:8081/sse。如果需要鉴权在请求头里加Authorization: Bearer 你的Token。保存后点开滑动块启动连接变绿就是连上了。连接成功后工具列表里应该能看到queryScore这个工具描述就是你写在Tool里的那句话。4.3 实际调用验证在 Cherry Studio 的对话里直接问帮我查一下学号 20230101 的成绩。模型会识别出需要调用queryScore工具弹出调用确认执行后返回成绩列表。如果模型没有触发工具调用通常是 description 写得太模糊改成根据学号查询学生成绩返回课程与分数列表这种明确表述后一般就好了。你也可以用 curl 直接验证 SSE 端点是否活着curl -N http://localhost:8081/sse正常会持续输出 SSE 事件流按 CtrlC 退出。这一步能排除是 Cherry Studio 配置问题还是 Server 本身问题。5. 本篇常见错误排查连接一直转圈不变绿九成是地址写错。SSE 地址是http://localhost:8081/sse不是/mcp/message后者是消息回传端点别搞混。另外确认 Server 真的在跑curl一下最直接。工具列表为空说明 MCP 没扫描到Tool注解。检查三点——依赖是否引入、工具类是否在 Spring 扫描路径下、方法是否是 public。飞算JavaAI 合并项目时偶尔会把类放到错误的包下手动挪一下即可。模型不调用工具description 太笼统是主因。把工具描述写成做什么、输入是什么、返回什么的完整句子参数描述也写清楚格式模型触发率会明显提升。端口冲突导致启动失败Port 8080 was already in use。改application.yml里的server.port同时记得 Cherry Studio 里的地址同步改。TaoToken 调用返回 401检查环境变量TAOTOKEN_API_KEY是否真的注入到运行环境。IDEA 里跑的话在 Run Configuration 的 Environment variables 里加别只写在.env文件里指望自动加载。6. 把通道和 Key 固定下来Server 跑通之后建议把模型调用通道固定成一套避免后面越配越乱。如果你主要是排障和接入阶段先去 API Keys 页面生成一个专用 Key再对照接入文档把 base-url 和鉴权头配好这样 MCP Server 内部做模型二次调用时直接复用不用再单独申请。日常验证模型行为、测试工具调用是否被正确触发用模型对话页面最方便改完 description 立刻能试。如果你打算长期用 MCP 做编码辅助或者 Agent 编排Coding Plan 更适合额度和调用方式都按长期场景设计不用每次临时开 Key。我自己的做法是MCP Server 里所有对模型的调用都走同一个 TaoToken Key通过环境变量注入本地和测试环境用不同的 Key 但同一套 base-url。这样换环境只改一个变量代码一行不动。工具描述改完后先在模型对话里手动触发几次确认稳定再交给 Cherry Studio 的智能体去封装常用调用整个链路就闭环了。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

video-use:用ffmpeg和Claude Code搭建自动化视频处理流水线 2026/9/26 19:42:49

video-use:用ffmpeg和Claude Code搭建自动化视频处理流水线

1. 从“video-use”这个标题说起:它到底想解决什么问题第一次看到“video-use”这个标题,我脑子里蹦出来的不是某个具体工具,而是一类需求:用代码和命令行把视频处理这件事自动化起来。结合热搜词里高频出现的 Claude Code、ffmpe…

阅读更多 →
Substrate区块链开发框架入门:从核心概念到本地链实操 2026/9/26 19:42:43

Substrate区块链开发框架入门:从核心概念到本地链实操

1. 从零认识 Substrate:它到底是什么,能解决什么问题第一次听到 Substrate 这个词,很多人会以为是某个前端框架或者构建工具。其实不是。Substrate 是一个用于构建区块链的开发框架,由 Parity Technologies 团队打造,最…

阅读更多 →
DeepOpen × Banking77 复现指南:Laya 决策引擎的 77 类银行意图分类实战 2026/9/26 19:42:30

DeepOpen × Banking77 复现指南:Laya 决策引擎的 77 类银行意图分类实战

【免费下载链接】deepopen 非自回归System 1决策引擎,专为结构化类型决策场景设计 DeepOpen Multilingual, non-autoregressive System 1 decision engine. 项目地址: https://gitcode.com/gh_mirrors/de/deepopen 点击查看 免费下载 本指南完整讲解在…

阅读更多 →
Arthas 已接入 MCP:用 JSON-RPC 打通 JVM 线上问题定位链路 2026/9/26 19:42:17

Arthas 已接入 MCP:用 JSON-RPC 打通 JVM 线上问题定位链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI 说得很流畅,不代表它说得对-CSDN博客 2026/9/26 19:42:11

AI 说得很流畅,不代表它说得对-CSDN博客

首屏导读 本教程配套付费专栏: 大模型工程师修炼手记 19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程) AI时代程序员的自我提升 49.9 元(AI 时代成长方法论)。 单篇不过瘾?订阅解锁全量源…

阅读更多 →
CRM系统选型与落地:从通信集成到客户管理实战 2026/9/26 19:41:58

CRM系统选型与落地:从通信集成到客户管理实战

前因我在一次销售运营复盘会上第一次注意到 DeskcommCRM。当时团队的数据是这样的:外呼量上去了,商机数却没涨,翻客户跟进记录时,电话内容在手机通话记录里,邮件往来散落在个人邮箱,报价单和合同在另一个文…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉