乐于分享
好东西不私藏

41_FastMCP 2.x 中文文档之FastMCP客户端认证:Bearer 令牌认证详解

41_FastMCP 2.x 中文文档之FastMCP客户端认证:Bearer 令牌认证详解

一、Bearer 令牌认证

使用 Bearer 令牌认证您的 FastMCP 客户端。

新版本:2.6.0 功能

注意:Bearer 令牌认证仅适用于基于 HTTP 的传输协议。

您可以通过提供有效的访问令牌来配置 FastMCP 客户端使用 Bearer 认证。这种方式最适用于服务账户、长期有效的 API 密钥、CI/CD 环境、认证单独管理的应用程序或其他非交互式认证场景。

Bearer 令牌是一种 JSON Web 令牌(JWT),用于请求身份验证。它最常出现在 HTTP 请求的 Authorization 头部,并采用 Bearer 方案:

Authorization: Bearer <token>

二、客户端用法

使用现有 Bearer 令牌最直接的方式是将其作为字符串提供给 fastmcp.Client 或传输实例的 auth 参数。FastMCP 会自动将其格式化为正确的 Authorization 头部和 Bearer 方案。

注意:如果使用字符串令牌,请勿包含 Bearer 前缀,FastMCP 会自动添加该前缀。

from fastmcp import Client

asyncwith Client(
"https://fastmcp.cloud/mcp",
    auth="<您的令牌>",
)as client:
await client.ping()

您也可以向传输实例(例如 StreamableHttpTransport 或 SSETransport)提供 Bearer 令牌:

from fastmcp import Client
from fastmcp.client.transports import StreamableHttpTransport

transport = StreamableHttpTransport(
"http://fastmcp.cloud/mcp",
    auth="<您的令牌>",
)

asyncwith Client(transport)as client:
await client.ping()

三、BearerAuth 辅助工具

如果您希望更明确地处理令牌而不依赖 FastMCP 的自动转换,可以直接使用实现了 httpx.Auth 接口的 BearerAuth 类。

from fastmcp import Client
from fastmcp.client.auth import BearerAuth

asyncwith Client(
"https://fastmcp.cloud/mcp",
    auth=BearerAuth(token="<您的令牌>"),
)as client:
await client.ping()

四、自定义头部

如果 MCP 服务器需要自定义头部或令牌方案,您可以通过在传输实例上手动设置 headers 参数来替代使用 auth 参数:

from fastmcp import Client
from fastmcp.client.transports import StreamableHttpTransport

asyncwith Client(
    transport=StreamableHttpTransport(
"https://fastmcp.cloud/mcp",
        headers={"X-API-Key":"<您的令牌>"},
),
)as client:
await client.ping()
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 41_FastMCP 2.x 中文文档之FastMCP客户端认证:Bearer 令牌认证详解

评论 抢沙发

1 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮