mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-23 05:54:19 +02:00
Add client doc
This commit is contained in:
parent
5ac996d134
commit
16e73f86df
1 changed files with 88 additions and 0 deletions
88
docs/clients/auth/bearer.mdx
Normal file
88
docs/clients/auth/bearer.mdx
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
title: Bearer Authentication
|
||||
sidebarTitle: Bearer Auth
|
||||
description: Authenticate your FastMCP client using pre-existing OAuth 2.0 Bearer tokens.
|
||||
icon: key
|
||||
---
|
||||
|
||||
import { VersionBadge } from "/snippets/version-badge.mdx"
|
||||
|
||||
<VersionBadge version="2.6.0" />
|
||||
|
||||
You can configure your FastMCP client to use **bearer authentication** by supplying a valid access token. This is most appropriate for service accounts, long-lived API keys, CI/CD, applications where authentication is managed separately, or other non-interactive authentication methods.
|
||||
|
||||
|
||||
A Bearer token is a JSON Web Token (JWT) that is used to authenticate a request. It is most commonly used in the `Authorization` header of an HTTP request, using the `Bearer` scheme:
|
||||
|
||||
```http
|
||||
Authorization: Bearer <token>
|
||||
```
|
||||
|
||||
|
||||
## Client Usage
|
||||
|
||||
The most straightforward way to use a pre-existing Bearer token is to provide it as a string to the `auth` parameter of the `fastmcp.Client` or transport instance. FastMCP will automatically format it correctly for the `Authorization` header and bearer scheme.
|
||||
|
||||
<Tip>
|
||||
If you're using a string token, do not include the `Bearer` prefix. FastMCP will add it for you.
|
||||
</Tip>
|
||||
|
||||
```python {6}
|
||||
from fastmcp import Client
|
||||
|
||||
async def main():
|
||||
async with Client(
|
||||
'https://fastmcp.cloud/mcp',
|
||||
auth="<your-token>",
|
||||
) as client:
|
||||
await client.ping()
|
||||
```
|
||||
|
||||
You can also supply a Bearer token to a transport instance, such as `StreamableHttpTransport` or `SSETransport`:
|
||||
|
||||
```python {6}
|
||||
from fastmcp import Client
|
||||
from fastmcp.client.transports import StreamableHttpTransport
|
||||
|
||||
transport = StreamableHttpTransport(
|
||||
"http://fastmcp.cloud/mcp",
|
||||
auth="<your-token>",
|
||||
)
|
||||
|
||||
async def main():
|
||||
async with Client(transport) as client:
|
||||
await client.ping()
|
||||
```
|
||||
|
||||
## `BearerAuth` Helper
|
||||
|
||||
If you prefer to be more explicit and not rely on FastMCP to transform your string token, you can use the `BearerAuth` class yourself, which implements the `httpx.Auth` interface.
|
||||
|
||||
```python {7}
|
||||
from fastmcp import Client
|
||||
from fastmcp.client.auth import BearerAuth
|
||||
|
||||
async def main():
|
||||
async with Client(
|
||||
"https://fastmcp.cloud/mcp",
|
||||
auth=BearerAuth(token="<your-token>"),
|
||||
) as client:
|
||||
await client.ping()
|
||||
```
|
||||
|
||||
## Custom Headers
|
||||
|
||||
If the MCP server expects a custom header or token scheme, you can manually set the client's `headers` instead of using the `auth` parameter:
|
||||
|
||||
```python {6-8}
|
||||
from fastmcp import Client
|
||||
|
||||
async def main():
|
||||
async with Client(
|
||||
"https://fastmcp.cloud/mcp",
|
||||
headers={
|
||||
'X-API-Key': '<your-token>',
|
||||
},
|
||||
) as client:
|
||||
await client.ping()
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue