Getting started

FlashMCP turns any REST API with an OpenAPI spec into a fully-functional MCP server your LLM can use. One URL. Zero setup. No servers to deploy, no code to write, no dependencies to install — it just works.

FlashMCP is fully hosted on a global edge network. You point your MCP client at a URL and we handle everything else: discovering the spec, parsing every endpoint, resolving complex schemas, and building optimized tool definitions. It's magic.

Quick start

You can go from zero to a working MCP server in under a minute. Here's how:

Step 1: Pick an API

Choose any REST API that has an OpenAPI (formerly Swagger) specification. This covers thousands of popular APIs — Stripe, GitHub, Twilio, Notion, PagerDuty, and many more. If the API has a spec, FlashMCP can use it.

Step 2: Add FlashMCP to your MCP client

Open your MCP client configuration and add a new server entry. The URL is simply https://flashmcp.dev/ followed by the API's hostname.

claude_desktop_config.json
{
  "mcpServers": {
    "petstore": {
      "url": "https://flashmcp.dev/petstore3.swagger.io"
    }
  }
}

That's it. No npm install. No Docker. No build step. FlashMCP runs entirely in the cloud — your MCP client connects to it over HTTP like any other hosted service.

Step 3: Use it

Restart your MCP client (or reconnect). Your LLM now has access to every endpoint in the API as a callable tool. Ask it to list resources, create records, update data, or delete items — all through natural language.

URL format

Every FlashMCP URL follows the same pattern:

URL structure
https://flashmcp.dev/{targetHost}[/{basePath}][?spec={specPath}]
Parameter Required Description
targetHost Yes The hostname of the API you want to connect to (e.g. api.github.com)
basePath No An optional base path if the API is served under a subpath (e.g. /api/v3)
spec No Path to the OpenAPI spec, either a relative path (/openapi.json) or an absolute URL (https://example.com/spec.json)

Examples

Use case FlashMCP URL
Simple API (auto-discovery) https://flashmcp.dev/petstore3.swagger.io
API with base path https://flashmcp.dev/api.example.com/v2
Explicit spec path https://flashmcp.dev/api.example.com?spec=/openapi.json
Cross-domain spec (absolute URL) https://flashmcp.dev/api.stripe.com?spec=https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json

Tip: Most popular APIs work without a ?spec= parameter. FlashMCP automatically discovers specs for thousands of APIs. You only need to specify the spec path when auto-discovery can't find it.

What gets mapped

FlashMCP reads the OpenAPI specification and turns every operation into an MCP tool your LLM can call. Each tool gets a name, a description, and a fully-typed input schema — all generated automatically.

Tool naming

If an operation has an operationId in the spec, that becomes the tool name directly. If not, FlashMCP generates a readable name from the HTTP method and path.

Spec definition MCP tool name
GET /pets with operationId: "listPets" listPets
POST /pets with operationId: "createPet" createPet
GET /pets/{petId} (no operationId) get_pets_petId
DELETE /pets/{petId} (no operationId) delete_pets_petId

Supported HTTP methods

All five standard HTTP methods are fully supported:

  • GET — Read resources
  • POST — Create resources
  • PUT — Replace resources
  • PATCH — Partially update resources
  • DELETE — Remove resources

LLM-optimized parameters

FlashMCP flattens request body schemas into simple, top-level parameters. Your LLM calls tools with clean, flat arguments — no nested objects or wrapper properties required. For example, instead of:

Without FlashMCP (nested body)
createPet({ body: { name: "Rex", status: "available" } })

Your LLM simply calls:

With FlashMCP (flat arguments)
createPet({ name: "Rex", status: "available" })

Complex $ref pointers, nested schemas, allOf/oneOf/anyOf compositions, and even circular references are all resolved automatically. You never have to think about schema complexity — FlashMCP handles it.

Try it now

Copy and paste this configuration into your MCP client to connect to the Swagger Petstore demo API. It's a free, public API — no authentication required.

Ready to go! Paste this config, restart your MCP client, and ask your LLM to "list all pets" or "add a new pet named Buddy."

claude_desktop_config.json
{
  "mcpServers": {
    "petstore": {
      "url": "https://flashmcp.dev/petstore3.swagger.io"
    }
  }
}

Once connected, your LLM will have access to every Petstore endpoint as a tool — including listPets, getPetById, addPet, updatePet, deletePet, and more. No server running on your machine, no configuration files to maintain, no updates to install.

Next up: learn how to customize your setup with configuration options, or see how to pass API keys with authentication.