19  连接列表中没有的服务

将没有内置预设的工具连接到 Claude Tag。涵盖凭据类型、各表单字段的含义,以及如何添加自定义 MCP 服务器。

export const BetaNote = () => Claude Tag is in public beta. Features and behavior described here may change before general availability.;

连接在 Access bundle 中添加。在 claude.ai/admin-settings/claude-tag 打开左侧导航的 Access bundles,点击进入一个包(或 Create 一个),转到其 Credentials 标签。

对于没有预设 Connect 按钮的服务,使用包 Credentials 标签上的 Custom tool。这适用于任何有 HTTP API 的服务。BigQuery 指南是一个完整示例。

19.1 添加自定义 HTTP API

19.1.1 你需要从服务获取什么

  • 一个服务账号凭据(API 密钥、令牌或 OAuth 客户端)——不是你的个人登录
  • API 主机(例如 api.example.com
  • API 认证方式(它期望的 Header 或流程)

服务账号模式的说明参见为每个服务创建专用账号

19.1.2 填写 Custom tool 表单

字段 输入内容
Name 此连接的标签(例如 “Internal billing API”)
Credential type 选择与 API 认证方式匹配的类型;参见凭据类型
Allowed websites API 的主机(例如 api.example.com)。通配符可用作最左边的标签。你不能在此处单独输入 *;凭据始终限于特定主机(参见允许所有主机)。凭据仅发送到你在此列出的主机。
Path prefixes(可选) 将凭据限制为主机下的特定 URL 路径。仅 OAuth 2.0 authorization code 类型显示。
Custom headers API 在凭据之外需要的任何额外 Header。仅 Bearer 凭据类型显示。

19.1.3 凭据类型

类型 用途
Bearer 作为 Authorization: Bearer 发送的 API 密钥或令牌。大多数 SaaS REST API。
Basic HTTP Basic 认证(Authorization: Basic)
Body parameter API 期望在请求体或查询字符串中而非 Header 中传递的令牌
AWS SigV4 需要 Signature Version 4 签名的 AWS 服务和 API
GCP access token (with Service Account Key) Google Cloud API;代理用 SA 密钥交换访问令牌
GCP IAP (with Service Account Key) 位于 Identity-Aware Proxy 后面的 Google Cloud 服务
OAuth 2.0 JWT bearer 以你的私钥签名的 JWT 换取访问令牌的 API(例如 DocuSign)
OAuth 2.0 client credentials 使用客户端 ID 和密钥的机器到机器 OAuth
OAuth 2.0 authorization code(三方) 带用户同意步骤的 OAuth;连接存储产生的刷新令牌
GitHub App GitHub 仓库;参见 Configure GitHub access

如果你不确定使用哪个类型,查看服务的 API 认证文档了解它期望的 Header 或流程。

19.1.4 AWS SigV4

对 AWS 服务 API(S3、Lambda、Amazon Bedrock、带 IAM 授权的 API Gateway 端点)使用 AWS SigV4 凭据类型。Agent Proxy 从主机名读取 AWS 服务和签名区域,并在边界用凭据对每个出站请求签名,因此模型和沙箱都不持有密钥。主机必须是 amazonaws.com 端点;代理无法对 API Gateway 自定义域名或使用 Signature Version 4 的非 AWS API 签名请求。

字段
Access key ID IAM 用户或角色访问密钥,例如 AKIAIOSFODNN7EXAMPLE
Secret access key 匹配的秘密访问密钥
Session token 可选。仅 AWS STS 临时凭据需要。
Allowed websites AWS 服务端点主机,例如 s3.us-east-1.amazonaws.comabc123.execute-api.us-east-1.amazonaws.com

尽可能使用来自专用 IAM 用户的长期凭据。临时 STS 凭据可用但会自行过期,连接在其过期时停止工作;你需重新输入三个值来轮换。

Claude 可以用 curl、AWS SDK 或 AWS CLI 调用端点。沙箱不持有真实 AWS 凭据,因此 CLI 或 SDK 用占位符值签名请求;Agent Proxy 剥离该签名并在请求发往 AWS 前用存储的凭据重新签名。唯一无法重新签名的形式是分块负载签名。如果 Claude 报告分块签名不被代理支持,让它设置 ~/.aws/config 中的 payload_signing_enabled = false 然后重试。

19.1.4.1 当 AWS 返回 SignatureDoesNotMatch

AWS 返回 SignatureDoesNotMatch 表示 AWS 收到的请求与 Agent Proxy 签名的不匹配。

检查 如何处理
Access key ID 和 secret access key 属于同一 IAM 身体 一起重新输入 access key ID、secret access key 和 session token。表单是只写的,部分更新可能导致不匹配。
Anthropic 和 AWS 之间没有你自己的代理或网关 第二个代理如果添加、剥离或重新排序 Header,或重新签名请求,会使 Agent Proxy 附加的签名失效。将 Allowed websites 直接指向 AWS 端点。

丢弃或过期的会话令牌是另一种不同的失败:AWS 用令牌错误(如 InvalidClientTokenId)而非 SignatureDoesNotMatch 拒绝。轮换所有三个字段。

19.1.5 OAuth 2.0 JWT bearer

对以你的私钥签名的 JWT 换取访问令牌的 API 使用 OAuth 2.0 JWT bearer 凭据类型。Salesforce 指南是一个完整示例。

Private key (PEM) 字段接受不带密码的 PEM 编码 RSA 私钥,格式以 -----BEGIN PRIVATE KEY----------BEGIN RSA PRIVATE KEY----- 开头。Okta 等身份提供者默认将密钥导出为 JWK(JSON 对象);在粘贴前将 JWK 转换为 PEM。表单不检查密钥格式,因此格式错误的密钥仅在保存时失败。

19.1.5.1 保存失败提示 “Failed to create egress credential”

保存表单可能返回错误 “Failed to create egress credential. Check your inputs and try again.” 最可能的原因是私钥不是 PEM 编码的,例如 JWK 被直接粘贴到 Private key (PEM) 字段中。将密钥转换为 PEM 再保存。

PEM 编码密钥不是 RSA 密钥或有密码时保存也会失败。密钥格式正确后,逐一重新核对你服务的每个字段。

19.2 添加自定义 MCP 服务器

要给 Claude 一个 MCP 服务器(你自己运行的或供应商的托管 MCP 端点),模式是插件加凭据:

在包的 **Plugins** 标签中(或通过你的[技能仓库](../admins/skills-repo.qmd)),添加一个插件,其 `.mcp.json` 指向服务器 URL。插件告诉 Claude 服务器存在以及如何调用它。



在 **Credentials** 标签上,点击 **Custom tool** 旁边的 **Connect**,为 MCP 服务器的主机添加凭据(例如 Bearer Token,**Allowed websites** 设置为 `your-mcp-host.example.com`)。这使调用可以携带认证从沙箱发出。

插件的 .mcp.json 被加载是因为它是附加插件的一部分;Claude 克隆的仓库中检入的 .mcp.json 不会被加载。

19.3 验证连接

在包作用域下的频道中,开启新话题,要求 Claude 对 API 执行一个小型读取操作:

text wrap theme={null} @Claude can you reach api.example.com? Try a GET on /health.

检查服务自身的审计日志确认调用落在你的服务账号下。新话题会自动获取连接;在已有话题中,通过名称要求 Claude 使用该服务。

19.4 相关资源