> For the complete documentation index, see [llms.txt](https://docs.flowcp.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowcp.ai/guides/connect-to-flowcp-mcp.md).

# Connect to the FlowCP MCP server

FlowCP runs its own hosted MCP server so you can drive the whole platform from an AI client — connect an app, import its API, enable tools, configure OAuth, publish a server, and read back the final config — without clicking through the dashboard. This is the hosted counterpart to [Agent-driven onboarding](/guides/agent-driven-onboarding.md): instead of running the bootstrap script yourself, you point your AI client at the URL below.

**MCP server URL:**

```
https://mcp.flowcp.ai/mcp/cmq3c1f9100000ln8lg3jhqf4
```

The server uses the standard MCP OAuth 2.1 flow (authorization code + PKCE with dynamic client registration), so there is no API key to paste. On first use your client opens a browser, you log in to FlowCP and approve, and the client receives a workspace-scoped token it presents on every call. Every tool acts **only** within the workspace bound to that token.

***

## Add it to your AI client

The exact UI varies by client, but the config is the same — use the URL above with an HTTP transport.

### Claude Desktop

Edit `claude_desktop_config.json`:

| OS      | Path                                                              |
| ------- | ----------------------------------------------------------------- |
| macOS   | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| Windows | `%APPDATA%\Claude\claude_desktop_config.json`                     |

```json
{
  "mcpServers": {
    "flowcp": {
      "url": "https://mcp.flowcp.ai/mcp/cmq3c1f9100000ln8lg3jhqf4",
      "type": "http"
    }
  }
}
```

Quit and relaunch Claude Desktop. On the first tool call you'll be prompted to authorize.

### Cursor

Create or edit `.cursor/mcp.json` (project-level) or the global `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "flowcp": {
      "url": "https://mcp.flowcp.ai/mcp/cmq3c1f9100000ln8lg3jhqf4",
      "transport": "http"
    }
  }
}
```

Restart Cursor after saving.

### Claude Code

```bash
claude mcp add --transport http flowcp https://mcp.flowcp.ai/mcp/cmq3c1f9100000ln8lg3jhqf4
```

### ChatGPT

In the ChatGPT desktop app: **Settings → Tools & integrations → Add MCP server**, then enter the URL above with the **Streamable HTTP** transport.

***

## Using it

Once connected, ask your agent to build an MCP server in plain language — for example:

> Connect my OpenAPI app at `https://my.api/openapi.json`, enable the read-only tools, and publish it.

The agent calls the FlowCP tools to carry that out. The available tools mirror FlowCP's control-plane operations:

| Tool                                   | What it does                                                           |
| -------------------------------------- | ---------------------------------------------------------------------- |
| `get_context`                          | Show the user and workspace the token is bound to.                     |
| `connect_app`                          | Connect a new app (Bubble or generic OpenAPI).                         |
| `initiate_verification` / `verify_app` | Bubble ownership verification.                                         |
| `import_api`                           | Provision server branches and import the Swagger document.             |
| `get_import_status`                    | Poll an import until it is `valid`.                                    |
| `list_tools`                           | List the tools generated from the import.                              |
| `enable_tool`                          | Enable/disable or rename a generated tool.                             |
| `configure_oauth`                      | Set the OAuth provider config for the app.                             |
| `publish_server`                       | Publish the server (runs safety checks).                               |
| `get_mcp_config`                       | Return the hosted MCP server URL and a ready-to-paste client config.   |
| `get_app_stats`                        | Read usage stats for an app (invocations, users, success/error rates). |
| `list_app_logs`                        | List an app's execution logs, newest first, with optional filters.     |

A typical run:

```
get_context
→ connect_app  (provider: "openapi", swaggerUrl: "https://my.api/openapi.json")
→ import_api   (then get_import_status until valid)
→ list_tools
→ enable_tool  (for each tool you want exposed)
→ configure_oauth
→ publish_server
→ get_mcp_config
```

**Default-deny still applies:** imported tools always start disabled, so the agent must `enable_tool` each one explicitly. For Bubble apps there is one human-in-the-loop step — ownership verification — described in [Agent-driven onboarding](/guides/agent-driven-onboarding.md).

***

## Verifying the connection

Look for the FlowCP tools in your client's tools list (e.g. the wrench icon in Claude Desktop). If the server doesn't appear:

1. Confirm the URL exactly matches the one above.
2. Complete the OAuth prompt — tools stay hidden until the client holds a token.
3. Restart the AI client; most clients only reload MCP config on startup.

See [Troubleshooting](/support/troubleshooting.md) for more.
