# Kela FundOS — AI Agent Integration Guide > This is the public guide for AI agents (Claude, ChatGPT, Cursor, custom > MCP clients) integrating with Kela FundOS. For the public marketing site, > see https://kela.com/. For technical info on the MCP server, > see https://kela.com/mcp/info. ## What FundOS is FundOS is an AI-native operating system for fund managers — hedge funds, private equity, private credit, venture capital, and mutual fund managers. It exposes deals, LP investors, capital calls, reconciliation, risk, documents, and CFO functions to AI agents through a unified MCP server so agents can read fund state and propose actions for human approval. ## Connect ```bash claude mcp add kela https://kela.com/mcp ``` For SSE-only clients: `https://kela.com/mcp/sse`. For Bearer-token API access: `Authorization: Bearer vdr_` against `https://kela.com/api/v1/*`. Key discovery files (linked from this document): - `https://kela.com/llms.txt` — short overview for LLMs - `https://kela.com/llms-full.txt` — full developer + integration reference - `https://kela.com/.well-known/mcp.json` — MCP server manifest - `https://kela.com/.well-known/agents.json` — pre-built AI agent catalogue - `https://kela.com/.well-known/oauth-protected-resource` — OAuth resource - `https://kela.com/.well-known/oauth-authorization-server` — OAuth metadata ## Available MCP tool categories Every tool follows the contract: agents can call freely for **reads**; **writes** require human approval (see "Approval-gated actions" below). - **Deal Rooms (VDR)** — list, search, and read documents in deal rooms; list members; check signature status. - **Deal CRM** — list and create deals; advance through pipeline stages; manage contacts and activities. - **Transactions** — draft term sheets; manage closing task packs. - **Pricer** — IRR / MOIC / WAL on uploaded loan tapes; waterfall simulation. - **Risk** — list covenants; check covenant compliance against fresh financials. - **Compliance OS** — list KYC records, regulatory filings, restricted securities, obligations. - **ODD / Diligence** — generate operational due diligence over a document bundle (BYOD-capable via MCP source). - **CIM Builder** — draft Confidential Information Memoranda from source documents. - **Investor Portal** — list LPs, register new LPs, issue capital calls. - **CFO Center** — list fund accounts, compute P&L over a date range, compute European waterfall splits. - **Syndication** — manage allocation matrix, KYC, funds-flow status. - **HF Ops (DTCC ITP)** — trade status lookup, unaffirmed list, SSI lookup, affirmation scorecard. - **OMS** — submit equity orders, check pre-trade compliance, list positions, FIX session status. ## Approval-gated actions (require explicit human OK) The MCP server exposes some tools that mutate state. Never call these without an explicit human approval in the calling chat / agent UI: 1. **Posting journal entries** to the GL. 2. **Sending LP notices** (capital-call notices, distribution notices, ILPA PDFs/XLSXs that go to LP inboxes). 3. **Creating capital calls** — affects LP cash. 4. **Deleting rooms, documents, or LP records** — irreversible. 5. **Executing trades** — Kela exposes pre-trade compliance and order draft tools; live execution requires human confirmation. 6. **Granting access** — adding room members, creating invite links. 7. **OAuth scope escalation** — never request `admin` scope for read tasks. Default to `read`; use `write` only when explicitly needed. When in doubt: **read first, propose second, never persist without a human confirm in the calling chat.** ## Common agent workflows ### 1. LP fundraising follow-up 1. `fundos_list_lps` → find target LP by name. 2. `fundos_get_lp` → load commitment + recent capital-call ledger. 3. `search_documents` (room_id from `lp_room_id`) → pull last meeting notes. 4. Draft a follow-up email referencing what was discussed last time. 5. **Stop. Ask the human to send.** ### 2. Diligence on an inbound deck 1. `fundos_create_deal` (with `ephemeral=true`) → validate a draft Deal. 2. **Ask the human to confirm name + counterparty + target_size.** 3. `fundos_create_deal` (`ephemeral=false`) → persist on approval. 4. `create_deal_room` (after human approves) → spin up a diligence room. 5. `add_room_member` → onboard the deal team. 6. `fundos_vdr_analyze` once the deck is uploaded → summarise red flags. ### 3. Risk dashboard refresh 1. `fundos_list_covenants` → enumerate everything monitored. 2. For each covenant where new financials are available: `fundos_check_covenant` (with `covenant_id`) → update + alert if breach. 3. `fundos_list_risk_alerts` (`open=true`) → return the unresolved alerts. 4. Render a short summary: "3 breaches, 2 alerts, 12 ok." ### 4. Capital-call ILPA notice 1. `fundos_get_lp` → confirm the LP and pull `lp_room_id`. 2. **Ask the human to draft the CapitalCall row.** 3. Once the GP marks `ilpa_call_type`, the GP UI's ILPA button generates the 2025 ILPA Excel notice into the LP's `lp_room_id` → `ILPA Notices/`. 4. **Notify the LP only after the human clicks Issue. Do not auto-send.** ### 5. T+0 affirmation chase (HF Ops) 1. `hf_ops_dtcc_list_unaffirmed` → list confirms still pending. 2. For each: `hf_ops_dtcc_get_trade_status` → fetch live state. 3. If SSI mismatch suspected: `hf_ops_dtcc_lookup_ssi` → confirm. 4. `hf_ops_dtcc_get_affirmation_scorecard` → roll up to a COO summary. 5. **Stop. Send the digest only after a human has reviewed it.** ## Webhooks FundOS can push events to your agent's HTTPS endpoint in real time. Webhooks are registered per OAuth client and signed with HMAC-SHA256. Register an endpoint: ```bash curl -X POST https://kela.com/api/v1/webhooks/ \ -H "Authorization: Bearer vdr_" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-server.example.com/hooks/fundos", "name": "My agent webhook", "event_types": ["credit.low", "action.approval_required", "action.approved"] }' ``` Verify the HMAC-SHA256 signature on receive: ```python import hmac, hashlib def verify_fundos_signature(raw_body: bytes, header: str, secret: str) -> bool: expected = "sha256=" + hmac.new( secret.encode(), raw_body, hashlib.sha256 ).hexdigest() return hmac.compare_digest(expected.encode(), header.encode()) ``` Event types: | Event | When | |---|---| | `credit.low` | Balance ≤ 100 credits after a tool call | | `credit.exhausted` | Balance reaches 0 | | `action.approval_required` | Agent proposes a side-effect | | `action.approved` / `action.rejected` / `action.expired` | GP decision | | `job.completed` / `job.failed` | AI-heavy tool finishes | | `module.enabled` / `module.disabled` | Org admin toggles a module | Delivery uses exponential backoff: immediate → 1 min → 5 min → 30 min → 2 hr → 8 hr (6 retries). The `delivery_id` is stable across retries — use it to deduplicate. ## Sales / commercial For enterprise enquiries, see https://kela.com/ — primary CTA is "Talk to us" / book a walkthrough. Free workspace for individual analysts available at https://kela.com/signup.