Skip to main content

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

Use the full MCP endpoint URL for the remote server. Many FastMCP HTTP servers expose MCP at /mcp, so a local development server may need http://localhost:8000/mcp rather than http://localhost:8000.

fastmcp-remote starts a local stdio bridge, then connects to the upstream server when the MCP host initializes that bridge. If the upstream server is unavailable, the URL does not point to an MCP endpoint, or authentication cannot complete, initialization fails and the host should report the remote server as failed.

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

For servers behind a self-signed certificate, point --verify at a CA bundle that trusts the certificate:

uvx fastmcp-remote https://internal.example.com/mcp --verify /path/to/ca-bundle.pem

To disable certificate verification entirely (insecure, only for trusted private networks), pass --verify false:

uvx fastmcp-remote https://internal.example.com/mcp --verify false

A CA bundle can also be supplied through the standard SSL_CERT_FILE environment variable, which OpenSSL reads automatically:

SSL_CERT_FILE=/path/to/ca-bundle.pem uvx fastmcp-remote https://internal.example.com/mcp

Options

  • --transport: Choose http or sse. Defaults to http.
  • --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 to localhost.
  • --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: Choose oauth or none. The default uses OAuth unless an Authorization header is provided.
  • --verify: Control TLS certificate verification. Pass a path to a CA bundle to trust a self-signed certificate, or false to disable verification (insecure). Defaults to verification enabled.

OAuth tokens are stored under ~/.fastmcp/remote by default. Set FASTMCP_REMOTE_CONFIG_DIR to use another directory.

Metadata

Release files for fastmcp-remote 4.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastmcp-remote 4.1.2
File Size Uploaded Provenance
fastmcp_remote-4.1.2.tar.gz 6.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fastmcp-remote 4.1.2
File Interpreter ABI Platform
fastmcp_remote-4.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 12.8 kB

Release files / fastmcp_remote-4.1.2.tar.gz

Download URL fastmcp_remote-4.1.2.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
94b4eaa545b8b81358c7d6b396eccdfe177a21e5229cd6a6577c2e2fa63d61f8
BLAKE2b-256 checksum
How to use checksums
6f535dab2afa46ddade85c881b2c7f6814873dbb36ab3bf04db790d0f3dd1af7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","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}

Release files / fastmcp_remote-4.1.2-py3-none-any.whl

Download URL fastmcp_remote-4.1.2-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8bdf3501b10fc65cc896bd6bcfc9286a8655c8aae0a950e1f726f33dfe6da6aa
BLAKE2b-256 checksum
How to use checksums
7bbee15186fdcbae2f44978fedc1ea3c005e64726b30e6aa8def51903df78ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","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}

Security for fastmcp-remote 4.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

4.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page