第1章 MCP基础架构
1.1 基础架构
在开始实践之前,简单介绍一下 MCP 的基本架构和一些基础组件:
· MCP Host:需要通过MCP访问数据的程序,例如 Claude Desktop、Cursor、Cline等桌面工具。
· 主要职责:接受&返回你的提问、跟模型交互、内置了 MCP Client,与服务器保持一对一连接的协议客户端。
· MCP Server:轻量级程序,每个程序都通过标准化的模型上下文协议 (MCP) 提供特定功能。
主要职责:能力暴露(操作本地文件&浏览器,访问数据库,访问远程服务)。
· 本地数据源:MCP 服务器可以安全访问的数据库、本地文件、浏览器等。
· 远程服务:MCP 服务器可以通过互联网(例如通过 API)连接到的外部系统。
第2章 MCP Server开发和实践
2.1 准备MCP Client
这里用的是 Cline,是 VSCode 中的一个插件,直接在 VSCode 插件市场中搜索安装即可,其实这里的 Cline 在 MCP 的概念中是 MCP Host,只是 Host 里面内置了 MCP Client(负责跟模型&MCP Server 交互)。
安装好后,第一步就是需要配置大模型,这里用的是 DeepSeek,然后就可以开始配置 MCP server 了,点击右上角的第二个图标。
2.2 开发MCP Server
想要开发一个 MCP Server,并不需要关心协议本身的一些细节,因为官方推出了各种语言的 SDK(https://modelcontextprotocol.io/sdk/java/mcp-server),通过 SDK 快速搭建一个 MCP Server,并且主流语言对 MCP 推出了自己的框架,这里选择使用 Spring 框架来搭建一个 MCP Server(https://docs.spring.io/spring-ai/reference/api/mcp/mcp-server-boot-starter-docs.html)。
2.2.1 引入依赖
2.2.2 定义Tools
2.2.3 启动类
2.2.4 打包
到这里一个简单的 MCP Server 就已经开发完成了,下面只需要执行 mvn clean package 打成可执行 jar 包就能配置到 Cline 中了。
2.3 配置MCP Server
回到 VSCode 的 Cline 插件,点击第二个图标,然后点击下面的 Configure MCP Servers,然后开始编辑右侧的配置文件:
这里的配置文件是 MCP 标准化的,下面基于我们这个 MCP Server 介绍下几个核心配置的含义:
· mcpServers:JSON 配置跟 Key
· lark:MCP Server 唯一标识&名称
· command:启动 MCP Server 的命令(如 Java 就是 java -jar,Node 一般是 npx,Python 一般是 uvx)
· args:执行命令后面的自定义参数
· env:环境变量,用于配置一些可配置参数,比如密钥、外部 URL 等
这里配置好了后,如果右上角的点变成了绿色说明 MCP Server 加载成功,而且在下面还可以看到 MCP Server 提供的所有 Tools,以及每个 Tool 的参数跟描述。
第3章 MCP Server体验
点击右上角的+号开始聊天:给我发一条下午好的飞书卡片消息,附带一下今日的热点新闻。