Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the PhantomBuster MCP server

Vendor MCP
Open markdown

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

Tools
62
What they doRead · write · destructive
27 · 29 · 627 read29 write6 destructive
Users sign in with
OAuth app
Scalekit's or your own

What you can do

  • Run automation agents: launch, schedule, stop, and fetch the output of PhantomBuster agents
  • Manage agents: create, update, delete, and group agents across the organization
  • Store leads and companies: save, search, and delete leads and company profiles in organization storage
  • Organize lead lists: create, update, fetch, and delete lead lists and fetch leads by list
  • Review run results: fetch run history, output data, and result objects for each agent execution
  • Sync contacts to your CRM: save contacts with LinkedIn profile details to a connected HubSpot account

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 PhantomBuster MCP connection

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

    Scalekit credentials are available for PhantomBuster, 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 = 'phantombustermcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize PhantomBuster 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: 'phantombustermcp_users_fetch_me',
    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
  • phantombustermcp_agents_fetchRetrieve a PhantomBuster agent by its unique ID.Read-only

    GetAgentById

    Retrieve a PhantomBuster agent by its unique ID. Returns agent metadata and optionally includes the agent's manifest, object definition, script code, slave agents, and sub-slave agents depending on the query flags provided.

    Inputs

    idstringrequired
    The unique identifier of the PhantomBuster agent to fetch. Required. Example: '1234567890'.
    withAgentObjectstring
    Set to "true" to include the full agent_object definition in the response. Useful when you need the agent's configuration object. Example: "true".
    withCodestring
    Set to "true" to include the agent's script source code in the response. Example: "true".
    withManifeststring
    Set to "true" to include the agent's manifest (capabilities and configuration schema) in the response. Example: "true".
    withSlavesstring
    Set to "true" to include the agent's slave agents (sub-automation agents linked to this agent) in the response. Example: "true".
    withSubSlavesstring
    Set to "true" to include the agent's sub-slave agents in the response. Requires withSlaves to also be set to "true". Example: "true".
  • phantombustermcp_agents_fetch_allRetrieves all agents belonging to the current user's organization on PhantomBuster.Read-only

    FetchAllAgents

    Retrieves all agents belonging to the current user's organization on PhantomBuster. Supports filtering by input types, output types, and specific agent IDs.

    Inputs

    agentIdsstring
    If set, only the agents with the provided IDs will be returned. Can be a single ID or an array of IDs
    inputTypesstring
    If set, the agents will be filtered by the provided input types. An input type represents a resource the agent is expected to consume (i.e. "profileUrl", "companyUrl" etc...). You may find them in the response of the endpoint /agents/fetch with manifest
    outputTypesstring
    If set, the agents will be filtered by the provided output types. An output type represents a resource the agent is expected to produce (i.e. "fullName", "job", "company" etc...). You may find them in the response of the endpoint /agents/fetch with manifest
    withAgentSlotsFactorstring
    Set to "true" if you want to include the agent's reservedAgentSlotsFactor from the script branch configuration in the response
    withArgumentstring
    Set to "true" if you want to include the agent's argument in the response
  • phantombustermcp_agents_fetch_deletedRetrieves all deleted agents belonging to the current user's organization on PhantomBuster.Read-only

    FetchDeletedAgents

    Retrieves all deleted agents belonging to the current user's organization on PhantomBuster. Useful for auditing or recovering information about previously deleted automations.

    Inputs

    This tool takes no inputs.

  • phantombustermcp_agents_fetch_outputGets the output of the most recent container of an agent.Read-only

    FetchAgentOutput

    Gets the output of the most recent container of an agent. Designed for incremental data retrieval — use fromOutputPos and prevContainerId to fetch only new output since your last call.

    Inputs

    idstringrequired
    Id of the agent to fetch output from.
    fromOutputPosnumber
    If set, the returned output will start from the specified position.
    prevContainerIdstring
    If set, the output will be retrieved from the container after the specified previous container id.
    prevRuntimeEventIndexnumber
    If set, the container's runtime events will be returned in the response starting from the provided previous runtime event index.
    prevStatusstring
    If set, allows to define which status was previously retrieved on user-side.
  • phantombustermcp_branches_fetch_allRetrieve all script branches associated with the authenticated organization.Read-only

    ListOrgBranches

    Retrieve all script branches associated with the authenticated organization. Branches represent different versions (staging vs. release) of PhantomBuster agent scripts and are used for managing deployments.

    Inputs

    This tool takes no inputs.

  • phantombustermcp_buyers_personas_fetch_allFetch all buyer personas defined for the organization.Read-only

    BuyersPersonasFetchAll

    Fetch all buyer personas defined for the organization. Returns the full list of buyer persona records without requiring any input parameters.

    Inputs

    This tool takes no inputs.

  • phantombustermcp_containers_fetchRetrieve a PhantomBuster container by its unique ID.Read-only

    GetContainerById

    Retrieve a PhantomBuster container by its unique ID. Optionally include the result object, output data, runtime events, and navigation links to adjacent containers in the response.

    Inputs

    idstringrequired
    The unique identifier of the container to retrieve. Required.
    withNewerAndOlderContainerIdstring
    If set, the response will include the IDs of the next newer and next older containers relative to this one.
    withOutputstring
    If set, the output produced by the container will be included in the response.
    withResultObjectstring
    If set, the container's result object will be included in the response.
    withRuntimeEventsstring
    If set, the runtime events associated with the container will be included in the response.
  • phantombustermcp_containers_fetch_allRetrieve all containers associated with a specified PhantomBuster agent.Read-only

    ListContainersForAgent

    Retrieve all containers associated with a specified PhantomBuster agent. Supports filtering by completion date, limiting result count, and optionally including runtime events. Containers represent individual executions of an agent.

    Inputs

    agentIdstringrequired
    The unique identifier of the agent whose containers to retrieve. Required.
    beforeEndedAtstring
    If set, only containers that ended before this date will be returned. Use ISO 8601 date format.
    limitstring
    If set, limits the number of containers returned to this value.
    modestring
    Filter containers by status. 'all' returns all containers; 'finalized' returns only completed containers.one of allfinalized
    withRuntimeEventsstring
    If set, the response will include runtime events for each container.