> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowra.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Use MCP in Cursor

> Connect Cursor to Flowra MCP with OAuth (URL only) or a project API key.

**Goal:** Call Flowra project tools from Cursor via MCP.

The shortest path is the hosted URL. Add this to `.cursor/mcp.json` (no API key):

```json theme={null}
{
  "mcpServers": {
    "flowra": {
      "url": "https://mcp.flowra.dev/mcp",
      "transport": "http"
    }
  }
}
```

Cursor opens Flowra sign-in (Google, GitHub, or email). Pick a project. The client keeps a Bearer token after that.

In the dashboard, **MCP → Connect agent → Cursor → Add to Cursor** writes the same entry for you.

Then install the agent skill so Cursor knows the discover, connect, and run order:

```bash theme={null}
npx skills add flowradev/skills --skill flowra
```

[![skills.sh](https://skills.sh/b/flowradev/skills)](https://skills.sh/flowradev/skills)

Setup page: [flowra.dev/cursor](https://flowra.dev/cursor). First request creates a default META server. Then call `FLOWRA_DISCOVER_TOOLS`.

Per-server URLs from **Install & Config** still work if you want a pinned NORMAL tool set. Connecting Gmail or Slack is a separate toolkit OAuth step after MCP is connected.

## API key instead of OAuth

Use this for CI or a client that cannot run the sign-in flow:

```json theme={null}
{
  "mcpServers": {
    "flowra": {
      "url": "https://mcp.flowra.dev/mcp",
      "transport": "http",
      "headers": {
        "x-api-key": "<your-project-api-key>",
        "x-username": "project_default_user"
      }
    }
  }
}
```

## Prerequisites

* A Flowra account and at least one project
* Cursor installed

## Steps

<Steps>
  <Step title="Add the hosted URL in Cursor">
    Paste the OAuth config above into Cursor’s MCP settings (`.cursor/mcp.json` or the MCP panel). Restart or reload MCP if Cursor requires it.
  </Step>

  <Step title="Sign in and pick a project">
    Approve the Flowra consent page. Choose the project whose tools you want. Details: [MCP in the dashboard](/product/mcp-in-dashboard).
  </Step>

  <Step title="Optional: pin tools in the dashboard">
    Open [MCP Servers](https://flowra.dev/dashboard/mcp) if you need a named NORMAL server. Use **Install & Config** and keep **Sign in (OAuth)** selected.
  </Step>

  <Step title="Smoke-test a tool">
    In Cursor Agent chat, ask it to list or call one of your Flowra tools (`FLOWRA_DISCOVER_TOOLS`). Confirm the call succeeds.
  </Step>
</Steps>

## Verify

* Cursor shows the MCP server as connected
* A tool from your project appears and returns a successful result

## Developers deep dive

* [MCP](/guides/mcp) — OAuth vs API key, Smart vs Normal, API registration
* [Native tools: Meta](/guides/native-tools/meta) — discovery tools used in Smart mode

To register a server from your backend instead of the UI:

```ts theme={null}
await flowra.mcp.create({ /* CreateMcpServerDto */ });
const config = await flowra.mcp.config(serverId);
```

```python theme={null}
flowra.mcp.create({...})
config = flowra.mcp.config(server_id)
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.