Carta helps founders and finance teams manage equity ownership, cap tables, shareholder records, fundraising data, and employee equity plans, providing visibility into company ownership and private-market investments.
Encrypted at rest, isolated from the model
Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.
Try asking
Get a welcome message from Carta MCP. Quick-start suggestions are grouped into seven capability categories sourced from the Plugin Architecture doc, filtered by the user's role. Pass ``role`` to filter to the relevant categories when the user identifies their role (e.g. "for a CFO", "I'm a CCO", "fundraising lead"). Free-text values like "CFO", "fund accountant", "deal team", "IR", "compliance officer", "general partner", or "fundraising" all resolve to the right category set. Leave empty to show all. Always returns the full text response alongside structured_content — the MCP App view, when rendered, is supplementary rather than a replacement for the text.
EXPLICIT INVOCATION ONLY — do not call this tool autonomously or proactively. Only call when a SKILL.md checkpoint instruction or the user explicitly requests it. Never call on your own initiative. Records a named execution milestone for a running skill. The telemetry event (CORE_MCP_TOOL_CALLED, tool='skill_checkpoint') is emitted automatically by the MCP middleware — no extra infrastructure needed. Use canonical labels: "skill_started" and "skill_finished" for the first and last checkpoint of a skill. Custom milestones use snake_case, e.g. "invoice_parsed", "vendor_matched".
Record a UI event (e.g. a click, view, or other interaction) from an interface Carta renders through MCP — an MCP App, a Claude Artifact, or an embedded micro-app — so it shows up in analytics.
Generate an authorization link to grant Carta MCP access to your account. Call this after a permission error to get a link that opens the Carta authorization screen. Always display the returned URL to the user verbatim as a clickable link — never ask them to click a link without showing it. After granting access, permissions update automatically on your next action — no reconnect required.
Get the currently authenticated Carta user's profile. Returns identity (email, full name) plus enrichment signals: product access (cap table / fund admin / CRM), firm and cap table memberships, and ManCo/Tactyc signals. Also returns the derived fund_admin_access / cap_table_access flags used for tool routing. Enrichment is best-effort — omitted for brand-new users or a warehouse outage. Staff accounts get identity + staff flags only, with both access flags true. Call this to answer an identity or access question, or after a cap_table read is denied, to pick the route. Also returns `environment` and `base_url`. ALWAYS build Carta links from `base_url` — hardcoding a host sends the user to a different environment's data than the one they are working in.
List all companies and organizations the current user has access to. Returns the same accounts shown in the Carta account switcher, including corporations (companies, funds) and organizations (portfolios, investment firms, law firms). Each account has a name, id, accountType, and statusTags. The id field uses the format "corporation_pk:<id>" or "organization_pk:<id>". Use the numeric part as corporation_id in other tools.
Show a visual cap table summary with ownership breakdown by share class. Displays an interactive stacked bar chart (in desktop clients) or an ASCII chart (in terminal clients) showing fully diluted shares and amount raised per share class. Use this whenever the user asks about: - Cap table overview, summary, or snapshot - Ownership distribution or breakdown - Share class breakdown or equity structure - Fully diluted share counts - Amount raised by share class - Board deck equity overview
Show which firms you have access to in Carta Fund Admin and which one is currently active. For Carta staff, searches the fund-admin API by name, UUID, or Carta ID. For non-staff, lists firms from your account permissions (search args ignored). Always returns the full text response alongside structured_content — the text format differs between staff and non-staff callers and isn't meant to be parsed; read structured_content.firms / active_firm_id instead.
Switch to a different firm. All subsequent queries will use this firm's data.
Execute a named Carta read command. Deprecated: where `call_tool` is available, prefer it — `fetch` is the legacy invocation path.
List available Carta commands or views across all domains. Deprecated: where `search_tools` is available, prefer it — `discover` is the legacy invocation path. Commands follow domain:verb:noun naming. Use fetch() to execute one. Views follow domain:view:noun naming. Use view_remote() or view_static() to render one.
Execute a write command (POST, PATCH, PUT, DELETE) against Carta. Deprecated: where `call_tool` is available, prefer it — `mutate` is the legacy invocation path. Commands follow domain:verb:noun naming. Use discover(scope="write") to see available write commands.
Render an interactive Carta view backed by a Module Federation remote. A command's help or result names the view to render and its params; call this with them. A static-HTML view routes through `view_static`.
Render an interactive Carta view backed by server-bundled HTML. Use for views authored as self-contained HTML/CSS/JS (``kind="static"``). Use `view_remote` for Module Federation (``kind="mf"``) views.
Most Carta commands are not in your tool list. Search here to reach them. Covers cap tables, funds, valuations, compensation, fund admin and more — describe what you want, e.g. query="fund admin messages". Search before concluding something is unavailable.
Run a Carta tool that only reads data or computes a preview: search_tools marks it read_only: true. Pass the exact `name` from the search result (e.g. cap_table__list__grants), and `arguments` as a dict object, never a JSON-encoded string. A tool that changes data is refused: use call_tool for it.
Run a Carta tool that changes data. The user approves each call, so write `summary`. Use read_tool for a tool that search_tools marks read_only: true. Pass the exact `name` from the search result (e.g. cap_table__mutate__issue_securities), and `arguments` as a dict object, never a JSON-encoded string.
List all available resources and resource templates. Returns JSON with resource metadata. Static resources have a 'uri' field, while templates have a 'uri_template' field with placeholders like {name}.
Read a resource by its URI. For static resources, provide the exact URI. For templated resources, provide the URI with template parameters filled in. Returns the resource content as a string. Binary content is base64-encoded.
One endpoint, the same key, whichever client you use.
~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
Replace API_KEY with your own key.
Already have an "mcpServers" section in your config? Just add the server entry inside it.
Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you
Carta MCP runs through a gateway that holds the credentials, scopes the access and records every call.
Managed auth, hosted MCP servers, and every Carta MCP tool your agent needs.
Free to start.