Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Claap MCP server

Vendor MCP
Open markdown

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

Tools
87
What they doRead · write · destructive
51 · 25 · 1151 read25 write11 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 Claap MCP connection

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

    Scalekit credentials are available for Claap 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 = 'claapmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Claap 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: 'claapmcp_list_workspaces',
    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
  • claapmcp_get_companies_chartChart a Claap workspace's companies: counts over time (bucketed on when companies were created, or last interacted with), or broken down by domain.Read-only

    Get Companies Chart

    Chart a Claap workspace's companies: counts over time (bucketed on when companies were created, or last interacted with), or broken down by domain. Charts all companies by default, or a company view when given a viewId.

    Inputs

    workspaceIdstringrequired
    No description.
    chartTypestring
    How to render the chart. A donut needs a groupBy and no interval.one of linebardonutdefault line
    dateFieldstring
    Which company date to bucket on: when the company was created, or last interacted with. Companies with no value for that date are left out.one of createdAtlastInteractionAtdefault createdAt
    filtersobject
    Narrow the companies. Combined with a viewId, they apply on top of the view.
    groupBystring
    Break the companies down by domain. A company with several domains counts once per domain; companies with no domain are grouped as "No domain". Up to 20 groups with the most companies are returned, fewer over long ranges; the rest are left out. Omit for a single series.
    intervalstring
    Time bucket size. Defaults to week. Omit with a groupBy to chart totals per group instead of over time.
    metricstring
    What each point measures: number of companies (count).default count
    sincestring
    Only companies whose chosen date is on or after this date. Defaults to the earliest matching company.
    titlestring
    Optional chart title. Defaults to the view name or "All companies", so set it when using groupBy or filters.
    untilstring
    Only companies whose chosen date is before this date. Defaults to today.
    viewIdstring
    Scope the chart to a company view (see list_company_views). Omit to chart all companies.
  • claapmcp_get_companyGet a single company of a Claap workspace with its full CRM fields, domains, related contactIds and dealIds.Read-only

    Get Company

    Get a single company of a Claap workspace with its full CRM fields, domains, related contactIds and dealIds. Discover the companyId via list_companies or search_companies.

    Inputs

    companyIdstringrequired
    Discover the companyId via list_companies or search_companies.
    workspaceIdstringrequired
    No description.
  • claapmcp_get_company_field_generationGet the status and progress of a company AI field generation started by generate_company_field: processedCount out of totalCount companies, and failedCount.Read-only

    Get Company Field Generation

    Get the status and progress of a company AI field generation started by generate_company_field: processedCount out of totalCount companies, and failedCount. The status is Pending while in progress, Ready once finished and Failed when it failed or was canceled.

    Inputs

    generationIdstringrequired
    No description.
    workspaceIdstringrequired
    No description.
  • claapmcp_get_company_viewFetch the rows of a Claap company view: each row is a company matching the view filters, with a value for each of the view columns.Read-only

    Get Company View

    Fetch the rows of a Claap company view: each row is a company matching the view filters, with a value for each of the view columns. Discover available views via list_company_views. To fetch only the rows without column values, prefer list_companies with viewId.

    Inputs

    viewIdstringrequired
    The ID of the company view to fetch rows for. Use list_company_views to discover IDs.
    workspaceIdstringrequired
    No description.
    cursorstring
    Opaque cursor returned as `nextCursor` by a previous call. Pass the value VERBATIM to fetch the next page of results. Omit on the first call.
    limitnumber
    Maximum number of results per page (default 10, max 100). ALWAYS paginate via `nextCursor`.
  • claapmcp_get_contactGet a single contact of a Claap workspace with its full CRM fields and its AI-generated summary when one has been generated.Read-only

    Get Contact

    Get a single contact of a Claap workspace with its full CRM fields and its AI-generated summary when one has been generated. Discover the contactId via list_contacts or search_contacts.

    Inputs

    contactIdstringrequired
    Discover the contactId via list_contacts or search_contacts.
    workspaceIdstringrequired
    No description.
  • claapmcp_get_contact_viewFetch the rows of a Claap contact view: each row is a contact matching the view filters, with a value for each of the view columns.Read-only

    Get Contact View

    Fetch the rows of a Claap contact view: each row is a contact matching the view filters, with a value for each of the view columns. Discover available views via list_contact_views. To fetch only the rows without column values, prefer list_contacts with viewId.

    Inputs

    viewIdstringrequired
    The ID of the contact view to fetch rows for. Use list_contact_views to discover IDs.
    workspaceIdstringrequired
    No description.
    cursorstring
    Opaque cursor returned as `nextCursor` by a previous call. Pass the value VERBATIM (do not construct, modify, decode, or invent a cursor) to fetch the next page of results. Omit on the first call.
    limitnumber
    Maximum number of results per page (default 10, max 100). The response includes `total` and, when more results exist, `nextCursor`. ALWAYS paginate via `nextCursor`.
  • claapmcp_get_contacts_chartChart a Claap workspace's contacts: counts over time (bucketed on when contacts were created, or last interacted with), or broken down by company, domain or interaction source.Read-only

    Get Contacts Chart

    Chart a Claap workspace's contacts: counts over time (bucketed on when contacts were created, or last interacted with), or broken down by company, domain or interaction source. Charts all contacts by default, or a contact view when given a viewId.

    Inputs

    workspaceIdstringrequired
    No description.
    chartTypestring
    How to render the chart. A donut needs a groupBy and no interval.one of linebardonutdefault line
    dateFieldstring
    Which contact date to bucket on: when the contact was created, or last interacted with. Contacts with no value for that date are left out.one of createdAtlastInteractionAtdefault createdAt
    filtersobject
    Narrow the contacts. Combined with a viewId, they apply on top of the view.
    groupBystring
    Break the contacts down by company, domain or interaction source. Contacts with no value are grouped as "No company", "No domain" or "No source". Up to 20 groups with the most contacts are returned, fewer over long ranges; the rest are left out. Omit for a single series.one of companydomainsource
    intervalstring
    Time bucket size. Defaults to week. Omit with a groupBy to chart totals per group instead of over time.
    metricstring
    What each point measures: number of contacts (count).one of countdefault count
    sincestring
    Only contacts whose chosen date is on or after this date. Defaults to the earliest matching contact.
    titlestring
    Optional chart title. Defaults to the view name or "All contacts", so set it when using groupBy or filters.
    untilstring
    Only contacts whose chosen date is before this date. Defaults to today.
    viewIdstring
    Scope the chart to a contact view (see list_contact_views). Omit to chart all contacts.
  • claapmcp_get_dealGet a single deal of a Claap workspace with its full CRM fields.Read-only

    Get Deal

    Get a single deal of a Claap workspace with its full CRM fields. Discover the dealId via list_deals or search_deals. When returnAiFields is true, the response includes the value of each AI field of the workspace deal library for this deal (answer and state); fields without a generated value have state Missing.

    Inputs

    dealIdstringrequired
    Discover the dealId via list_deals or search_deals.
    workspaceIdstringrequired
    No description.
    returnAiFieldsboolean
    Include the AI field values of the deal in aiFields.