Claude Platform 101
← 所有课程
课程 09Claude Platform 101

维护难题

摘要音频

语音摘要 — 点击播放以跟读:正在朗读的行会保持在顶部附近。

学习笔记

我们拥有工具、技能和连接器。那为什么还需要MCP?乍看之下它像是API之上的又一层API。这个问题很合理——答案在于谁来维护集成代码。

维护难题

假设你的智能体需要从Asana拉取任务、检查Google日历并搜索Slack——一次性完成。使用自定义工具时,你需要编写三个集成。这部分还算可行。痛苦的是后续:每当这些服务的API发生变化时(这很常见),你还得持续维护这些集成。恭喜,你现在成了一堆第三方API封装器的维护者。

MCP将维护责任转移给服务提供商。Asana发布MCP服务器。Slack发布一个。Google发布一个。每个服务器通过标准协议暴露自己的工具——包括描述、架构和认证。当它们的API变更时,由它们更新服务器。你无需任何改动。

工具 vs 技能 vs MCP

这三项功能各司其职:

  • 工具连接Claude到你的内部系统——你的数据库、项目跟踪器、专有API。代码归你所有,维护也由你负责。
  • 技能教会Claude特定流程——你的报告模板、审核清单。技能是指令,不一定是集成。
  • MCP连接Claude到第三方服务,由服务提供商维护集成。Asana的封装器不用你写——Asana已经写好了。

简而言之:工具用于你的系统,技能用于你的流程,MCP用于其他人的系统。

工具、技能和MCP的对比卡片,其中MCP卡片高亮显示:连接Claude到第三方服务,由服务提供商维护

连接MCP服务器

体验MCP最清晰的方式是让Claude指向任意MCP服务器并自动发现可用功能。本例我们将使用Linear的MCP服务器,连接详情和认证令牌存储在. env文件中。

请求包含两个关键部分。mcp_servers键声明连接——类型、URL、引用名称及可选的认证令牌。然后通过类型为mcp_toolset的工具配置Claude可使用的服务器工具。默认启用全部工具,若要缩小范围可在此设置。

注意我们从未编写任何工具架构。Claude会自省服务器,获取工具列表及其架构,然后根据提示选择合适工具。当前MCP连接器处于测试阶段——请注意请求中的测试版头信息。

运行后,如果你的MCP URL指向Linear的MCP终端,Claude将列出Linear的工具并调用其中一个。这基本适用于所有合规服务器。我们没定义任何工具,没编写Linear客户端。这些都由Linear维护。

终端输出显示Linear MCP服务器的工具列表,接着Claude识别出这些是Linear项目管理工具并选择调用

过滤Claude可使用的工具

MCP服务器通常暴露大量工具——而你未必想让Claude使用全部。可能你不想赋予写入权限,或者只是不希望过多工具定义占用上下文空间。

解决方案:默认禁用所有工具,然后仅启用特定工具。以下是与Slack MCP服务器配合的配置模式:

现在Claude可以搜索Slack消息和列出频道,但不能发布或删除。当你信任服务的读取权限但不想让Claude意外代你写入时,这非常有用。

重点回顾

  • MCP的存在使你无需维护别人已构建好的集成。服务提供商发布MCP服务器并保持更新——API变更时你无需任何改动。
  • 对症下药:工具用于你的数据,技能用于你的流程,MCP用于第三方服务
  • 在mcp_servers声明连接(类型、URL、名称、可选令牌),并通过mcp_toolset在tools中授权访问。Claude会自省服务器并自动发现工具——无需编写架构。
  • 通过设置default_config: {"enabled": False}和在configs启用特定工具来限定访问范围——这对保持服务器只读状态很有用。
  • MCP连接器目前处于测试阶段,因此请求需包含测试版头信息。
  • 访问**modelcontextprotocol. io**查看可用服务器列表并了解更多协议详情。
抽认卡 8 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 6 题