MCP 隧道
获取隧道
get /v1/organizations/tunnels/{tunnel_id}
根据 ID 检索调用者组织中的单个隧道。
路径参数
-
tunnel_id: string隧道的 ID。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
返回值
-
id: string隧道的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示隧道被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示隧道的创建时间。
-
display_name: string隧道的可读名称(1–255 个字符),如果未设置则为
null。 -
domain: stringAnthropic 为主机分配的隧道主机名。主机为该值子域名的 MCP 服务器 URL 将通过该隧道路由。全局唯一,即使隧道被归档后也不会被重用。
-
type: "tunnel"对象类型。隧道始终为
tunnel。"tunnel"
-
workspace_id: string该隧道所属工作区的 ID,默认工作区为
null。创建后不可更改。
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"id": "tnl_01Hx9Kp2RtQvMn3sWbYdLcF8",
"archived_at": "2024-11-01T23:59:27.427722Z",
"created_at": "2024-10-30T23:58:27.427722Z",
"display_name": "Production",
"domain": "a1b2c3d4.tunnel.anthropic.com",
"type": "tunnel",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}
列出隧道
get /v1/organizations/tunnels
列出组织的隧道。
结果覆盖调用者的组织,按创建时间排序(最新优先)。使用 workspace_id 过滤单个工作区;除非设置 include_archived,否则已归档的隧道将被排除。
查询参数
-
include_archived: optional boolean在结果中包含已归档的隧道。默认情况下排除已归档的隧道。
-
limit: optional number单页返回的最大隧道数量。
-
page: optional string来自上一次响应
next_page的不透明分页游标。省略则获取第一页。 -
workspace_id: optional string仅返回此工作区中的隧道。接受
wrkspc_前缀的工作区 ID;省略则列出所有工作区的隧道。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
返回值
-
data: array of object { id, archived_at, created_at, 4 more }-
id: string隧道的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示隧道被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示隧道的创建时间。
-
display_name: string隧道的可读名称(1–255 个字符),如果未设置则为
null。 -
domain: stringAnthropic 为主机分配的隧道主机名。主机为该值子域名的 MCP 服务器 URL 将通过该隧道路由。全局唯一,即使隧道被归档后也不会被重用。
-
type: "tunnel"对象类型。隧道始终为
tunnel。"tunnel"
-
workspace_id: string该隧道所属工作区的 ID,默认工作区为
null。创建后不可更改。
-
-
next_page: string下一页的不透明游标,如果没有更多结果则为
null。
示例
curl https://api.anthropic.com/v1/organizations/tunnels \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"data": [
{
"id": "tnl_01Hx9Kp2RtQvMn3sWbYdLcF8",
"archived_at": "2024-11-01T23:59:27.427722Z",
"created_at": "2024-10-30T23:58:27.427722Z",
"display_name": "Production",
"domain": "a1b2c3d4.tunnel.anthropic.com",
"type": "tunnel",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}
],
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
显示隧道令牌
post /v1/organizations/tunnels/{tunnel_id}/reveal_token
返回隧道的当前连接令牌。
该值在每次调用时实时获取;Anthropic 不存储该值。重复调用返回相同的值,直到令牌被轮换。使用 POST 方式暴露,以避免令牌出现在中间访问日志中。
路径参数
-
tunnel_id: string隧道的 ID。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
返回值
-
id: string当前令牌值的稳定标识符。令牌轮换时会更改。
-
tunnel_token: string隧道的连接令牌。
-
type: "tunnel_token"对象类型。隧道令牌始终为
tunnel_token。"tunnel_token"
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/reveal_token \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"id": "ttkn_bb97000eaec162831399ca9b6684a4fdf5be49ace5683057b017aab5c87e19e0",
"tunnel_token": "eyJhIjoiRVhBTVBMRSIsInQiOiJFWEFNUExFIiwicyI6IkVYQU1QTEUifQ==",
"type": "tunnel_token"
}
轮换隧道令牌
post /v1/organizations/tunnels/{tunnel_id}/rotate_token
使隧道的当前令牌对新连接失效,并返回新的令牌值。
已建立的连接不会因轮换而断开;轮换后重新启动的连接器必须使用新值。可选的 reason 参数用于记录操作上下文。
路径参数
-
tunnel_id: string隧道的 ID。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
请求体参数
-
reason: optional string可选的轮换原因自由文本,用于审计记录。
返回值
-
id: string当前令牌值的稳定标识符。令牌轮换时会更改。
-
tunnel_token: string隧道的连接令牌。
-
type: "tunnel_token"对象类型。隧道令牌始终为
tunnel_token。"tunnel_token"
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/rotate_token \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"id": "ttkn_bb97000eaec162831399ca9b6684a4fdf5be49ace5683057b017aab5c87e19e0",
"tunnel_token": "eyJhIjoiRVhBTVBMRSIsInQiOiJFWEFNUExFIiwicyI6IkVYQU1QTEUifQ==",
"type": "tunnel_token"
}
归档隧道
post /v1/organizations/tunnels/{tunnel_id}/archive
归档隧道。归档操作不可逆。
隧道上所有未归档的证书将在同一操作中被归档,主机名将被停用且永远不会重新分配,隧道令牌将被失效。对已归档的隧道重试此操作将返回现有记录,不会更改。
路径参数
-
tunnel_id: string隧道的 ID。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
返回值
-
id: string隧道的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示隧道被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示隧道的创建时间。
-
display_name: string隧道的可读名称(1–255 个字符),如果未设置则为
null。 -
domain: stringAnthropic 为主机分配的隧道主机名。主机为该值子域名的 MCP 服务器 URL 将通过该隧道路由。全局唯一,即使隧道被归档后也不会被重用。
-
type: "tunnel"对象类型。隧道始终为
tunnel。"tunnel"
-
workspace_id: string该隧道所属工作区的 ID,默认工作区为
null。创建后不可更改。
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/archive \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"id": "tnl_01Hx9Kp2RtQvMn3sWbYdLcF8",
"archived_at": "2024-11-01T23:59:27.427722Z",
"created_at": "2024-10-30T23:58:27.427722Z",
"display_name": "Production",
"domain": "a1b2c3d4.tunnel.anthropic.com",
"type": "tunnel",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}
领域类型
MCP 隧道检索响应
-
MCPTunnelRetrieveResponse object { id, archived_at, created_at, 4 more }-
id: string隧道的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示隧道被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示隧道的创建时间。
-
display_name: string隧道的可读名称(1–255 个字符),如果未设置则为
null。 -
domain: stringAnthropic 为主机分配的隧道主机名。主机为该值子域名的 MCP 服务器 URL 将通过该隧道路由。全局唯一,即使隧道被归档后也不会被重用。
-
type: "tunnel"对象类型。隧道始终为
tunnel。"tunnel"
-
workspace_id: string该隧道所属工作区的 ID,默认工作区为
null。创建后不可更改。
-
MCP 隧道列表响应
-
MCPTunnelListResponse object { data, next_page }-
data: array of object { id, archived_at, created_at, 4 more }-
id: string隧道的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示隧道被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示隧道的创建时间。
-
display_name: string隧道的可读名称(1–255 个字符),如果未设置则为
null。 -
domain: stringAnthropic 为主机分配的隧道主机名。主机为该值子域名的 MCP 服务器 URL 将通过该隧道路由。全局唯一,即使隧道被归档后也不会被重用。
-
type: "tunnel"对象类型。隧道始终为
tunnel。"tunnel"
-
workspace_id: string该隧道所属工作区的 ID,默认工作区为
null。创建后不可更改。
-
-
next_page: string下一页的不透明游标,如果没有更多结果则为
null。
-
MCP 隧道显示令牌响应
-
MCPTunnelRevealTokenResponse object { id, tunnel_token, type }-
id: string当前令牌值的稳定标识符。令牌轮换时会更改。
-
tunnel_token: string隧道的连接令牌。
-
type: "tunnel_token"对象类型。隧道令牌始终为
tunnel_token。"tunnel_token"
-
MCP 隧道轮换令牌响应
-
MCPTunnelRotateTokenResponse object { id, tunnel_token, type }-
id: string当前令牌值的稳定标识符。令牌轮换时会更改。
-
tunnel_token: string隧道的连接令牌。
-
type: "tunnel_token"对象类型。隧道令牌始终为
tunnel_token。"tunnel_token"
-
MCP 隧道归档响应
-
MCPTunnelArchiveResponse object { id, archived_at, created_at, 4 more }-
id: string隧道的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示隧道被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示隧道的创建时间。
-
display_name: string隧道的可读名称(1–255 个字符),如果未设置则为
null。 -
domain: stringAnthropic 为主机分配的隧道主机名。主机为该值子域名的 MCP 服务器 URL 将通过该隧道路由。全局唯一,即使隧道被归档后也不会被重用。
-
type: "tunnel"对象类型。隧道始终为
tunnel。"tunnel"
-
workspace_id: string该隧道所属工作区的 ID,默认工作区为
null。创建后不可更改。
-
隧道证书
创建隧道证书
post /v1/organizations/tunnels/{tunnel_id}/certificates
为隧道注册公共 CA 证书。
Anthropic 在终止内部 TLS 会话时,会根据此 CA 验证网关的服务器证书。PEM 内容必须恰好包含一个 X.509 证书,且不包含私钥材料。一个隧道最多可持有两个未归档的证书。
路径参数
-
tunnel_id: string隧道的 ID。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
请求体参数
-
ca_certificate_pem: stringPEM 编码的 X.509 CA 证书。必须恰好包含一个证书,且不包含私钥材料。
返回值
-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/certificates \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN" \
-d '{
"ca_certificate_pem": "-----BEGIN CERTIFICATE-----\\nMIIBexampleEXAMPLEexampleEXAMPLEexampleEXAMPLEexampleEXAMPLEexa\\n...illustrative placeholder, not a real certificate...\\n-----END CERTIFICATE-----\\n"
}'
响应
{
"id": "tcrt_01JmWq4ZxnBvR7tKpY2sLdH9",
"archived_at": "2024-11-01T23:59:27.427722Z",
"created_at": "2024-10-30T23:58:27.427722Z",
"expires_at": "2024-10-30T23:58:27.427722Z",
"fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"tunnel_id": "tnl_01Hx9Kp2RtQvMn3sWbYdLcF8",
"type": "tunnel_certificate"
}
获取隧道证书
get /v1/organizations/tunnels/{tunnel_id}/certificates/{certificate_id}
根据 ID 检索隧道上注册的单个证书。
路径参数
-
tunnel_id: string隧道的 ID。
-
certificate_id: string隧道证书的 ID。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
返回值
-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/certificates/$CERTIFICATE_ID \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"id": "tcrt_01JmWq4ZxnBvR7tKpY2sLdH9",
"archived_at": "2024-11-01T23:59:27.427722Z",
"created_at": "2024-10-30T23:58:27.427722Z",
"expires_at": "2024-10-30T23:58:27.427722Z",
"fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"tunnel_id": "tnl_01Hx9Kp2RtQvMn3sWbYdLcF8",
"type": "tunnel_certificate"
}
列出隧道证书
get /v1/organizations/tunnels/{tunnel_id}/certificates
列出隧道上注册的证书。
除非设置 include_archived,否则已归档的证书将被排除。
路径参数
-
tunnel_id: string隧道的 ID。
查询参数
-
include_archived: optional boolean在结果中包含已归档的证书。默认情况下排除已归档的证书。
-
limit: optional number返回的最大证书数量。
-
page: optional string一个隧道最多有两个活跃证书,因此此列表不分页。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
返回值
-
data: array of object { id, archived_at, created_at, 4 more }-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
-
-
next_page: string下一页的不透明游标,如果没有更多结果则为
null。
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/certificates \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"data": [
{
"id": "tcrt_01JmWq4ZxnBvR7tKpY2sLdH9",
"archived_at": "2024-11-01T23:59:27.427722Z",
"created_at": "2024-10-30T23:58:27.427722Z",
"expires_at": "2024-10-30T23:58:27.427722Z",
"fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"tunnel_id": "tnl_01Hx9Kp2RtQvMn3sWbYdLcF8",
"type": "tunnel_certificate"
}
],
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
归档隧道证书
post /v1/organizations/tunnels/{tunnel_id}/certificates/{certificate_id}/archive
归档证书,将其从 Anthropic 为该隧道信任的证书集合中移除。
证书记录将被保留。允许归档最后一个未归档的证书;在添加新证书之前,隧道将拒绝 MCP 流量。
路径参数
-
tunnel_id: string隧道的 ID。
-
certificate_id: string隧道证书的 ID。
请求头参数
-
"anthropic-beta": array of "mcp-tunnels-2026-05-19"所有隧道端点都需要此参数。
"mcp-tunnels-2026-05-19"
返回值
-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
示例
curl https://api.anthropic.com/v1/organizations/tunnels/$TUNNEL_ID/certificates/$CERTIFICATE_ID/archive \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_WIF_BEARER_TOKEN"
响应
{
"id": "tcrt_01JmWq4ZxnBvR7tKpY2sLdH9",
"archived_at": "2024-11-01T23:59:27.427722Z",
"created_at": "2024-10-30T23:58:27.427722Z",
"expires_at": "2024-10-30T23:58:27.427722Z",
"fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"tunnel_id": "tnl_01Hx9Kp2RtQvMn3sWbYdLcF8",
"type": "tunnel_certificate"
}
领域类型
隧道证书创建响应
-
TunnelCertificateCreateResponse object { id, archived_at, created_at, 4 more }-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
-
隧道证书检索响应
-
TunnelCertificateRetrieveResponse object { id, archived_at, created_at, 4 more }-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
-
隧道证书列表响应
-
TunnelCertificateListResponse object { data, next_page }-
data: array of object { id, archived_at, created_at, 4 more }-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
-
-
next_page: string下一页的不透明游标,如果没有更多结果则为
null。
-
隧道证书归档响应
-
TunnelCertificateArchiveResponse object { id, archived_at, created_at, 4 more }-
id: string隧道证书的 ID。
-
archived_at: stringRFC 3339 日期时间字符串,表示证书被归档的时间,如果未归档则为
null。 -
created_at: stringRFC 3339 日期时间字符串,表示证书的注册时间。
-
expires_at: stringRFC 3339 日期时间字符串,表示证书的过期时间,如果不过期则为
null。 -
fingerprint: string证书的 SHA-256 指纹,以小写十六进制字符串表示。
-
tunnel_id: string该证书注册所属隧道的 ID。
-
type: "tunnel_certificate"对象类型。隧道证书始终为
tunnel_certificate。"tunnel_certificate"
-