news 2026/4/16 16:12:39

MCP的应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MCP的应用

文章目录

  • 什么是mcp
  • 架构
  • 核心功能
  • 使用场景
  • MCP SDK功能
    • FastMCP功能
  • MCP Inspector
  • UV工具

什么是mcp

Model Context Protocol (MCP) 是由 Anthropic 公司于 2024 年 11 月推出的一种开放协议标准,目的在于标准化LLM 与外部数据源、工具及服务之间的交互方式。MCP 被广泛类比为“AI 领域的 USB-C 接口”

架构

架构与组件
MCP 采用 客户端-服务器(Client-Server)架构,主要包括以下核心组件:

  • MCP Host:运行 AI 模型的环境,如 Claude Desktop、Cursor IDE 等。
  • MCP Client:嵌入在 Host 中的组件,负责发起请求并与 MCP Server 通信。
  • MCP Server:轻量级服务,提供特定功能(如数据查询、API 调用等),供 AI 模型调用。

核心功能

MCP 提供三种关键能力:

  • Resources(知识扩展):提供结构化数据(如数据库、文档)以增强 AI 的上下文理解。
  • Tools(工具调用):允许 AI 执行外部操作(如发送邮件、查询 GitHub、调用智能合约等)。
  • Prompts(提示模板):预定义的指令模板,优化 AI 的任务执行。

使用场景

  1. 增强 AI 的实时性与执行能力
  • 实时数据访问:MCP 允许 AI 访问最新数据(如股票行情、新闻),而非仅依赖训练时的静态数据。
  • 自动化任务:AI 可通过 MCP 直接执行任务,如整理文件、发送邮件、管理代码仓库等。
  • 区块链交互:MCP 可集成以太坊智能合约,让用户通过自然语言完成链上操作(如 DeFi 交易)。
  1. 去中心化 AI 生态
  • 创作者经济:个人或企业可搭建 MCP Server 提供特定服务(如鸟类知识库),并通过调用次数获得收益。
  • 抗审查与去中心化:MCP 使 AI 能力分散在多个 Server 上,减少大公司垄断风险。
  1. 开发者工具
  • 简化集成:MCP 标准化了 AI 与外部系统的交互,开发者无需为每个数据源编写定制 API。
  • 多模态支持:MCP 可整合语音、图像、传感器数据等,使 AI 具备更全面的环境感知能力
"""基于 Assistant 实现的高德地图智能助手 这个模块提供了一个智能地图助手,可以: 1. 通过自然语言进行地图服务查询 2. 支持多种交互方式(GUI、TUI、测试模式) 3. 支持旅游规划、地点查询、路线导航等功能 """importosimportasynciofromtypingimportOptionalimportdashscopefromqwen_agent.agentsimportAssistantfromqwen_agent.guiimportWebUI# 定义资源文件根目录ROOT_RESOURCE=os.path.join(os.path.dirname(__file__),'resource')# 配置 DashScopedashscope.api_key=os.getenv('DASHSCOPE_API_KEY','')# 从环境变量获取 API Keydashscope.timeout=30# 设置超时时间为 30 秒definit_agent_service():"""初始化高德地图助手服务 配置说明: - 使用 qwen-max 作为底层语言模型 - 设置系统角色为地图助手 - 配置高德地图 MCP 工具 Returns: Assistant: 配置好的地图助手实例 """# LLM 模型配置llm_cfg={'model':'qwen-max','timeout':30,# 设置模型调用超时时间'retry_count':3,# 设置重试次数}# 系统角色设定system=('你扮演一个地图助手,你具有查询地图、规划路线、推荐景点等能力。''你可以帮助用户规划旅游行程,查找地点,导航等。''你应该充分利用高德地图的各种功能来提供专业的建议。')# MCP 工具配置tools=[{"mcpServers":{"amap-maps":{"command":"npx","args":["-y","@amap/amap-maps-mcp-server"],"env":{"AMAP_MAPS_API_KEY":"你的KEY"}}}}]try:# 创建助手实例bot=Assistant(llm=llm_cfg,name='地图助手',description='地图查询与路线规划',system_message=system,function_list=tools,)print("助手初始化成功!")returnbotexceptExceptionase:print(f"助手初始化失败:{str(e)}")raisedeftest(query='帮我查找上海东方明珠的具体位置',file:Optional[str]=None):"""测试模式 用于快速测试单个查询 Args: query: 查询语句,默认为查询地标位置 file: 可选的输入文件路径 """try:# 初始化助手bot=init_agent_service()# 构建对话消息messages=[]# 根据是否有文件输入构建不同的消息格式ifnotfile:messages.append({'role'
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:28:05

Excalidraw代码生成联动:从图到代码的自动转换

Excalidraw代码生成联动:从图到代码的自动转换 在一次跨时区的远程产品评审会上,产品经理用潦草的手绘箭头连接几个矩形框,试图解释一个新功能流程。开发团队盯着屏幕,反复确认“这个分支是异常处理还是主路径?”——这…

作者头像 李华
网站建设 2026/4/16 6:01:37

Excalidraw旅行路线图:行程安排可视化

Excalidraw旅行路线图:行程安排可视化 在规划一次跨城长途旅行时,大多数人会打开备忘录或电子表格,逐条列出目的地和交通方式。但这种方式缺乏空间感,难以直观展现路径走向、时间节奏与地理关系。有没有一种工具,既能快…

作者头像 李华
网站建设 2026/4/16 15:25:01

Excalidraw读书笔记:概念关系图谱绘制

Excalidraw读书笔记:概念关系图谱绘制 在一场远程架构评审会议上,团队成员正围坐在各自的屏幕前。产品经理口述了一个复杂的微服务调用链路,工程师一边听一边快速在白板上勾勒出草图——线条略带抖动,矩形边缘不那么规整&#xff…

作者头像 李华
网站建设 2026/4/16 6:03:06

如何在Excalidraw中实现多人实时协作绘图?

如何在 Excalidraw 中实现多人实时协作绘图? 在远程协作日益成为常态的今天,团队沟通不再局限于文字和语音。一张随手勾勒的草图,往往比千言万语更能快速传递想法。然而,传统的绘图工具要么功能复杂、上手困难,要么缺乏…

作者头像 李华
网站建设 2026/4/16 6:03:29

Excalidraw饮食营养图:每日摄入可视化

Excalidraw饮食营养图:每日摄入可视化 在健康管理越来越依赖数据的今天,人们每天打开手机记录卡路里、追踪蛋白质摄入、对比碳水比例——但这些数字真的“看得见”吗?当一份早餐被简化为“350kcal,碳水45g,蛋白18g”&a…

作者头像 李华
网站建设 2026/4/16 6:02:28

Excalidraw网络拓扑图:运维监控场景应用

Excalidraw网络拓扑图:运维监控场景应用 在一次深夜的P1级故障响应中,值班工程师面对满屏闪烁的告警信号,第一反应不是翻看日志,而是迅速打开一个共享链接——一张实时更新的手绘风格网络拓扑图。这张图上,红色标签标记…

作者头像 李华