你需要了解的一切以及如何开始构建你的第一个MCP 🤖

发布: (2026年1月11日 GMT+8 11:10)
7 min read
原文: Dev.to

Source: Dev.to

请提供您希望翻译的具体文本内容,我将为您进行简体中文翻译。

什么是 MCP?

定义与基本概述

模型上下文协议(MCP) 是一种标准方法,用于将 AI 应用程序与外部系统(数据库、函数、工具(例如网页搜索、PDF 创建)或任何帮助 AI 更好理解上下文并执行任务的过程)连接。大多数 AI 产品已经在使用这种集成。

示例: 当你在 ChatGPTGrok 中提问时,可能会看到一个名为“搜索网页”的后台进程。这就是 MCP 在幕后工作的表现。

为什么要学习它

如今,任何人都可以创建一个小应用来利用 AI 加速日常任务。然而,结果常常不尽如人意,因为应用缺乏对问题的完整上下文。MCP 让你能够将数据库中的完整信息提供给 AI,帮助它在生成回复前理解上下文。AI 可以在 MCP 中调用可用工具,并使用这些结果生成更准确、具备上下文感知的输出。

Source:

MCP 架构

关键参与者

参与者角色
MCP 主机托管、管理并协调一个或多个 MCP 服务器的 AI 应用程序。它决定 何时 请求外部上下文以及 使用哪种 工具。
MCP 服务器暴露工具和上下文的服务。它定义可用能力、执行请求,并将结构化结果返回给主机。
MCP 客户端维护与 MCP 服务器的连接的组件。它处理通信、发送请求、接收响应,并将上下文转发给 MCP 主机。

MCP 的构建块

除了关键参与者,MCP 还依赖若干核心构建块。这些组件协同工作,使工具执行可靠、安全且具上下文感知。并非每个 MCP 服务器都需要全部块,但面向生产的系统通常会实现大多数块。

工具定义

工具定义描述 MCP 服务器能够做什么。每个工具都要清晰地指定:

  • 工具名称
  • 工具功能
  • 必需的输入参数
  • 预期的输出结构

这些定义使 AI 能够推理 调用哪个工具何时调用以及 如何使用结果。设计良好的工具定义至关重要——模糊或过于复杂的工具往往导致 AI 决策不佳。

好的工具定义应具备:

  • 明确且可预测
  • 责任单一
  • 输出确定性

定义越清晰,AI 越能有效利用。

传输层

传输层定义 MCP 客户端和服务器之间的通信方式。它处理消息投递、连接生命周期以及数据流。

  1. stdio(标准输入/输出)
    使用 stdin/stdout 流进行通信。MCP 服务器作为子进程运行。
    最适合的场景:

    • 本地开发
    • 基于 CLI 的工具
    • 单用户环境

    简单、快速且易于调试——非常适合 MCP 的早期开发。

  2. SSE(服务器发送事件)
    在 HTTP 上实现服务器到客户端的单向实时通信。
    最适合的场景:

    • 远程 MCP 服务器
    • 基于 Web 的客户端
    • 长时间运行或流式任务

    由于 SSE 基于标准 Web 协议,它能很好地兼容现有基础设施和防火墙。

上下文注入

上下文注入在 AI 生成响应之前提供 相关的背景信息。这可能包括:

  • 用户档案数据
  • 最近的对话历史
  • 数据库记录
  • 应用状态

MCP 通过显式提供 AI 所需的信息,避免让 AI 猜测。强大的上下文注入显著提升准确性、相关性和一致性。设计良好的上下文往往比模型选择更重要——糟糕的上下文会导致幻觉;良好的上下文则产生可靠输出。了解更多关于构建更好上下文注入的内容,请访问 。

安全与权限

安全控制 谁可以访问哪些工具和数据——在 MCP 连接到敏感系统时尤为关键,例如:

  • 用户数据库
  • 财务数据
  • 内部 API

常见的安全机制包括:

  • 认证(API 密钥、令牌、OAuth)
  • 授权(基于角色或权限的访问)
  • 工具级限制

最佳实践: 将 MCP 工具视为 特权操作,仅暴露绝对必要的功能。

可观测性与错误处理

可观测性帮助你了解 MCP 系统在运行时的行为。这包括:

  • 工具调用日志
  • 执行延迟
  • 成功与失败率
  • 错误信息和堆栈跟踪

适当的错误处理确保:

  • 失败清晰地向主机报告
  • 部分失败不会导致系统崩溃
  • AI 能在可能的情况下恢复或重试

缺乏可观测性,MCP 系统将难以调试且难以安全扩展。

看起来您没有提供需要翻译的文本。请把要翻译的内容贴上来,我会按照要求进行翻译。

有用资源

如果您想深入了解并开始使用 MCP 构建,以下资源是很好的起点:

  • 入门指南 – 了解 MCP 的基础知识、设计理念以及如何设置您的第一个 MCP 服务器。
    👉

  • 官方示例 – 探索真实场景下的 MCP 实现,了解工具、传输层和上下文是如何组合的。
    👉

  • 社区讨论与支持 – 提出问题、分享想法,并向其他使用 MCP 的开发者学习。
    👉

com/orgs/modelcontextprotocol/discussions
Back to Blog

相关文章

阅读更多 »

TOON for LLMs:基准性能分析

每一次使用 JSON 的 API 调用,花费都比你想象的要高。我使用 Gemini 2.5 Flash 进行真实场景的提取,结果令人震惊:JSON……