Configuration
How to configure different MCP clients to use FlashMCP. Every client that supports the Streamable HTTP transport can connect to FlashMCP with a single URL — no local servers, no SDKs, no build steps.
URL format
Every FlashMCP URL follows the same structure:
https://flashmcp.dev/{targetHost}[/basePath][?spec={specPath}]
| Component | Required | Description |
|---|---|---|
targetHost |
Yes | The API's hostname. Must contain a dot (e.g. api.example.com). |
basePath |
No | Optional path prefix if the API lives under a sub-path (e.g. /v2). |
spec |
No | Explicit path to the OpenAPI spec. Supports relative paths (/openapi.json) and absolute URLs (https://...). Skips auto-discovery. |
Here are a few example URLs to illustrate the pattern:
https://flashmcp.dev/api.example.com— simplest form, auto-discovers the spechttps://flashmcp.dev/api.example.com/v2— with a base pathhttps://flashmcp.dev/api.example.com?spec=/openapi.json— with an explicit spec pathhttps://flashmcp.dev/api.example.com?spec=https://raw.githubusercontent.com/org/repo/main/spec.json— with a cross-domain spec URL
Claude Desktop
Add a FlashMCP server to your claude_desktop_config.json. This file is located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Basic configuration
{
"mcpServers": {
"petstore": {
"url": "https://flashmcp.dev/petstore3.swagger.io"
}
}
}
With authentication headers
FlashMCP forwards Authorization, X-API-Key, and any X-* headers to the upstream API. Pass them in the headers object:
{
"mcpServers": {
"stripe": {
"url": "https://flashmcp.dev/api.stripe.com",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}
With explicit spec path
{
"mcpServers": {
"petstore": {
"url": "https://flashmcp.dev/petstore3.swagger.io?spec=/api/v3/openapi.json"
}
}
}
Claude Code
Claude Code uses a .mcp.json file in your project root (or home directory for global config). Add a FlashMCP server with the url type:
{
"mcpServers": {
"petstore": {
"type": "url",
"url": "https://flashmcp.dev/petstore3.swagger.io"
},
"github": {
"type": "url",
"url": "https://flashmcp.dev/api.github.com",
"headers": {
"Authorization": "Bearer ghp_..."
}
}
}
}
Cursor
In Cursor, go to Settings > MCP and add a new server. Select the Streamable HTTP transport type and enter the FlashMCP URL.
Alternatively, add a .cursor/mcp.json file to your project root:
{
"mcpServers": {
"petstore": {
"type": "url",
"url": "https://flashmcp.dev/petstore3.swagger.io"
},
"stripe": {
"type": "url",
"url": "https://flashmcp.dev/api.stripe.com",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}
VS Code
VS Code supports MCP servers via its settings. Open your User Settings (JSON) or Workspace Settings (JSON) and add:
{
"mcp": {
"servers": {
"petstore": {
"type": "url",
"url": "https://flashmcp.dev/petstore3.swagger.io"
},
"internal-api": {
"type": "url",
"url": "https://flashmcp.dev/api.internal.co/v2",
"headers": {
"X-API-Key": "your-api-key"
}
}
}
}
}
You can also add MCP servers to a .vscode/mcp.json file in your workspace for project-scoped configuration:
{
"servers": {
"petstore": {
"type": "url",
"url": "https://flashmcp.dev/petstore3.swagger.io"
}
}
}
Generic MCP client
FlashMCP works with any MCP client that supports the Streamable HTTP transport. There is nothing client-specific about the setup — just point your client's server URL to FlashMCP.
All you need is the URL. If your MCP client can connect to a remote HTTP server, it can use FlashMCP. No special SDK, plugin, or adapter required.
The connection details are always the same:
| Setting | Value |
|---|---|
| Transport | Streamable HTTP |
| Server URL | https://flashmcp.dev/{targetHost} |
| Auth headers | Forwarded to the upstream API (optional) |
Explicit spec path
By default, FlashMCP auto-discovers your API's OpenAPI spec using multiple lightweight methods (apis.guru directory, Link headers, well-known endpoints). If auto-discovery doesn't find your spec, or you want to point to a specific version, use the ?spec= query parameter.
When to use ?spec=
- Auto-discovery doesn't find your spec
- You want to target a specific version of the spec
- Your spec is hosted on a different domain (e.g. GitHub, docs subdomain)
- You have multiple specs and want to choose which one to use
Relative paths
A relative path is resolved against the target host. Use this when the spec is served by the same API:
# Fetches the spec from https://petstore3.swagger.io/api/v3/openapi.json
https://flashmcp.dev/petstore3.swagger.io?spec=/api/v3/openapi.json
Absolute URLs
Many APIs host their specs on a different domain — GitHub raw content, a docs subdomain, or a CDN. Use an absolute URL (starting with https://) to fetch the spec directly from that location:
# Spec hosted on GitHub, API calls go to api.stripe.com
https://flashmcp.dev/api.stripe.com?spec=https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json
Cross-domain specs are common. Roughly 90% of major APIs host their OpenAPI spec on a different domain than their API endpoint. The absolute URL option exists for exactly this reason.
In a client config file, the full URL with an absolute spec looks like this:
{
"mcpServers": {
"stripe": {
"url": "https://flashmcp.dev/api.stripe.com?spec=https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}
Base path
Some APIs are hosted under a path prefix rather than at the root of their domain. Add the base path as additional path segments after the target host:
# API at https://example.com/api/v2/...
https://flashmcp.dev/example.com/api/v2
# API at https://services.example.com/billing/...
https://flashmcp.dev/services.example.com/billing
# Base path + explicit spec
https://flashmcp.dev/example.com/api/v2?spec=/api/v2/openapi.json
The base path is prepended to every API call FlashMCP makes to the upstream. For example, if the spec defines a /users endpoint and your base path is /api/v2, FlashMCP will call https://example.com/api/v2/users.
When to use a base path
- The API is versioned via URL path (e.g.
/v2,/api/v3) - Multiple services share a domain under different prefixes
- The API lives under a sub-path on a shared platform
Tip: If the API's OpenAPI spec already includes the base path in its servers[0].url, you usually don't need to specify it again in the FlashMCP URL. FlashMCP reads the base URL from the spec. Only add a base path when the spec doesn't include it or when you need to override it.