新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/11/15 22:33:20来源:尧图网络
大模型外挂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

相关资讯

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

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/15 4:54:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/15 2:04:12

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/14 17:14:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/15 4:06:36

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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