当前位置: 首页 > news >正文

MCP(Model Context Protocol)是专为LLM(大语言模型)应用设计的标准化协议

核心定义

MCP(Model Context Protocol)是专为LLM(大语言模型)应用设计的标准化协议,通过安全可控的方式向AI应用暴露数据和功能。主要提供以下能力:

  • 标准化的上下文管理
  • 安全的功能调用接口
  • 跨平台的数据交互协议
  • 可审计的操作日志记录

MCP三大原语

MCP Server 提供了三种核心原语,每种原语都有其特定的用途和特点:

  1. Tool(工具):服务器公开可执行的函数,供客户端和LLM调用,实现主动操作和数据写入。
  2. Resource(资源):服务器提供的只读数据,如文件、数据库记录、图片等,供客户端或应用获取上下文。
  3. Prompt(提示模板):可重用的交互模板,引导或标准化与LLM的对话流程。

技术架构

+----------------+     +----------------+     +----------------+
|   MCP Client   | ← → |   MCP Server   | ← → |   MCP Host    |
+----------------+     +----------------+     +----------------+↓                       ↓                       ↓
+----------------+     +----------------+     +----------------+
|  LLM Application |   |  API Endpoints |   |  Data Sources   |
+----------------+     +----------------+     +----------------+

通信方式

MCP服务端支持两种与客户端的数据通信方式:

1. 标准输入输出(stdio)

  • 原理:客户端将服务端作为子进程启动,通过标准输入输出进行数据交换。
  • 适用场景:本地运行,低延迟、高效率,适合快速响应的本地应用。

2. 基于HTTP的服务器推送事件(SSE)

  • 原理:客户端与服务端通过HTTP协议通信,利用SSE实现服务端向客户端实时推送数据。
  • 适用场景:分布式或远程部署,适合跨物理位置的服务集成。

开发指南

Python环境管理与FastMCP安装

推荐使用uv进行Python环境管理:

  • 安装uv(Windows):
    powershell -ExecutionPolicy ByPass -c “irm https://astral.sh/uv/install.ps1 | iex”
  • 初始化项目并指定Python版本:
    uv init py-app -p 3.11.9
  • 创建并激活虚拟环境:
    uv venv
    source .venv/bin/activate
  • 安装FastMCP库:
    pip install fastmcp

版本推荐

  • Python 3.10及以上,支持async/await
  • FastMCP库需通过pip安装

Python服务端开发示例

以下为基于FastMCP的MCP服务端完整示例,包含Tool与Resource原语:

from mcp.server.fastmcp import FastMCPmcp = FastMCP("Demo 🚀")@mcp.tool()
def add(a: int, b: int) -> int:"""两个数字相加"""return a + b@mcp.tool()
async def calculate(expression: str) -> str:"""计算一个简单的数学表达式。Args:expression: 要计算的数学表达式(如"1 + 2")Returns:str: 计算结果"""try:result = eval(expression)return f"计算结果: {result}"except Exception as e:return f"计算错误: {str(e)}"@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:"""获取个性化问候语"""return f"Hello, {name}!"if __name__ == "__main__":mcp.run(transport='stdio')

TypeScript 集成

import { MCPServer } from 'mcp-ts';
const server = new MCPServer('GitHubIntegrator');server.registerTool({name: 'search_repos',description: '搜索GitHub仓库',execute: async (query: string) => {// 调用GitHub API}
});
http://www.xdnf.cn/news/362845.html

相关文章:

  • CKESC STONE 200A-M 工业级电调技术测评:全场景适配的动力控制核心
  • 【谭浩强】第七章第14题
  • 【C语言】--指针超详解(三)
  • Qwen智能体qwen_agent与Assistant功能初探
  • 昆仑万维一季度营收增长46% AI业务成新增长点
  • epoch、batch size和steps_per_epoch的区别
  • Linux 大于2T磁盘分区
  • FPGA 41 ,ICMP 协议详细解析之构建网络诊断系统( ICMP 协议与 IP 协议理论详细解析 )
  • windows下,docker虚拟化使用nginx镜像部署vue3+vite项目
  • 数据库基础:概念、原理与实战示例
  • 多账号管理与自动化中的浏览器指纹对抗方案
  • 北斗导航 | RTKLib中重难点技术,公式,代码
  • 【质量管理】TRIZ因果链分析:解码质量问题的“多米诺效应“
  • 20250509——TOPSIS计算各方案得分
  • 怎么判断是不是公网IP?如何查看自己本地路由器是内网ip还是公网?
  • Lightweight App Alternatives
  • gpu硬件,gpu驱动,cuda,CUDA Toolkit,cudatoolkit,cudnn,nvcc概念解析
  • python---kafka常规使用
  • awesome-digital-human本地部署及配置:打造高情绪价值互动指南
  • Conda激活环境无效
  • 【星海随笔】信息安全相关标准
  • 江西同为科技有限公司受邀参展2025长江流域跨博会
  • 智芯Z20K144x MCU开发之时钟架构
  • 数字人肢体动作控制:从基础原理到实践路径!
  • PostgreSQL可见性映射VM
  • 3D模型格式转换组件HOOPS Exchange:高效赋能航空航天设计协同、数据一致!
  • Uniapp app 安卓手机(红米)自定义基座进行真机调试
  • 编译原理实验 之 语法分析程序自动生成工具Yacc实验
  • 【TACD模拟】质子辐照对GaN器件临界电压增加的影响机制
  • 大疆无人机搭载树莓派进行目标旋转检测