Carta MCP connector
OAuth 2.1/DCRAccounting & 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_idstringrequiredCarta corporation ID of the company.as_of_datestringoptionalDate to use for the cap table snapshot in YYYY-MM-DD format.company_namestringoptionalName 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.
domainstringoptionalCarta domain to filter commands by (e.g. equity, fund).scopestringoptionalScope to filter commands by: read, write, or view.searchstringoptionalSearch 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.
commandstringrequiredFully qualified Carta command name in domain:verb:noun format. Use Discover to see available commands.paramsstringoptionalParameters 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.
searchstringoptionalSearch 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_idstringoptionalCarta firm ID to switch context to.firm_namestringoptionalName of the firm to filter by.firm_uuidstringoptionalUUID 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.
commandstringrequiredFully qualified Carta command name in domain:verb:noun format. Use Discover to see available commands.paramsstringoptionalParameters 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_idstringrequiredCarta 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.
namestringrequiredName of the view to render. Use Discover with scope=view to see available views.paramsstringoptionalParameters 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.
namestringrequiredName of the view to render. Use Discover with scope=view to see available views.paramsstringoptionalParameters 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.