Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Dart AI MCP server

Vendor MCP
Open markdown

The Dart AI MCP connector routes your AI agent's tool calls to Dart AI's own MCP server through Scalekit. Each user signs in to Dart AI once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 29 tools.

Tools
29
What they doRead · write · destructive
13 · 13 · 313 read13 write3 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. 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>
  3. Create the Dart AI MCP connection

    In AgentKit > Connections, create a Dart AI MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Dart AI MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'dartaimcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Dart AI MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'dartaimcp_get_config',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • dartaimcp_get_agentRetrieve an existing agent by its ID, including its name and current description.Read-only

    Get Agent

    Retrieve an existing agent by its ID, including its name and current description.

    Inputs

    idstringrequired
    The ID of the agent.
    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.
  • dartaimcp_get_configGet information about the user's space, including all possible values.Read-only

    Get Config

    Get information about the user's space, including all possible values.

    Inputs

    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.
  • dartaimcp_get_dartboardRetrieve an existing dartboard.Read-only

    Get Dartboard

    Retrieve an existing dartboard.

    Inputs

    idstringrequired
    The ID of the dartboard.
    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.
  • dartaimcp_get_docRetrieve an existing doc.Read-only

    Get Doc

    Retrieve an existing doc.

    Inputs

    idstringrequired
    The ID of the doc.
    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.
  • dartaimcp_get_folderRetrieve an existing folder by its ID.Read-only

    Get Folder

    Retrieve an existing folder by its ID.

    Inputs

    idstringrequired
    The ID of the folder.
    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.
  • dartaimcp_get_taskRetrieve an existing task by its ID.Read-only

    Get Task

    Retrieve an existing task by its ID.

    Inputs

    idstringrequired
    The ID of the task.
    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.
  • dartaimcp_get_viewRetrieve an existing view by its ID.Read-only

    Get View

    Retrieve an existing view by its ID.

    Inputs

    idstringrequired
    The ID of the view.
    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.
  • dartaimcp_list_agentsList all agents in the workspace.Read-only

    List Agents

    List all agents in the workspace.

    Inputs

    conversation_idstring
    Conversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.
    reason_for_invocationstring
    Brief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.