{"@context":"https://fundos.vantedgeai.com/.well-known/agents.json","agents":[{"id":"lp_fundraising_autopilot","produces":["draft emails","to-do items"],"scope":"lp_crm","summary":"Scans every LP for stale follow-ups and post-meeting drafts; proposes outreach drafts grounded in the fund's ODD answer bank.","trigger":"Manual button on LP CRM, scheduled cron, or MCP call to fundos_run_agent('lp_fundraising_autopilot')."},{"id":"deal_screener","produces":["screening memo (md)","thesis-fit score (0-100)","recommendation (pass|proceed|strong_proceed)","proposed Deal row"],"scope":"crm","summary":"Reads a pitch deck (PDF/PPTX/DOCX text layer, with a vision fallback for scanned decks) or pasted pitch text, screens it criterion-by-criterion against the workspace's investment thesis, and produces a memo with a 0-100 thesis-fit score, a fit table, traction, red flags and diligence questions, plus a proposed Deal row at the stage the verdict implies (strong_proceed -> diligence, proceed -> screening). With no thesis configured the screen still runs and is reported as unscored rather than scored against nothing. Nothing is written until a human approves the proposal.","trigger":"POST /fundos/crm/screen with pitch_text or a deck_file upload; or email a deck to the workspace pitch address (POST /webhooks/inbound-email)."},{"id":"deal_interest_bundle","produces":["founder outreach draft (unsent)","proposed calendar hold","pre-call brief (md)","activity-timeline entries on approval"],"scope":"crm","summary":"One click of interest on a screened deal proposes the three follow-ups that otherwise get done by hand and therefore late: a founder outreach email DRAFT (nothing is sent \u2014 it is filed on the deal card explicitly marked not sent, and the GP sends it themselves), a 30-minute intro-call hold on the user's write-capable connected calendars, and a pre-call brief built from the screening memo plus confirmed entity-memory facts. All three land on the deal's activity timeline. Nothing executes until a human approves each proposal; the calendar hold is on the human-approval surface because creating the event can mail an invite to a founder. A refused AI call produces no draft and names the reason rather than inventing one.","trigger":"POST /fundos/crm/<deal_id>/interest (deal detail -> I'm interested)."},{"id":"diligence_agent","produces":["red_flag list","completeness checklist"],"scope":"vdr","summary":"RAG over a data room. Surfaces red flags + completeness gaps with cited document IDs.","trigger":"Run Diligence Agent button on a deal room."},{"id":"closing_coordinator","produces":["TransactionTask proposals"],"scope":"transactions","summary":"Extracts every condition precedent (CP) from a pasted term sheet and proposes TransactionTasks ranked by due date.","trigger":"Extract CPs modal on a Transaction."},{"id":"cfo_capital_call_reminders","produces":["scheduled email reminders"],"scope":"investor_portal","summary":"Schedules a 5-step reminder ladder (T-14 / T-7 / T-3 / T-1 / overdue) for a single capital call.","trigger":"Stars icon on a capital-call row in Investor Portal."},{"id":"cfo_flux_commentary","produces":["flux table + driver commentary (read-only events)","board-ready Variance Pack (KPI tiles + gross-to-net bridge, footed in code) at /fundos/cfo/flux/pack/<run_id>"],"scope":"cfo","summary":"Computes a line-by-line P&L flux (actual vs prior period vs budget) for a fund + period and drafts a one-sentence driver (why each material line moved). Read-only \u2014 proposes no actions.","trigger":"Run CFO Flux agent on CFO Center \u2192 Flux / Variance."},{"id":"risk_covenant_watcher","produces":["RiskAlert rows","draft lender notices"],"scope":"risk","summary":"Scans every monitored covenant, classifies breach/watch/ok, drafts lender notices for breaches.","trigger":"Run Risk Agent button on Risk dashboard, or daily cron."},{"id":"deal_team_orchestrator","produces":["mixed AgentRun outputs from sub-agents"],"scope":"multi","summary":"Supervisor agent that decomposes a natural-language request into 1-3 sub-agent invocations (diligence / risk / qa_prep / screening / vi_intel).","trigger":"Natural-language query at /fundos/team."},{"id":"compliance_agent","produces":["RiskAlert rows","status updates on KYC/filing rows"],"scope":"compliance","summary":"Scans KYC expiry (60d window), high-risk LPs needing name screens (180d stale), filing overdue/upcoming (14d), and obligation overdue. Proposes risk alerts and status updates.","trigger":"Run Compliance Scan on Compliance OS dashboard."}],"common_properties":{"audit_logged":true,"human_approval_required":true,"mcp_endpoint":"https://stage.kela.com/mcp","transport":"MCP"},"external_access":{"auth":"Bearer API key (vdr_<key> from Settings \u2192 API Keys), or OAuth 2.0 Authorization Code + PKCE (RFC 7636). Agents self-register via Dynamic Client Registration (RFC 7591) at POST /oauth/register \u2014 no pre-configuration required.","claude_setup":"claude mcp add fundos https://fundos.vantedgeai.com/mcp","codex_setup":"codex mcp add fundos --url https://fundos.vantedgeai.com/mcp/sse","info":"https://stage.kela.com/mcp/info","oauth_discovery":"https://stage.kela.com/.well-known/oauth-authorization-server","registration_endpoint":"https://stage.kela.com/oauth/register","via_mcp":true},"product":{"name":"FundOS","url":"https://fundos.vantedgeai.com/","vendor":"VantedgeAI"},"version":"1.0"}
