mcpField
W
WatchGuard MCP

WatchGuard MCP

本地服务
github.com/servosity安全64今天更新

关于 WatchGuard MCP

WatchGuard MCP 是面向 MSP 的 CLI 和 MCP 服务,用于跨客户管理 WatchGuard Cloud。它涵盖 208 项操作,并结合跨客户报告与本地 SQLite 镜像。

主要功能

  1. 01覆盖 13 组 API 规范的 208 项操作
  2. 02跨客户设备群健康报告
  3. 03支持全文搜索的 SQLite 镜像
  4. 04Firebox、终端、事件与许可工作流
  5. 05一次安装 CLI 和 MCP 服务

适用场景

  1. 01查找 Firebox 离线或终端未受保护的客户
  2. 02跨账户优先处理新的 ThreatSync 事件
  3. 03检查各客户对特定 CVE 的暴露情况
  4. 04核对许可分配及即将到期项目

MCP 相关

向 MCP 客户端提供 WatchGuard Cloud API 操作,包括 Firebox、Endpoint Security、ThreatSync、NDR、AuthPoint 和账户功能。README 建议使用默认 stdio 传输,并避免在此版本中使用 HTTP 模式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbwatchguard-mcp.mcpb0.1.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

WatchGuard + AI - 适用于 ChatGPT、Claude、GitHub Copilot、Microsoft 365 Copilot、Gemini,以及任何支持 MCP 的 Agent

非官方。由社区构建的 Claude Code Skill 和 WatchGuard API MCP 服务。与 WatchGuard Technologies, Inc. 无关联,也未获得其认可或赞助。

WatchGuard Cloud 演示 - 动态预览

▶ 观看 30 秒演示 - 演示数据为模拟数据;展示的每条命令都存在于实际 CLI 中。

通过一个 CLI 和 MCP 服务,即可使用 WatchGuard Cloud 的 Firebox、FireCloud、Endpoint Security、ThreatSync、NDR、AuthPoint 和账户平台 API,并为服务提供商生成跨客户报告。可与您已经在使用的 AI 搭配使用 - ChatGPT(Plus/Pro+,此连接器重新发布前暂停;请参阅 mcp-install.md)、Claude Desktop、Codex、Claude Code、Claude Cowork 和 GitHub Copilot - 还可通过远程方式使用 Microsoft 365 Copilot / Copilot Studio 和 Google Gemini。免费、开源,可在您的笔记本电脑上运行。专为 MSP 所有者打造。无需编写代码。

适用于您的 Agent

安全说明(此连接器重新发布前)。 请勿运行 HTTP 模式 (--transport http),即使是在 localhost 上也不行。此构建会检查令牌,但 早于修复版本的请求大小和时间限制。MCP 工具还可以使用您的凭据进行更改。请使用默认的 stdio 传输。如果 您为远程 Agent 设置了隧道,请将其关闭。修复即将推出。

MSP 所有者实际使用的六种 Agent(可自行安装,现已可用):

您的 AI Agent如何安装 WatchGuard Skill
Claude Desktop运行安装程序,然后进入 Settings > Extensions 注册 watchguard-mcp(无需编辑 JSON)。
ChatGPT(付费套餐)此连接器重新发布前暂停:ChatGPT 需要 HTTP 模式,而此构建的该模式会检查令牌,但尚无请求大小或时间限制。请参阅 mcp-install.md 中的安全说明。
Codex CLI粘贴下方的安装提示词。
Claude Code粘贴下方的安装提示词。
Claude Cowork粘贴下方的安装提示词。
GitHub Copilot(VS Code)运行安装程序,将 watchguard-mcp 添加到 mcp.json 的 servers 键下,然后选择 Agent 模式。

ChatGPT 需要远程 HTTPS 服务,这意味着需要使用此连接器的 HTTP 模式;在连接器重新发布前,该模式将暂停:此构建会检查令牌,但尚无请求大小或时间限制。请参阅 mcp-install.md 中的安全说明。

Microsoft 和 Google 技术栈也适用

安装量很大,但也坦诚提醒:这些属于远程/企业版方案,并非你刚刚安装的本地二进制文件。

Agent所需条件
Microsoft 365 Copilot / Copilot Studio暂停使用,直到重新发布此连接器:Copilot Studio 需要 HTTP 模式,而此版本的该模式会检查令牌,但尚无请求大小或时间限制。请参阅 mcp-install.md 中的安全说明。
Google GeminiGemini CLI 是本地的——与 Claude Code 相同。Gemini app 是远程的,需要与 ChatGPT 相同的暂停使用的 HTTP 模式。请参阅 mcp-install.md。

原生支持 Skill 的 Agent(也在介绍范围内): Hermes 和 OpenClaw 可直接读取此 Skill 的 SKILL.md,并且支持 MCP——请参阅下方的安装章节。也可通过 MCP 与 Cursor、Windsurf、Cline、Continue.dev 和 Zed 配合使用。各工具的完整接入说明:docs/which-agent.md。

要使用多个 Agent? 只需一条命令,即可为所有 51 个以上受支持的 Agent 安装:npx skills add Servosity/msp-skills@latest(需要 Node.js,然后运行各 Skill 的安装程序以安装 CLI/MCP 二进制文件)。请参阅 docs/which-agent.md。

60 秒内完成安装

Claude Desktop 最快安装方式——一键安装 .mcpb

下载 WatchGuard MCP(.mcpb)——然后打开 Claude Desktop > Settings > Extensions 并选择该文件。一键完成,无需 JSON 或 shell。(在发布页面浏览所有 WatchGuard 版本。)

更喜欢 Claude Code 插件?只需添加一次市场,然后安装即可——立即生效,无需列出目录:

/plugin marketplace add Servosity/msp-skills
/plugin install watchguard@msp-skills
方式 A——向 AI Agent 粘贴一条提示词(推荐)

将以下内容复制到 Claude Code、Codex CLI 或 Claude Cowork 中:

在此 Agent 工作区中安装 Servosity/msp-skills 的 WatchGuard Skill 和 MCP 服务。如果此工作区使用 POSIX shell(macOS、Linux、WSL 或 Bash),请运行 bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/watchguard/install.sh)。如果使用 Windows PowerShell,请运行 iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/watchguard/install.ps1 | iex。然后按照 README 完成身份验证,并运行 watchguard-cli --help 以了解用法。

任何能够运行 shell 的 Agent 都可使用相同的提示词。

方式 B——自行运行安装程序

Windows(PowerShell):

iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/watchguard/install.ps1 | iex

macOS / Linux:

bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/watchguard/install.sh)

安装程序会将 watchguard-cli(CLI)和 watchguard-mcp(MCP 服务)安装到用户的 bin 路径中。Claude Code、Codex 和 Cowork 会通过此目录中的 SKILL.md 发现该 Skill。

验证:

watchguard-cli --version
升级到最新版本

安装程序始终会获取当前版本——重新运行即可升级:

macOS / Linux:

bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/watchguard/install.sh)

Windows(PowerShell):

iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/watchguard/install.ps1 | iex

Claude Desktop .mcpb 用户:下载最新的 .mcpb(见本节顶部),然后在 Settings > Extensions 中重新选择该文件。Claude Code 插件用户:/plugin update watchguard@msp-skills。

添加到 Claude Desktop、GitHub Copilot、Gemini CLI、Microsoft 365 Copilot 或其他 MCP 客户端

运行安装程序后,请参阅 mcp-install.md 和 docs/which-agent.md,了解各 Agent 的接入方式——每个 Agent 均有单独章节,其中包括 GitHub Copilot 的 servers 键,以及 Microsoft 365 Copilot / Copilot Studio 的远程接入方式。Claude Desktop 的 Settings > Extensions 面板是最简单的方式;MCP 配置代码块(适合想要编辑 JSON 的用户)记录在 mcp-install.md 中。

为 Hermes 安装

在 Hermes CLI 中:

hermes skills install servosity/msp-skills/skills/watchguard --force

在 Hermes 聊天会话中:

/skills install servosity/msp-skills/skills/watchguard --force

Hermes 原生支持 MCP,因此也可以直接使用 watchguard-mcp 服务——安装方式和环境变量相同。

为 OpenClaw 安装

将以下内容告知你的 OpenClaw Agent(复制此内容):

从 https://github.com/servosity/msp-skills/tree/main/skills/watchguard 安装 watchguard skill。该 skill 定义了如何通过 openclaw: frontmatter 块安装其所需的 CLI(watchguard-cli)。

OpenClaw 尚未正式开放使用;frontmatter 配置已预先提供,并会在 OpenClaw 发布后立即启用。

身份验证

设置 CLI 所需的凭据(从你的 WatchGuard 门户获取):

WATCHGUARD_ACCOUNT_ID=<value> WATCHGUARD_API_KEY=<value> WATCHGUARD_CLIENT_ID=<value> WATCHGUARD_CLIENT_SECRET=<value> watchguard-cli doctor

doctor 会检查配置、路径和 API 连通性。设置 Access ID、密码和 API key 后,它会请求令牌并读取你的账户记录,因此密码错误时会显示 Credentials: ERROR 行(如果之前已用正确密码生成并缓存了令牌,doctor 会在最长一小时内复用该令牌;要重新检查密码,请先运行 watchguard-cli auth logout)。即使如此,它也会以 0 退出,因此脚本应添加 --fail-on error。像 watchguard-cli accounts list-managed --agent 这样的读取命令可用于端到端检查。

此 skill 的功能

MSP 经常询问的问题命令
在 Firebox、终端、ThreatSync 和许可证中,哪个客户最需要优先关注?watchguard-cli accounts health --agent
哪些客户的终端未受保护、版本过旧、已隔离或正在等待重启?watchguard-cli endpoint-devices posture --agent
过去 30 天内有哪些新的 ThreatSync 事件需要优先分类处理?哪些事件还无人处理?watchguard-cli threatsync-incidents queue --status new --duration 30D --agent
哪些客户和计算机受到此 CVE 的影响?watchguard-cli endpoint-patches exposure --cve CVE-2024-38063 --agent
自上次同步以来,哪些 Firebox 和接入点曾离线、恢复在线或更改固件?watchguard-cli firebox-devices changes --agent
我的设备群组中,哪些 Firebox 的固件版本低于相同型号的其他设备?watchguard-cli firebox-devices firmware-lag --agent
哪些分配与实际报告状态的 Firebox 不匹配?本月有哪些即将到期?watchguard-cli allocations reconcile --expiring-within 30d --agent
Firebox 部署是否已完成,还是失败了?watchguard-cli firebox-transactions wait --device FB-12345 --max-wait 10m

accounts health、endpoint-devices posture 和 endpoint-patches exposure 专为 WatchGuard 服务提供商账户打造:它们会使用每位客户各自的令牌访问客户数据。firebox-devices changes 和 firmware-lag 会读取本地副本,因此请先同步设备列表:watchguard-cli sync --resources firebox_devices --full(默认包含客户的 Firebox)。部署完成时,firebox-transactions wait 会以 0 退出;部署失败、超时或取消时以 8 退出;达到 --max-wait 时仍在运行则以 9 退出。

完整命令参考:guide.md。AI Agent 操作约定(--agent、--dry-run 以及在执行变更前何时需要确认),请参阅 AGENTS.md。

有何不同

截至 2026 年 10 月,我们在 GitHub 上找到的唯一另一个 WatchGuard Cloud MCP 服务是 WYRE-AI/watchguard-cloud-mcp,它涵盖平台的账户、激活和操作员 API,并将 Firebox 和 Endpoint Security 列为目前不在支持范围内。对于“我的 40 个客户中,哪些客户有离线 Firebox、未受保护的笔记本电脑和未处理的事件?”这样的问题,仍然需要逐一切换到每个账户查看。

此技能涵盖 WatchGuard 发布的 13 份 API 规范中的 208 项操作:Firebox Management and Reports、FireCloud、Endpoint Security、ThreatSync、NDR 资产和 Smart Alerts、AuthPoint 身份验证,以及平台的账户、操作员、激活、许可证分配和授权 API。在 WatchGuard 有此要求的情况下,跨客户命令会为每个受管理账户单独申请令牌,因此只需一个服务提供商凭据即可访问所有客户;它还会将 WatchGuard 数据同步到本地 SQLite 镜像,并支持全文搜索。accounts health、allocations reconcile 和 firebox-devices changes 等复合命令会关联 Firebox、端点、事件、分配和机群的历史快照——这是无状态 API 封装器无法做到的。WatchGuard Cloud 仍用于配置 Firebox 和策略,ThreatSync 也继续进行自身的关联分析;此技能则让你通过已在使用的 Agent 解答跨客户问题。

解决的痛点

Firebox Management、Endpoint Security、ThreatSync、NDR 和许可证分配是彼此独立的 WatchGuard API,各自使用不同的路径、分页方式和状态码。Firebox 和 ThreatSync 可以通过层级或 tenants 标志跨客户查询,但 WatchGuard Endpoint Security 只有在使用针对该客户申请的访问令牌时,才能查询受管理客户:你需要查找账户的 audience 值,并使用该值申请令牌(WatchGuard API 文档,Authentication)。WatchGuard 自己的博客曾称赞服务提供商级固件升级,因为 MSP“不再需要逐个进入订户账户,挨个升级”(2022 年 9 月)。许可证分配也会与实际情况脱节:WatchGuard 社区讨论串(2023 年 5 月,2024 年 9 月仍有人提问)显示,已退役且未分配的 Firebox 会让库存数量虚高,而解决问题的唯一办法是提交支持工单。

  • watchguard-cli accounts health - 每个客户一行并按优先级排序:离线 Firebox、高风险端点、按严重程度分类的未结事件、即将到期的许可证。
  • watchguard-cli endpoint-devices posture - 列出所有客户中未受保护、已过时、已隔离、未获许可或等待重启的所有计算机。
  • watchguard-cli threatsync-incidents queue - 按严重程度、威胁评分和持续时间排列未结事件,并标出尚未处理的事件以及建议采取但尚未执行的措施。
  • watchguard-cli allocations reconcile - 列出已分配但未上报数据的序列号、已上报数据但未分配的 Firebox,以及即将到期的项目。
  • watchguard-cli firebox-transactions wait - 部署成功或失败时返回相应的退出代码,无需反复刷新状态页面。

更多背景请参阅 pain-point.md。

常见问题

能与 ChatGPT 配合使用吗?

当前版本不支持。ChatGPT(Plus、Pro、Team、Business、Enterprise 和 Education 方案;Free 方案目前尚未开放 Developer Mode)只能通过 HTTPS 连接远程 MCP 服务,因此需要以 HTTP 模式运行 WatchGuard MCP 服务。在此版本中,HTTP 模式会检查令牌,但尚未限制请求大小或耗时,因此在重新发布连接器之前,请勿运行它,也不要将它置于隧道后。有关原因,请参阅 mcp-install.md 中的安全说明。在此之前,请使用 Claude Desktop、Claude Code 或 Codex。

这适用于 Codex、Cursor、Windsurf、Cline、Copilot 或 Gemini 吗?

是的——它们都支持 MCP。上方矩阵中列出了跨工具安装命令,详情请参阅 docs/which-agent.md。

我需要会编程吗?

不需要。推荐的安装方式是向 Claude Code 或 Codex 粘贴一句话——你的 Agent 会读取 SKILL.md 并完成安装。备用方式是每种操作系统对应的一行安装程序(bash 或 PowerShell)。这两种方式都不需要编写代码。你只需输入一次 WatchGuard 凭据。

我的 WatchGuard 数据安全吗?

CLI、MCP 服务和 SQLite 镜像都在你的计算机上以你的用户账户运行,MSP Skills 绝不会打包或传输你的 WatchGuard 凭据。但你的 Agent 读取的内容会发送给你的 AI 提供商:查询结果,以及读取凭据时返回的机密信息(BOVPN 预共享密钥、私钥、Firebox 密码、激活密钥和许可证密钥)。请按照下文所述的安全级别,让这些命令始终由人工参与确认。

我需要哪些凭据?

需要 WatchGuard Cloud API 访问权限:作为 Owner 或 Administrator,打开 Administration > Managed Access 并点击 Enable API Access(Service Provider 可在其账户的 Subscriber 视图中执行此操作)。你会获得一个读写 Access ID、一个只读 Access ID、分别为其设置的密码,以及一个 API 密钥。将 WATCHGUARD_CLIENT_ID 设为一个 Access ID,将 WATCHGUARD_CLIENT_SECRET 设为其密码,将 WATCHGUARD_API_KEY 设为 API 密钥,将 WATCHGUARD_ACCOUNT_ID 设为你的账户 ID,然后运行 watchguard-cli doctor。如果是仅用于报告的 Agent,请使用只读 Access ID。

它能覆盖我的所有客户,还是一次只能处理一个账户?

如果使用 Service Provider 账户,就能覆盖所有客户。accounts health、endpoint-devices posture 和 endpoint-patches exposure 会列出你管理的账户,为每个账户分别获取令牌,并在一个结果中报告所有客户,同时指出无法访问的账户。threatsync-incidents queue 会通过一次 ThreatSync 调用读取你管理的所有账户中的事件。如果任何读取失败,包括客户未购买某项产品的情况(WatchGuard 对此的响应与其他拒绝请求相同),这些命令会以状态码 6 退出(没有任何内容可读取时为 5),并指出相应账户和产品;accounts health 会先列出该账户,并将 complete: false 设为其状态,而不是显示零值;完全无法访问的账户会显示在 fetch_failures 中。添加 --allow-partial-failure 可在结果不完整时以状态码 0 退出;该选项不会覆盖状态码 5。若要处理单个客户,请将 WATCHGUARD_AUDIENCE 设为该客户的 audience 值(运行 watchguard-cli audiences --account-id <customer-account-id> 可获取此值),并将 WATCHGUARD_ACCOUNT_ID 设为该客户的账户 ID。这只是为了方便,并非安全边界:WatchGuard 的 audience 令牌也能用于你自己的账户。

我的 WatchGuard Cloud 账户位于欧洲或亚太地区。它能用吗?

可以。将 WATCHGUARD_BASE_URL 和 WATCHGUARD_TOKEN_URL 设为你所在地区的网关:EMEA 使用 https://api.deu.cloud.watchguard.com,APAC 使用 https://api.jpn.cloud.watchguard.com,并在令牌 URL 末尾加上 /oauth/token。默认网关是北美网关 api.usa.cloud.watchguard.com。WatchGuard Cloud 中的 Managed Access 会显示你账户的 API URL,格式为 https://api.<region>.cloud.watchguard.com/rest/;设置 WATCHGUARD_BASE_URL 时请去掉 /rest/(CLI 会将其添加到每个路径中)。

这会触及我的 WatchGuard API 速率限制吗?

WatchGuard 对每个 API 密钥允许每秒 500 次请求、每天 200,000 次请求;收到 429 错误意味着当天的配额已用完,直到 UTC 时间 00:00 才会重置。accounts health、endpoint-devices posture 和 endpoint-patches exposure 默认最多并行获取四个账户(--concurrency);跨客户命令会受 --max-pages 限制;--rate-limit 会限制每秒请求数;GET 响应会缓存 5 分钟;sync 会保留本地副本,供 search 和 analytics 读取,而无需调用 API。

我的 AI 可以隔离设备或更改防火墙策略吗?

只有在你允许的情况下才可以。执行 endpoint-devices isolate、endpoint-devices uninstall、firebox-deployments 和 delete 命令时,会立即发送请求;不会出现确认提示。请先用 --dry-run 预览这些命令;通过 MCP 服务则无法预览,调用 watchguard_execute 时会立即发送写入请求。对于报告 Agent,请使用只读 Access ID,或设置 WATCHGUARD_MCP_READ_ONLY=1,这样 MCP 服务会移除其写入工具,并拒绝通过 watchguard_execute 发出的所有非 GET 调用。

它经过真实 WatchGuard Cloud 账户的测试了吗?

还没有。所有命令均根据 WatchGuard 发布的 OpenAPI 规范构建,并针对这些 API 的本地模拟环境进行了测试,而非真实账户。如果你用自己的 WatchGuard Cloud 账户运行它,请通过 问题跟踪器 或在 Build Session 上告诉我们哪些有效、哪些出错;只有在真实 MSP 环境中运行过,才能获得实时验证徽章。

费用是多少?

免费,采用 Apache-2.0 许可证。你只需为所用的 AI Agent 付费(Claude、ChatGPT、Codex 等),费用由你的 AI 提供商收取,与我们无关。

安全模型

层级示例建议的 Agent 策略
读取accounts health、endpoint-devices posture、threatsync-incidents queue、endpoint-patches exposure、allocations reconcile、firebox-devices changes / firmware-lag、firebox-transactions wait、sync、search、analytics,以及除最后一行中的凭据读取命令外的所有 list / get 命令允许
端点和事件操作endpoint-devices isolate / stop-isolation / scan / action / uninstall、endpoint-configurations assign、threatsync-actions perform、threatsync-incident-actions perform、threatsync-transactions、threatsync-incidents set-status、ndr-smart-alerts close、authpoint push人工参与,明确确认
防火墙配置和部署firebox-deployments、firebox-policies create / update / set-enabled、Firebox 和 FireCloud 例外项的创建和更新、firebox-exceptions enable-global / disable-global、firebox-templates subscribe、firebox-bovpn-p1-settings create / update、firebox-transactions update、endpoint-risks update-config、ndr-assets create / update、threatsync-comments create / update、allocations allocate / update-hardware / update-software、accounts create / update使用 --dry-run 预览,然后由人工批准写入
破坏性操作accounts delete(目标为 --account-id,默认值为您自己的 WATCHGUARD_ACCOUNT_ID)、operators delete、allocations deallocate、firebox-transactions cancel、ndr-assets delete、firebox-policies delete、threatsync-comments delete,以及所有其他 delete 命令仅限人工参与,并需明确确认
凭据和管理员操作firebox-bovpn-tunnels list / get 和写入操作(预共享密钥)、firebox-certificates list / get / create / install(私钥和密码)、firebox-networks、firebox-users 和 firebox-content-filtering list / get(PPPoE、动态 DNS、Wi-Fi 和覆盖密码)、activations list-recent / status / activate(激活密钥)、allocations list-owned / list-assigned / summary(序列号和许可证密钥)、export activations(激活密钥)、import、endpoint-installers(注册下载链接)、operators create / update、audiences、authpoint 的密码、OTP、QR 码、忘记令牌、检查策略和事务状态调用、auth login、auth set-token仅限人工参与

本地镜像和响应缓存绝不会存储这些凭据读取所返回的秘密字段;分配记录进入本地镜像时,serialOrLicense 中的每个软件许可证密钥都会被替换为单向指纹(license: 加 16 个十六进制字符)。Firebox 和接入点的序列号会保留,具体取决于该记录自身的 productName;请参阅 governance.md。通过 MCP 服务,这些读取操作会像返回其他结果一样,将秘密返回给 Agent。

最重要的控制措施是您提供的 Access ID:使用只读 Access ID 时,WatchGuard 会拒绝所有写入操作。设置 WATCHGUARD_MCP_READ_ONLY=1 可让 MCP 服务以只读模式运行。完整详情(包括如何锁定访问权限)请参阅 governance.md。

状态

测试版。基于 WatchGuard 发布的 API 规范构建,并通过本地模拟环境测试;尚无 MSP 在实际的 WatchGuard Cloud 账户上运行过它。欢迎在每周的 Build Session 中试用,成为第一个: compoundingteams.com/build-sessions。


标准。 符合开放的 Agent Skills 规范(Anthropic,2025 年 12 月;支持 40 多种 Agent)。兼容 MCP——可与任何支持 MCP 的 Agent 配合使用,包括 Hermes。已为 OpenClaw 做好准备(frontmatter 已预先配置,等待 OpenClaw 发布)。

由 Servosity 维护。采用 Apache-2.0 许可证。使用 CLI Printing Press 构建。最后更新:2026-10-15。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。