MCP · Editor

Connect FishOut to Cursor (MCP setup)

Cursor reads MCP servers from a JSON file — one in your home directory for every project, one in the repository for a single project. A remote server is just its URL; Cursor handles the OAuth sign-in, so the file holds no secret.

Setup steps checked against Cursor's own documentation on 20 October 2026.

[01] CONNECT IT/ SETUP

Add FishOut to Cursor

https://mcp.fishout.ai/mcp, on every plan.
1

Create the config file

Put it at ~/.cursor/mcp.json to make FishOut available in every project, or at .cursor/mcp.json in a repository to scope it to that one. The top-level key is mcpServers. A remote server is a url — do not add a type field, which Cursor does not expect for remote entries.

.cursor/mcp.json

{
  "mcpServers": {
    "fishout": {
      "url": "https://mcp.fishout.ai/mcp"
    }
  }
}
2

Sign in

Open Cursor Settings → MCP. FishOut shows as needing login; choose it and your browser opens on FishOut. Sign in, pick the organization and projects, and approve. Cursor then lists the tools the server advertises, and you can switch individual ones off from the same screen.

3

Or use an API key

For a machine where nobody can complete a browser sign-in, create a key under Settings → API & MCP and send it as a header. Cursor interpolates ${env:NAME}, which keeps the key out of a file you might commit; restart Cursor after setting it.

.cursor/mcp.json

{
  "mcpServers": {
    "fishout": {
      "url": "https://mcp.fishout.ai/mcp",
      "headers": {
        "Authorization": "Bearer ${env:FISHOUT_API_KEY}"
      }
    }
  }
}

Check it worked. Ask Cursor "list the FishOut tools you can use". If nothing appears, open the Output panel and choose MCP Logs from the dropdown — a bad header or a malformed file shows up there rather than in the chat.

[02] WORTH KNOWING FIRST/ LIMITS

Before it bites

Stated before you hit them.

A .cursor/mcp.json committed to a repository is shared with everyone who clones it. The OAuth version holds no secret; if you use a key, reference ${env:FISHOUT_API_KEY} rather than pasting it.

Adding a "type" field to a remote entry is the most common mistake in Cursor MCP configs. A url is the whole shape.

Environment variables are read when Cursor starts. If you use a key, setting it in a terminal that Cursor did not spawn will not reach it — restart the editor.

FishOut exposes 115 tools. Switch off the billing and agency ones in Settings → MCP if Cursor’s agent is slow to pick the right tool.

[03] WHAT IT LOOKS LIKE/ CURSOR

A question in Cursor

Invented brands; a real call.
Cursor · agentfishout · mcp
Is anyone complaining about the new export dialog? I am about to change it.
list_mentionsread-only
{
  "filter": {
    "query": "export",
    "labels": [
      "complaint",
      "has-a-problem"
    ],
    "sort": "newest"
  },
  "limit": 10
}
84
r/productivityinkwell_and_co2d

The export dialog now defaults to PDF and I cannot change it

Reply nowComplaint
66
Blueskyplaintext.bsky.social4d

Exports lost my heading levels again

WatchHas a problem

Two complaints, both about defaults: the format resets to PDF, and heading levels are flattened on export. ExportDialog.tsx hard-codes format = "pdf" on line 42 — want me to persist the last choice instead?

[04] WATCH ANY PLATFORM/ SAME SERVER
[05] WHERE YOU APPROVE IT/ SETTINGS

Connections live in FishOut

Revoke Cursor under Settings → API & MCP; it stops at the next call.
API & MCP · connected clients2 connected

You — Cursor

readseen just now

24

calls / 7d

Devon — VS Code

read · writeseen 15h ago

46

calls / 7d

Questions

Sources