Agent 与工具调用2384 字

MCP基础概念与快速入门

·全库 201 / 611

《MCP基础概念与快速入门》共 0.2 万字,通篇围绕 MCP、上下文、安全、Agent 展开,归在「Agent 与工具调用」这一层。

覆盖MCP上下文安全Agent工具调用架构

适合要让 AI 真的去干活、不只是陪人聊天的人

目录骨架(8 节)
  1. 示例代码
  2. MCP基础概念
  3. MCP快速入门
  4. MCP Client
  5. MCP 核心架构
  6. MCP 通信机制
  7. MCP Server
  8. 1. 安装 uv,设置环境变量
目录 · 3 节

示例代码

📎 附件:mcp-demo.zip(zip, 4KB)

原文链接:https://www.yuque.com/attachments/yuque/0/2025/zip/2424104/1753931389683-a2fe4d0e-e16b-45d1-bebf-c01a2405c9e5.zip

MCP基础概念

MCP(Model Context Protocol,模型上下文协议) ,2024 年 11 月底,由 Anthropic 推出的一种开放标准,旨在统一大型语言模型(LLM)与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。

Function Calling 是 AI 模型调用函数的机制,MCP 是一个标准协议,使 AI 模型与 API 无缝交互,而 AI Agent 是一个自主运行的智能系统,利用 Function Calling 和 MCP 来分析和执行任务,实现特定目标。

MCP 官方文档:https://modelcontextprotocol.io/introduction

MCP 客户端:https://modelcontextprotocol.io/clients

MCP SDK:https://github.com/modelcontextprotocol/python-sdk

MCP 核心架构

  • MCP 主机(MCP Hosts):发起请求的 LLM 应用程序(例如 Claude Desktop、IDE 或 AI 工具)。
  • MCP 客户端(MCP Clients):在主机程序内部,与 MCP server 保持 1:1 的连接。
  • MCP 服务器(MCP Servers):为 MCP client 提供上下文、工具和 prompt 信息。
  • 本地资源(Local Resources):本地计算机中可供 MCP server 安全访问的资源(例如文件、数据库)。
  • 远程资源(Remote Resources):MCP server 可以连接到的远程资源(例如通过 API)。

MCP client 充当 LLM 和 MCP server 之间的桥梁,MCP client 的工作流程如下:

  • MCP client 首先从 MCP server 获取可用的工具列表。
  • 将用户的查询连同工具描述通过 function calling 一起发送给 LLM。
  • LLM 决定是否需要使用工具以及使用哪些工具。
  • 如果需要使用工具,MCP client 会通过 MCP server 执行相应的工具调用。
  • 工具调用的结果会被发送回 LLM。
  • LLM 基于所有信息生成自然语言响应。
  • 最后将响应展示给用户。

MCP 通信机制

MCP 协议支持两种主要的通信机制:基于标准输入输出 stdio 的本地通信和基于 SSE(Server-Sent Events)的远程通信。这两种机制都使用 JSON-RPC 2.0 格式进行消息传输,确保了通信的标准化和可扩展性。

  • 本地通信:通过 stdio 传输数据,适用于在同一台机器上运行的客户端和服务器之间的通信。
  • 远程通信:利用 SSE 与 HTTP 结合,实现跨网络的实时数据传输,适用于需要访问远程资源或分布式部署的场景。

MCP Server

MCP Server 是 MCP 架构中的关键组件,它可以提供 3 种主要类型的功能:

  • 资源(Resources):类似文件的数据,可以被客户端读取,如 API 响应或文件内容。
  • 工具(Tools):可以被 LLM 调用的函数(需要用户批准)。
  • 提示(Prompts):预先编写的模板,帮助用户完成特定任务。

这些功能使 MCP server 能够为 AI 应用提供丰富的上下文信息和操作能力,从而增强 LLM 的实用性和灵活性。

MCP快速入门

MCP 通过三种主要原语(Primitives)增强 LLM 的功能,理解这些原语是编写 MCP 的关键:

  1. 提示(Prompts):预定义的指令或模板,指导 LLM 如何处理输入或生成输出。
  2. 资源(Resources):提供额外上下文的结构化数据,例如文件或数据库内容。
  3. 工具(Tools):可执行的函数,允许 LLM 执行操作(如查询 API)或检索信息。
  • 关键点:这些原语是 MCP 的核心,决定了服务器能为 LLM 提供什么能力。

在我们的示例中,使用 Claude for Desktop 作为客户端,自己编写 python 文件作为服务端,在 Claude Desktop 里调用 server.py。

先决条件

  • 已安装 python 3.10 或更高
  • 已安装 Claude for Desktop

1. 安装 uv,设置环境变量

打开 Powershell,输入如下命令:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

资料里没有你的场景?

把你手上的数据和想解决的那个环节发上来,我们按具体情况回,不复述方法论。

发布需求