Connect the managed MCP
The endpoint speaks Streamable HTTP. Clients that only start local servers use the relay package instead.
Endpoint
https://pilotfish-be.gai.ventures/mcpYour client
claude mcp add --transport http pilotfish https://pilotfish-be.gai.ventures/mcp \
--header "Authorization: Bearer pf_YOUR_KEY"Or leave out --header, then run /mcp in Claude Code and sign in with your pilotfish account.
- Settings, then Connectors, then Add custom connector.
- Paste the endpoint:
https://pilotfish-be.gai.ventures/mcp - Connect, and sign in to pilotfish. No key is needed.
Works the same in Claude on the web and Claude Desktop.
{
"mcpServers": {
"pilotfish": {
"url": "https://pilotfish-be.gai.ventures/mcp",
"headers": {
"Authorization": "Bearer pf_YOUR_KEY"
}
}
}
}{
"servers": {
"pilotfish": {
"type": "http",
"url": "https://pilotfish-be.gai.ventures/mcp",
"headers": {
"Authorization": "Bearer pf_YOUR_KEY"
}
}
}
}npx -y @gaiventures/pilotfish-mcp-managed loginIt shows a link and a code. Open the link on any device, check the code, sign in and choose Allow. Then:
[mcp_servers.pilotfish]
command = "npx"
args = ["-y", "@gaiventures/pilotfish-mcp-managed"]
# A call returns within 120 s (the task carries on); Codex stops a call after 60 s by default.
tool_timeout_sec = 180With an API key instead, add env = { PILOTFISH_KEY = "pf_YOUR_KEY" }.
npx -y @gaiventures/pilotfish-mcp-managed login{
"mcpServers": {
"pilotfish": {
"command": "npx",
"args": [
"-y",
"@gaiventures/pilotfish-mcp-managed"
]
}
}
}For clients that only start local servers. login signs this computer in as you, once (the relay keeps the sign-in and renews it); or set "env": { "PILOTFISH_KEY": "pf_YOUR_KEY" } to use an API key. The relay needs Node.js 22 or newer; it only forwards messages to the endpoint, and the browser runs in pilotfish's cloud. On Windows, if the client can't start npx, use "command": "cmd" with "args": ["/c", "npx", "-y", "@gaiventures/pilotfish-mcp-managed"].