☰
MCP基础
2026/10/13 6:40:27 网站建设 项目流程

MCP 英文全称 Model Context Protocol(模型上下文协议),是由 Anthropic 于 2024 年 11 月推出的开源协议,用于连接 AI 模型与外部数据源、工具和服务 。

一、MCP核心架构:Host / Client / Server

MCP 借鉴了 LSP(Language Server Protocol,编辑器统一支持编程语言的协议)的设计思路,定义了三种角色:

角色说明例子
Host用户直接使用的 AI agent,负责协调多个 Client、管理对话Cline,Claude Code、Cursor、ChatGPT
Client(客户端)Host 内部组件,与某一个 Server 保持一对一连接,负责将模型的工具调用请求翻译为标准协议消息Host 每连接一个 Server 就会创建一个 Client
Server包一层标准协议,暴露某个具体工具或数据源的能力,不直接与大模型对话GitHub API Server、数据库 Server、文件系统 Server

为了更直观地理解三者之间的交互关系,可以参考以下流程图:

流程图说明:

  • 用户/开发者直接与Host交互。
  • Host内部可以创建和管理多个Client,每个 Client 负责与一个特定的Server通信。
  • Server封装了具体的工具或数据源能力,通过 MCP 协议暴露给 Client。
  • MCP 协议标准化了 Host-Client-Server 之间的通信,使得 AI 模型可以安全、灵活地调用外部能力。

二、传输方式

MCP 支持两种传输方式,适用于不同场景:

传输方式适用场景经验截图
stdio(标准输入输出)本地工具,Host 以子进程方式启动 Server

最简单,无需网络配置,适合个人电脑上的本地工具

stdio MCP Server 必须由客户端启动并托管。

人为启动无法跟host交互

Streamable HTTP远程生产环境,Server 作为 HTTP 服务部署

更容易理解,类似传统springboot服务;

支持并发连接、水平扩展,搭配 OAuth 2.1 做身份验证

三、MCP搭建

自己通过 fastMCP 创建 MCP 服务

from fastmcp import FastMCP mcp = FastMCP("入门工具服务") @mcp.tool() def getWeather(city: str) -> str: """获取指定城市的天气信息。 Args: city: 城市名称。 """ # 这里可以调用实际的天气 API 获取天气信息 # 由于这是一个示例,我们返回一个固定的字符串 result = f"{city} 的天气是晴天,温度为25°C。" logger.info("getWeather({!r}) -> {!r}", city, result) return result

使用三方 MCP server

魔搭ModelScope - MCP 广场
MCP.somcp.so

四、MCP client配置

以 vscode 的 Cline 插件为例,直接通过 UI 操作也很方便。

点击设置可以直接打开全局配置添加,也可以在项目中添加。

五、三方MCP调试工具Inspector

安装工具:npx @modelcontextprotocol/inspector

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询