前言
halo,我是不易, 继ChatGPT发布已经过去了快三年了, 随着 AI 人工智能的不断发展给我们开发人员甚至UI设计人员带来了巨大的变化.
24年横空出世Claude 3.5 模型给我震撼到了, 力压 ChatGPT

我的小程序以及UI设计差不多都是它完成, 这个团队的强大让我不得不去关注.
24年10月2日,Anthropic 发布 MCP 协议,旨在为 AI 模型提供一个开放、通用且有共识的协议标准。
它允许开发者将 AI 模型连接到各种数据源和工具,从而实现更强大的 AI 应用。
你可以把 MCP 想象成 AI 世界的“USB-C 接口”——就像 USB-C 让各种设备轻松互联,MCP 也为 AI 模型连接不同数据源和工具提供了标准化方式。

这又是AI 再次迎来新突破, 新的概念, 新的协议, 新的生态.
那时 MCP 还没现在这么火,也没有这么多 MCP Server, 大部分的MCP Server 都是基于Nodejs 开发, 没有Java 的生态, 随着 Spring 的生态支持,Java 也迎来了“春天”——只需简单配置,就能实现自己的 MCP Server。
对于刚接触的朋友来说,MCP 和 MCP Server 可能有些陌生。别担心,接下来我们会一步步探索它们的玩法:从认识概念,到简单操作,再到实战开发。流程图如下:
⚠️ 本文纯手敲, 涵盖了理论知识+实战知识, 如果您觉得帮助到了您,请给我点个👍
如果本文有错别字,或者有不对的地方请指出谢谢啦!
🛫 本期内容涉及较多, 本次的理论知识较多,如果你已经掌握了理论那么可以直接前往项目实战开发
MCP Server 开发技术选型:
Java + Spring Ai 来完成我们的腾讯云开发者社区 MCP Server
另外接入支付宝 MCP 来完成支付场景, 带着大家结合起来情景演绎, AI 助手让AI调用多个MCP Server
比如有人找我写论文我 AI 生成完毕需要让他交钱我们就可以生成链接让他去支付
最后会统一将这些 MCP 串联起来形成 MCP Agent 变成一个 AI 小助手
如下图的结合

什么是 MCP? 为什么一定要用 MCP?
- MCP 是一个标准协议,就像给 AI 大模型装了一个 “万能接口”,让 AI 模型能够与不同的数据源和工具进行无缝交互。它就像 USB-C 接口一样,提供了一种标准化的方法,将 AI 模型连接到各种数据源和工具。
- MCP 旨在替换碎片化的 Agent 代码集成,从而使 AI 系统更可靠,更有效。通过建立通用标准,服务商可以基于协议来推出它们自己服务的 AI 能力,从而支持开发者更快的构建更强大的 AI 应用。开发者也不需要重复造轮子,通过开源项目可以建立强大的 AI Agent 生态。
- MCP 可以在不同的应用 / 服务之间保持上下文,增强整体自主执行任务的能力。
下面图展现了 MCP 在实际应用中的整体架构和数据流转过程:

- MCP Client(如 Claude、IDE、工具等):这是你本地的“指挥中心”,负责发起各种 AI 能力请求。无论你用的是 AI 助手、开发工具还是自动化脚本,只要支持 MCP 协议,都可以作为 MCP Client。
- MCP 协议:它就像一根“万能数据线”,把 MCP Client 和不同的 MCP Server 连接起来。所有的请求和响应都通过 MCP 协议进行标准化传递,保证了兼容性和可扩展性。
- MCP Server A/B/C:每个 MCP Server 都可以对接不同的数据源或服务。例如:
- MCP Server A 连接本地数据源 A(如本地数据库、文件等)
- MCP Server B 连接本地数据源 B
- MCP Server C 通过 Web API 连接远程服务 C(如云端 API、第三方平台等)
- 数据流转:当 MCP Client 发起请求时,会根据需求选择合适的 MCP Server。Server 再去访问对应的数据源或服务,获取结果后通过 MCP 协议返回给 Client。
- 本地与远程资源整合:无论数据源在本地还是远程,MCP 都能实现统一调用和管理。比如你既可以让 AI 读取本地文件,也能让它调用云端服务,全部通过同一套 MCP 协议完成。
这下懂了吧, 是不是觉得很强大, 赋予一个 “USB” 就可以访问你的数据库, 并且进行让他 CRUD、操作本地文件等等.
MCP Stdio 协议 & JSON-RPC 传输格式
在前面的架构图中,我们已经看到 MCP 如何像"USB-C"一样,把本地和远程的各种数据源、工具统一接入到 AI 系统中。这种统一接入极大提升了开发效率和系统扩展性。
这就很像 function call 让模型可以按需调用预设函数,自动获取数据或执行等等操作, 确实带来了便利,但也引入了新的问题:平台依赖强、API 不兼容,每次更换模型或平台都要重写集成代码,既费时又容易出错,还存在安全和交互上的局限。
MCP 正是为了解决这些"碎片化对接"的难题而生。它最大的特点就是"开箱即用"——你无需编写任何代码,只需通过简单的配置,就能直接接入和调用各种工具和服务。
接下来,我们重点介绍 MCP 的接入协议
MCP 支持很多协议: Stdio/SSE/Str/eamable HTTP/同进程调用, 其余的本文内容较多将另外单开一个专题详细讲解
我这里就重点介绍 MCP 协议之一:Stdio
标准输入/输出(Stdio)
Stdio 协议通过标准输入和输出流实现通信,非常适合本地集成和命令行工具开发。常见的使用场景包括:
- 构建命令行工具
- 实现本地系统集成
- 简单的进程间通信
- 使用 shell 脚本自动化
传输格式与配置示例
MCP 的配置也非常直观。你只需在 mcpServers 中定义好需要接入的 MCP Server(比如 mcp-gitee、支付宝mcp、mysql mcp 等),然后通过 MCP 客户端统一调用即可
例如下面的配置 JSON-RPC 传输格式 :
{
"mcpServers": {
"gitee": {
"command": "npx",
"args": [
"-y",
"@gitee/mcp-gitee@latest"
],
"env": {
"GITEE_API_BASE": "https://gitee.com/api/v5",
"GITEE_ACCESS_TOKEN": "<your personal access token>"
}
}
}
}
在任何支持MCP协议的客户端使用, 比如 Claude Desktop 、腾讯云代码助手、Cursor 等等
通过这种方式,无论你需要接入什么工具或服务,只需简单配置即可,无需关心底层实现细节,极大提升了开发效率和系统可维护性。
实操 MCP
那么接下来我们来看看如何使用, 以 腾讯云代码助手为例(非常好用强烈推荐), 接入 mcp-gitee 实现创建仓库、查询仓库、提交代码、推送代码等操作
前往 GITEE 仓库搜索 mcp-gitee 地址: https://gitee.com/oschina/mcp-gitee

往下滑可以看到 npx 启动方式 这个方式就需要你安装 Node.js 还有一种就是可执行文件启动这个就是要你自己去源码构建了, 我这边就直接使用 Node.js 方式集成, 如果你还没安装 Node.js 那么打开腾讯云 ai 对话问它如何安装即可非常全: https://copilot.tencent.com/chat/

{
"mcpServers": {
"gitee": {
"command": "npx",
"args": [
"-y",
"@gitee/mcp-gitee@latest"
],
"env": {
"GITEE_API_BASE": "https://gitee.com/api/v5",
"GITEE_ACCESS_TOKEN": "<your personal access token>"
}
}
}
}
继续往下滑可以看到这个 mcp server 支持的功能
有很多功能工具, 也有环境变量、也有命令行配置信息
我就列举几个教大家如何简单使用, 其他的同学们感兴趣就多玩玩
可用工具
服务器提供了各种与 Gitee 交互的工具:
| 工具 | 类别 | 描述 |
|---|---|---|
| list_user_repos | 仓库 | 列出用户授权的仓库 |
| get_file_content | 仓库 | 获取仓库中文件的内容 |
| create_user_repo | 仓库 | 创建用户仓库 |
| create_org_repo | 仓库 | 创建组织仓库 |
| create_enter_repo | 仓库 | 创建企业仓库 |
| fork_repository | 仓库 | Fork 仓库 |
| create_release | 仓库 | 为仓库创建发行版 |
| list_releases | 仓库 | 列出仓库发行版 |
| search_open_source_repositories | 仓库 | 搜索开源仓库 |
| list_repo_pulls | Pull Request | 列出仓库中的拉取请求 |
| merge_pull | Pull Request | 合并拉取请求 |
| create_pull | Pull Request | 创建拉取请求 |
| update_pull | Pull Request | 更新拉取请求 |
| get_pull_detail | Pull Request | 获取拉取请求的详细信息 |
| comment_pull | Pull Request | 评论拉取请求 |
| list_pull_comments | Pull Request | 列出拉取请求的所有评论 |
| create_issue | Issue | 创建 Issue |
| update_issue | Issue | 更新 Issue |
| get_repo_issue_detail | Issue | 获取仓库 Issue 的详细信息 |
| list_repo_issues | Issue | 列出仓库 Issue |
| comment_issue | Issue | 评论 Issue |
| list_issue_comments | Issue | 列出 Issue 的评论 |
| get_user_info | 用户 | 获取当前认证用户信息 |
| search_users | 用户 | 搜索用户 |
| list_user_notifications | 通知 | 列出用户通知 |
获取 MCP-GITEE 配置信息
在上面可以看到 mcp server 配置当中需要填入 GITEE_ACCESS_TOKEN 点击下面链接前往获取
- 拥有访问令牌的 Gitee 账户,前往获取

填写好你的令牌名称、过期时间
⚠️ 令牌可千万别泄漏了, 别人是可以拿这个访问可以访问的操作权限.

使用 MCP-GITEE
前往下载腾讯云代码助手 https://copilot.tencent.com/#install

我就使用 Cursor 来下载腾讯云代码助手进行使用, 我这里已经下载过了, 同学们没下载的速度下载.

在侧边栏点击助手图标就可以使用了, 点击到 Craft 模式它支持 MCP 服务的使用
点击小花花图标, 可以看到 MCP 市场 我们搜索 MCP-GITEE 搜索不到, 因为还没收录进来
我们就手动添加即可, 复制上面的 mcp-gitee server json

点击已经安装, 配置 MCP Server , 会弹出编辑 mcp 配置文件

复制进去之后,在配置好 gitee 的令牌 token 即可看到旁边的 gitee 显示出这么多的工具

⚠️ 注意: 复制上面的npx命令,如果你是windows用户,需要做如下的修改:command修改为cmd ,下面的args数组增加 “/c"和 “npx”,注意顺序不要乱undefined"服务”: {
“command”: “cmd”,
“args”:
“/c”,
“npx”,
“-y”,
“@modelcontextprotocol/xxxxxxxxxxx”
undefined }
尝鲜 MCP Server 接入客户端使用
继续点击旁边的播放图标, 让 CodeBuddy 进行测试它是否可以正常使用

那么可以看到已经是输出了, 并且调用了 查询工具 去查询 gitee 上面叫 ruanyf 的技术博主, 接下来我们来搜索自己

可以看到也是可以正常的搜索出来的, 看到返回的信息没什么问题都是正确的

那么继续完成前面说的的任务吧

- 获取当前登录用户的信息, 说实话很快嗷, 眼睛没眨眼就输出出来了, 腾讯云助手这么快吗

- 创建用户仓库
- 帮我创建一个仓库名称为: mcp-study 为公开仓库, 默认生成readme.md 里面的内容是 从零玩转MCP
不得不夸一下腾讯云部署的模型了,这么快的吗? 我用别的模型都要等 30 秒
可以看到调用了三个 mco 工具 , 但是仓库不默认给我公开, 可能是安全原因吧, 下面也提示我要我主动去设置一下.
1、创建仓库
2、获取仓库文件修改仓库文件为 我们指定的内容
3、创建了 issue

最低0.47元/天 解锁文章
1733

被折叠的 条评论
为什么被折叠?



