Skip to content

Docs · MCP

Connect an agent

Raisebook runs an MCP server, so Claude Code, Codex, Cursor or any MCP client can work your pipeline: log calls, move stages, set follow-ups, import a list. The agent uses a key from your workspace, and every write lands on the timeline under its name.

Server details
SettingValue
Endpointhttps://api.raisebook.org/mcp
TransportStreamable HTTP (stateless, JSON responses)
AuthAuthorization: Bearer rb_live_… or X-API-Key: rb_live_…
Tools17 tools, no deletes

01Create a key

In Raisebook, open Settings → API keys and choose “Create key”. Only a workspace owner can create keys, and only from the web app, so an agent can never mint or widen its own access.

Scopes
ScopeLets the agent
raisebook:readRead rounds, investors, timelines, summaries and follow-ups, and export. Always included.
raisebook:writeAdd and update investors, move stages, log activity, set follow-ups, record commitments, import. Every MCP write tool.
raisebook:adminChange workspace settings and delete rounds over REST. Requires write. MCP does not need it.

Give the key an agent name, such as claude-code, so its actions are easy to tell apart on the timeline. The secret (rb_live_ + 32 characters) is shown once. Store it in your agent's config or a password manager. Sample workspaces use rb_test_ keys, which work only there.

02Add it to your agent

claude mcp add --transport http \  raisebook https://api.raisebook.org/mcp \  --header \  "Authorization: Bearer rb_live_XXXX" \  --header "X-Agent-Name: claude-code"

Run in a terminal. Keep the default (local) scope or use --scope user; never --scope project with a literal key, since that writes it to a shared .mcp.json. For a shared .mcp.json, write "Authorization": "Bearer ${RAISEBOOK_API_KEY}" and Claude Code expands it from your environment.

Replace rb_live_XXXX with your key, or set RAISEBOOK_API_KEY where the snippet reads it from the environment. Syntax checked against each client's own documentation on 2026-10-10. Clients change; if a command is rejected, check the client's MCP docs for the current form.

Headers#

Request headers
HeaderRequiredWhat it does
AuthorizationyesBearer rb_live_… (or send the key as X-API-Key).
X-Agent-NamenoName shown on the timeline, e.g. claude-code. Letters, digits, space, dot, dash, underscore, up to 60. Default: the key's agent name, then the key name.
X-Agent-ModelnoModel shown next to the name, e.g. claude-opus-4-5. Up to 80 characters.

03Try it

Ask in plain words. The agent calls get_workspace first to learn your rounds and stage keys.

Prompts to start with
What follow-ups are due this week in Seed?Import investors.csv into Seed as Researching, dry run first.Met Dana from Harbor Light today. Log it, move her to Diligence and remind me Friday.Write me a status update for Seed: committed vs target, who is in diligence, who went quiet.Add everyone tagged robotics who isn't in Seed yet, in New, fit 3.

What an agent can and cannot do#

  • It can read everything in the workspace the key belongs to, and nothing outside it.
  • With write scope it can add and update investors, add them to rounds, move stages, log activity, set follow-ups, record commitments and import CSV.
  • It cannot delete anything over MCP, create or revoke keys, invite or remove members, or change the workspace.
  • Adding an investor twice returns the existing contact. Moving to the current stage, or setting the same follow-up again, changes nothing and logs nothing.
  • CSV imports default to a dry run, so the agent shows you the counts before anything is written.

Troubleshooting#

Common errors
ErrorWhat to do
invalid_api_keyThe key is wrong, revoked or expired. Create a new one and update the client config.
insufficient_scopeThe key lacks raisebook:write. Create a key with write scope.
round_requiredThe workspace has several open rounds. Name the round in the prompt ("in Seed").
ambiguous_referenceMore than one investor matches. Use the email, LinkedIn URL or "Name @ Firm".
not_in_roundAdd the investor to the round first (add_to_round).
rate_limitedWait for Retry-After seconds. Limits: 600 reads and 120 writes per minute per key.