Basis · Developers
Run your fund from Claude
Basis exposes its operating spine as an MCP server and a REST API. Connect Claude in under two minutes: live fund data with citations to the register, and drafts that land in Basis as proposals for a named human to approve. The connection token can read and propose — an approve scope does not exist, in the token or anywhere in the API.
Connect
The setup snippets go into your client's configuration, never into a Claude chat. The connector runs locally via npm (Node.js 18+).
- In Basis: Settings → Connect Claude → Create connection token (shown once; revocable any time). The snippets there come pre-filled with your token.
- Claude Desktop — Settings → Developer → Edit Config, add this to
claude_desktop_config.json, save, then fully quit and reopen Claude:{ "mcpServers": { "basis": { "command": "npx", "args": [ "-y", "@basisnetwork/mcp", "--token", "bsk_YOUR_TOKEN", "--url", "https://app.basisnetwork.io" ] } } } - Claude Code — paste into a terminal (not a chat):
claude mcp add basis -- npx -y @basisnetwork/mcp --token bsk_YOUR_TOKEN --url https://app.basisnetwork.io
- Or plain REST from anything:
POST https://app.basisnetwork.io/api/headless/rpc Authorization: Bearer bsk_YOUR_TOKEN {"tool": "get_fund_overview", "arguments": {}}
Read tools
get_fund_overviewraise progress, holders, pending actionsget_capital_call_statuscalls + per-investor funding linesget_investor_pipelineonboarding/compliance gates + flagsget_unfunded_commitmentscallable capital per investorget_distribution_historypayout history with snapshot idsget_engagement_signalscoming with the CRM moduleget_reconciliation_statusregister vs on-chain: GREEN or incidentssearch_investorsfind investors by nameget_investor_fileone investor's gates + positions (no PII dossier)Every read returns citations (register row / snapshot ids) and human deep links — answers with receipts.
Propose tools
propose_capital_calldrafts a call with the exact pro-rata splitpropose_distributiondrafts a distribution; allocation binds at the record-date snapshotpropose_investor_emailone-to-one email; the exact text awaits approvalpropose_transfer_reviewfiles into the standard transfer queuepropose_report_draftcoming with the Reporting moduleEach returns {proposal_id, summary, approval_url}. Nothing executes until a signed-in human approves at the approval_url — every decision is audit-logged with the reviewer's identity.
Webhooks
Subscribe HTTPS endpoints to proposal.created / approved / rejected and reconciliation.incident. Deliveries are HMAC-signed (X-Basis-Signature over timestamp.body) and retried.