Quickstart

Connect Claude Code to your fund data in under 5 minutes.

Step 1 — Register your MCP server

1

Add FundOS to Claude Code (SSE transport)

Run this once from any terminal. Claude Code persists the server for future sessions.

claude mcp add --transport sse fundos https://www.kela.com/mcp/sse

For other SSE clients (OpenAI Agents SDK, LangChain, custom agents):

# SSE endpoint
https://www.kela.com/mcp/sse

# Bearer token auth
Authorization: Bearer vdr_<your-api-key>

OpenAI Codex CLI

C

Step 1 — Add FundOS to Codex CLI

codex mcp add fundos --url https://www.kela.com/mcp \
  --bearer-token-env-var FUNDOS_API_KEY

Step 2 — Get your API key

Create a key at kela.com/admin/api-keys, then export it:

export FUNDOS_API_KEY=your_key_here

Add this to ~/.zshenv (not ~/.zshrc) so it is available in non-interactive shells:

echo 'export FUNDOS_API_KEY=your_key_here' >> ~/.zshenv

Step 3 — Run

codex exec --skip-git-repo-check \
  --sandbox danger-full-access \
  "Use the fundos MCP server to check my deals"

The --sandbox danger-full-access flag is required. Without it, Codex runs in workspace-write mode which blocks MCP tools/call requests in non-interactive sessions (they silently show "user cancelled").

To set it as the default, add to ~/.codex/config.toml:

sandbox = "danger-full-access"

[mcp_servers.fundos]
url = "https://www.kela.com/mcp"
bearer_token_env_var = "FUNDOS_API_KEY"
Note: The sandbox key in config.toml is not yet read by all Codex versions — pass --sandbox danger-full-access on the CLI until it is. Codex uses Streamable HTTP (POST /mcp) — no SSE stream needed.

Step 2 — Authenticate

2

OAuth PKCE (Claude Code — recommended)

When you first use a FundOS tool, Claude Code opens a browser window to kela.com/oauth/authorize. Sign in with your FundOS account and grant access. The OAuth flow handles token storage automatically — you never touch credentials.

API key (headless / server agents)

Create a key at kela.com/admin/api-keys. Pass it as:

curl https://kela.com/api/v1/usage \
  -H "Authorization: Bearer vdr_YOUR_KEY"

Step 3 — Call your first tool

3

Get a context briefing

Open a Claude Code session in any directory and type:

Call fundos_get_agent_context and summarise what needs my attention today.

FundOS returns a structured briefing: pending approval actions, active deals, LP changes, open risk alerts, and upcoming capital calls. Cost: 2 credits.

Step 4 — Read live fund data

4

Try a few read tools

# List your deal pipeline
Call fundos_list_deals.

# List all monitored covenants
Call fundos_list_covenants and show any with status != ok.

# Search documents in a data room
Call search_documents with query="change of control" and room_id=1.

Step 5 — Propose a write action

5

Write tools require human approval

Write tools create a proposed action that appears in your FundOS dashboard at /fundos/agent/runs/<id>. The agent cannot execute the write until you click Approve.

# This proposes a new deal — does NOT create it yet
Call fundos_create_deal with name="Acme Series B" and ephemeral=true to validate first,
then ask me to confirm before persisting.
Tip: Use ephemeral=true on any write tool to validate the payload without writing to the database. The tool returns the shape of what would be created so you can review it first.

Stateless Document API — no account required

D

Generate fund documents without a FundOS account

Law firms, fund admins, LPs, and placement agents can call /api/v1/documents/* with a doc_ key — no FundOS fund data to set up. Send everything inline, get back a completed document in one call.

Get a doc_ API key → (email + password, no card, first 30 days free)

Five endpoints

POST /api/v1/documents/k1        # Schedule K-1 (Form 1065) — $5/call
POST /api/v1/documents/odd       # ODD/DDQ completion        — $25/call
POST /api/v1/documents/analyze   # Document red-flag analysis — $3/call
POST /api/v1/documents/waterfall # European waterfall        — free
POST /api/v1/documents/pricer    # IRR/MOIC/WAL pricer       — free

K-1 example

curl -X POST https://kela.com/api/v1/documents/k1 \
  -H "Authorization: Bearer doc_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "fund_name": "Eight Capital Fund II",
    "tax_year": 2025,
    "partner_name": "Aksia LP",
    "lp_share_pct": 0.15,
    "box_1_ordinary_income": 45000,
    "box_9a_lt_gain": 105000
  }'

# → { "html": "...", "filename": "k1_2025_aksia_lp.html",
#     "charged_usd": 5.00 }

Waterfall example (free)

curl -X POST https://kela.com/api/v1/documents/waterfall \
  -H "Authorization: Bearer doc_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"distributable": 1000000, "committed": 1000000,
       "hurdle_pct": 8, "carry_pct": 20}'

# → { "lp_total": 916000, "gp_total": 84000, "tiers": [...] }
Developer dashboard: Visit /developers/dashboard to manage keys, see per-type usage counts, and review monthly charges.

Next steps

  • Authentication — OAuth scopes, API key rotation, token lifetimes
  • Tool reference — all 47 tools with parameters and cost
  • Webhooks — get push notifications when actions are approved
  • Examples — working Python and Claude Code session prompts
  • Stateless API — generate K-1s, ODD/DDQs, and analysis with just a doc_ key