Prospektor is a remote MCP server. Add it to your own Claude, Claude Code or Cursor and your assistant does the work in this workspace: reads a company, writes the pitch, preps the call, maps who you know, records what happened.
The short version
- Workspace settings → API → New token. Label it "Claude", tick what it may do, press Mint.
- Press Copy setup for your agent.
- Paste it into Claude Code, Cursor or Claude. It asks which tool you use and wires it up.
That is the whole setup. The paste carries the server address, your token and the config for each client, so the agent does the rest.
What it can do
| Tool | What it does | Costs |
|---|---|---|
scan_company | Reads a company from its website. | A scan from the token's daily budget. |
build_pitch | Researches a company and writes the pitch in your voice, deliverables included. Several minutes. | A run. |
prep_for_call | A one-page sheet for a call at a named stage. About a minute. | A run. |
find_warm_paths | Who in your imported network could open the door on a finished pitch. | A run. |
get_pitch | One saved pitch, by id or by company. | Nothing. |
list_library | The index of what is saved: company, score, verdict. Never the pitch itself. | Nothing. |
job_status | Where a running job has got to. Done means the whole result, sources included. | Nothing. |
record_outcome | What happened with a company. Every outcome sharpens the next pitch. | Nothing, ever. |
whoami | What the token holds and how much day is left. | Nothing, ever. |
Long jobs answer with a job id. Your assistant polls job_status until the status is done. A pitch takes several minutes, so it will wait between polls.
Every answer carries its sources. A pitch says which pages it read, who it decided the company is, and what compliance found. Nothing is held back that the studio itself would show you.
Which scopes to tick
The paste works with whatever the token holds. For the whole set:
| Tick | To get |
|---|---|
scan:run | scan_company |
work:run | build_pitch, prep_for_call, find_warm_paths, job_status |
library:read | get_pitch, list_library |
context:write | record_outcome |
A token for a colleague's Claude that should read but never spend gets library:read alone.
Wiring it by hand
The server is https://studio.prospektor.ai/api/mcp, streamable HTTP. Send the token as a bearer header.
Claude Code:
`` claude mcp add --transport http prospektor https://studio.prospektor.ai/api/mcp \ --header "Authorization: Bearer psk_…" ``
Cursor, in ~/.cursor/mcp.json:
`` {"mcpServers":{"prospektor":{"url":"https://studio.prospektor.ai/api/mcp","headers":{"Authorization":"Bearer psk_…"}}}} ``
A client that cannot send a header, Claude Desktop among them, goes through mcp-remote:
`` {"mcpServers":{"prospektor":{"command":"npx","args":["-y","mcp-remote","https://studio.prospektor.ai/api/mcp","--header","Authorization: Bearer psk_…"]}}} ``
From claude.ai or ChatGPT
Their connector screens have no box for a token. Add https://studio.prospektor.ai/api/mcp as a remote MCP server and press connect. Prospektor opens, signed in as you, and asks one thing: what the app may do. Tick, press Connect, done.
Only the workspace's owner can connect an app. The connection is a token row under Workspace settings → API, labelled with the app's name; revoke it there and the app stops at once. It renews itself every thirty days for as long as it is used.
The same verbs over plain HTTP
Every tool is also a route on /api/v1, for a script or a CRM:
| Route | Tool |
|---|---|
POST /api/v1/pitch · GET /api/v1/pitch?id=… | build_pitch · job_status |
POST /api/v1/prep · GET /api/v1/prep?id=… | prep_for_call · job_status |
POST /api/v1/paths | find_warm_paths |
GET /api/v1/library?id=… or ?company=… | get_pitch |
GET /api/v1/library[?q=…] | list_library |
Scans, outcomes, whoami and exports are on the same surface. See API tokens under the workspace help for the day cap and how to revoke.
What it costs
A run from your Claude is a run. A free workspace has its one full pitch, and your assistant meets the same wall you would. Runs past that need a subscription. The token's day cap is 1,000 calls; whoami and record_outcome never count.
When something goes wrong
- "This token does not hold work:run" — mint one that does. Tokens never gain a scope after minting.
- "Free workspaces run one full pitch, and this one has run it" — the free run is spent. Subscribe to run the rest.
- "Nothing to map yet" — import who you know first, under Your network.
- Still queued after ten minutes — a run hit its limit. Start it again.
- 401 with a date — the token expired. Mint another.
Revoke a token from Workspace settings → API → Revoke. Everything holding it stops at once.