A Python stdio bridge for remote MCP servers, powered by FastMCP.
Project description
fastmcp-remote
fastmcp-remote is FastMCP's standalone Python stdio bridge for remote MCP servers. It lets MCP clients that launch local stdio processes connect to MCP servers hosted over Streamable HTTP or SSE.
{
"mcpServers": {
"linear": {
"command": "uvx",
"args": ["fastmcp-remote", "https://mcp.linear.app/mcp"]
}
}
}
The CLI is powered by FastMCP. Its command shape is inspired by the original mcp-remote npm project, which established the stdio-to-remote bridge pattern used across the MCP ecosystem.
fastmcp-remote is intentionally smaller than the general FastMCP CLI. It does not load Python files, discover local MCP configs, prepare project environments, or run development reload loops. It builds one FastMCP client for the URL you provide, exposes that client as a local stdio proxy, and leaves the rest alone.
Usage
Run a remote MCP server through a local stdio bridge:
uvx fastmcp-remote https://example.com/mcp
For authenticated MCP servers, OAuth is enabled automatically. To pass a bearer token or other custom header instead, provide a header. The header name ends at the first colon, so values can contain additional colons. Quote the header when the value contains spaces, just like any other shell argument:
uvx fastmcp-remote https://example.com/mcp \
--header "Authorization: Bearer <token>"
Repeat --header to send multiple headers. Header values use Name: Value format:
uvx fastmcp-remote https://example.com/mcp \
--header "Authorization: Bearer <token>" \
--header "X-Workspace: production" \
--header "X-Client-Name: My MCP Host" \
--header "X-Callback-Url: https://example.com/oauth/callback"
Some MCP hosts on Windows have trouble preserving spaces inside command arguments. Put the spaced value in an environment variable and reference it from the header value:
{
"mcpServers": {
"remote-api": {
"command": "uvx",
"args": [
"fastmcp-remote",
"https://example.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <token>"
}
}
}
}
Use --auth none for unauthenticated development servers:
uvx fastmcp-remote http://localhost:8000/mcp --auth none
Options
--transport: Choosehttporsse. Defaults tohttp.--header: Add a header to upstream requests, for example--header "Authorization: Bearer <token>". Values may contain colons. Quote headers whose values contain spaces. Use${VAR}to expand environment variables inside values. Repeat for multiple headers.--resource: Isolate OAuth token storage for a named remote resource.--host: Set the OAuth callback hostname. Defaults tolocalhost.--auth-timeout: Set how long to wait for the OAuth callback. Defaults to 300 seconds.--ignore-tool: Hide tools whose names match a glob pattern.--auth: Chooseoauthornone. The default uses OAuth unless anAuthorizationheader is provided.
OAuth tokens are stored under ~/.fastmcp/remote by default. Set FASTMCP_REMOTE_CONFIG_DIR to use another directory.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastmcp_remote-3.4.0b1.tar.gz.
File metadata
- Download URL: fastmcp_remote-3.4.0b1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2665a30865b57a03bf0b95a41579b71f368f40b91ac654b10106c2da7fa2197
|
|
| MD5 |
c5bbfbd0eb4bdc71ed9ab6a6e9a70d4e
|
|
| BLAKE2b-256 |
314821b8a279ea6d5be045332cb693ff5877505df5bf6d2597c83ad6ae660e9e
|
File details
Details for the file fastmcp_remote-3.4.0b1-py3-none-any.whl.
File metadata
- Download URL: fastmcp_remote-3.4.0b1-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f57e4e02a24a34e6a9957cfc1502874e723d1e372eb034a1657deef3bbe0be1f
|
|
| MD5 |
ee79d00268c560bc67488a5ea746fe33
|
|
| BLAKE2b-256 |
00ba482531c5b90544de7c447502630ca9875fed5799fd3a83565862f4e37ba8
|