MCP服务器是什么(以及幕后实际发生了什么)

发布: (2026年5月4日 GMT+8 23:00)
4 分钟阅读
原文: Dev.to

Source: Dev.to

概览

到目前为止我们已经介绍了:

  • MCP 为什么存在
  • MCP 是什么
  • 工具是什么

现在来回答一个关键问题:当模型决定使用工具时…到底是谁在实际运行它?

MCP 服务器是什么

  • 暴露工具并执行工具 的组件。
  • 不仅仅是你的后端——它位于 你的后端之上,专为 LLM 交互而设计。

MCP 服务器的职责

  1. 向模型描述可用工具

    • 有哪些工具
    • 它们的功能是什么
    • 需要哪些输入

    这些信息是模型“看到”的内容。

  2. 在执行前验证请求

    • 必填字段是否存在?
    • 类型是否正确?

    验证可以防止错误或不安全的执行。

  3. 执行真实工作

    • 数据库查询
    • API 调用
    • 业务逻辑

简单流程示例

用户请求

Show my last 3 orders

模型输出(结构化)

{
  "tool": "get_user_orders",
  "arguments": {
    "user_id": "123",
    "limit": 3
  }
}

MCP 服务器处理

  • 检查 user_id 是否存在且 limit 是数字。
  • 执行类似下面的语句:
SELECT * FROM orders WHERE user_id = 123 LIMIT 3;
  • 将结构化数据返回给模型。

模型最终响应

Here are your last 3 orders…

模型永远不会做的事

  • 直接触碰你的数据库
  • 直接调用 API
  • 运行任何代码

这些都由 MCP 服务器处理。

这种分离的好处

  • 更好的安全性——模型永远不会直接访问资源。
  • 更清晰的架构——决策层与执行层明确分离。
  • 受控执行——验证和沙箱机制都在服务器中完成。
  • 可复用系统——工具可以在不同模型之间共享。

类比:餐厅

  • 模型 → 决定点什么菜。
  • MCP 服务器 → 厨房,负责烹饪。
  • 工具 → 菜单上的项目。

模型不做饭,只是选择。

对 LLM 友好的工具设计

LLM 需要:

  • 清晰、描述性的名称
  • 结构化的输入(例如 JSON)
  • 简单的操作

设计不佳的工具会导致崩溃、错误操作或安全问题。

模型不做的事

  • 决定使用哪个工具(模型负责选择,但服务器负责执行)。
  • 超出工具选择之外理解用户意图。
  • 生成最终响应(模型在收到工具结果后完成此步骤)。

MCP 的基础

  • 模型决定 使用哪个工具。
  • 服务器执行 该工具。

现在我们已经了解了执行层,谁把模型和服务器连接起来?

那就是 MCP 客户端 —— 负责让所有部件协同工作的组件。

0 浏览
Back to Blog

相关文章

阅读更多 »

使用 AI 的开发者的四种认知原型

最近我一直在思考一件事:对大多数开发者来说,问题不再是“你在使用 AI 吗?”,而是“你是如何以及为何使用 AI?” 我的工作流...