Carta MCP connector
OAuth 2.1/DCR Accounting & FinanceAnalyticsProductivityConnect to Carta. Manage equity cap tables, fund administration, company accounts, and ownership data for venture-backed companies.
Carta MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'cartamcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Carta MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'cartamcp_get_current_user',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "cartamcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Carta MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="cartamcp_get_current_user",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Welcome records — Get a welcome message and orientation guide from Carta MCP
- Static view — Render an interactive Carta view backed by server-bundled HTML
- Remote view — Render an interactive Carta view backed by a Module Federation remote
- Context set — Switch the active firm so subsequent queries use that firm data
- Mutate records — Execute a write command (POST, PATCH, PUT, DELETE) against Carta
- List contexts, accounts — List the firms you have access to in Carta Fund Admin
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
cartamcp_cap_table_chart
#
Show a visual cap table summary with ownership breakdown by share class. 3 params
Show a visual cap table summary with ownership breakdown by share class.
corporation_id string required Carta corporation ID of the company. as_of_date string optional Date to use for the cap table snapshot in YYYY-MM-DD format. company_name string optional Name of the company to look up. cartamcp_discover
#
List available Carta commands or views across all domains. 3 params
List available Carta commands or views across all domains.
domain string optional Carta domain to filter commands by (e.g. equity, fund). scope string optional Scope to filter commands by: read, write, or view. search string optional Search term to filter results by name or description. cartamcp_fetch
#
Execute a named read command against Carta. 2 params
Execute a named read command against Carta.
command string required Fully qualified Carta command name in domain:verb:noun format. Use Discover to see available commands. params string optional Parameters dict (e.g. {"corporation_id": 123}).
Pass "raw": true to skip formatting and get the full API
response. Not honored on every command — check the
command's `help` for whether `raw` is supported. cartamcp_get_current_user
#
Get the currently authenticated Carta user profile. 0 params
Get the currently authenticated Carta user profile.
cartamcp_list_accounts
#
List all companies and organizations the current user has access to. 1 param
List all companies and organizations the current user has access to.
search string optional Search term to filter results by name or description. cartamcp_list_contexts
#
List the firms you have access to in Carta Fund Admin. 3 params
List the firms you have access to in Carta Fund Admin.
firm_id string optional Carta firm ID to switch context to. firm_name string optional Name of the firm to filter by. firm_uuid string optional UUID of the firm to filter by. cartamcp_mutate
#
Execute a write command (POST, PATCH, PUT, DELETE) against Carta. 2 params
Execute a write command (POST, PATCH, PUT, DELETE) against Carta.
command string required Fully qualified Carta command name in domain:verb:noun format. Use Discover to see available commands. params string optional Parameters dict (e.g. {"ownerId": 123, "ownerKind": "FIRM", ...}). cartamcp_set_context
#
Switch the active firm so subsequent queries use that firm data. 1 param
Switch the active firm so subsequent queries use that firm data.
firm_id string required Carta firm ID to switch context to. cartamcp_view_remote
#
Render an interactive Carta view backed by a Module Federation remote. 2 params
Render an interactive Carta view backed by a Module Federation remote.
name string required Name of the view to render. Use Discover with scope=view to see available views. params string optional Parameters dict (e.g. {"corporation_id": 123}). cartamcp_view_static
#
Render an interactive Carta view backed by server-bundled HTML. 2 params
Render an interactive Carta view backed by server-bundled HTML.
name string required Name of the view to render. Use Discover with scope=view to see available views. params string optional Parameters dict passed to the view as ``window.mcpViewArgs``. cartamcp_welcome
#
Get a welcome message and orientation guide from Carta MCP. 0 params
Get a welcome message and orientation guide from Carta MCP.