Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Profound connector

OAuth 2.1/DCR MarketingAnalyticsAI

Profound is an AI search visibility and marketing analytics platform that helps brands understand and optimize their presence across AI-powered answer...

Profound connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. 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. Register your Profound credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Firecrawl API key with Scalekit so it can authenticate and proxy scraping requests on behalf of your users. Profound uses API key authentication — there is no redirect URI or OAuth flow.

    1. Get a Firecrawl API key

      • Go to firecrawl.dev and sign in or create a free account.
      • Your API key is shown on the Overview page under API Key. Copy it — it starts with fc-.
    2. Create a connection in Scalekit

      • In the Scalekit dashboard, go to AgentKitConnectionsCreate Connection.
      • Search for Profound and click Create.
      • Note the Connection name — use this as connection_name in your code (e.g., profoundmcp).
    3. Add a connected account

      Connected accounts link a specific user identifier in your system to a Firecrawl API key. Add them via the dashboard for testing, or via the Scalekit API in production.

      Via dashboard (for testing)

      • Open the connection and click the Connected Accounts tab → Add account.
      • Fill in Your User’s ID and API Key, then click Save.

      Via API (for production)

      await scalekit.actions.upsertConnectedAccount({
      connectionName: 'profoundmcp',
      identifier: 'user_123',
      credentials: { token: 'fc-...' },
      });
  4. 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.actions
    const connector = 'profoundmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Profound:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'profoundmcp_list_models',
    toolInput: { rationale: 'YOUR_RATIONALE' },
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Get bots report, citations report, prompt answers — Measure AI crawler activity against a domain over a date range, including bots such as GPTBot and PerplexityBot
  • List categories, domains, models — List tracked categories, markets, or segments in an organization
  • Whoami records — Confirm the authenticated user, organizations, regions, and entitlements available to this MCP session

Scrape a page

Use profoundmcp_firecrawl_scrape to extract clean markdown content from any URL.

const result = await actions.executeTool({
connectionName: 'profoundmcp',
identifier: 'user_123',
toolName: 'profoundmcp_firecrawl_scrape',
toolInput: {
url: 'https://docs.example.com/getting-started',
onlyMainContent: true,
},
});
console.log(result.data);

Search the web

Use profoundmcp_firecrawl_search to run a live web search and get scraped content from the top results.

const result = await actions.executeTool({
connectionName: 'profoundmcp',
identifier: 'user_123',
toolName: 'profoundmcp_firecrawl_search',
toolInput: {
query: 'best practices for API rate limiting 2026',
limit: 5,
},
});
console.log(result.data);

Extract structured data from a URL

Use profoundmcp_firecrawl_extract with a natural-language prompt and optional JSON Schema to pull structured data from one or more pages.

const result = await actions.executeTool({
connectionName: 'profoundmcp',
identifier: 'user_123',
toolName: 'profoundmcp_firecrawl_extract',
toolInput: {
urls: ['https://example.com/pricing'],
prompt: 'Extract all pricing plan names and their monthly costs.',
},
});
console.log(result.data);

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.

profoundmcp_get_bots_report # Measure AI crawler activity against a domain over a date range, including bots such as GPTBot and PerplexityBot. 14 params

Measure AI crawler activity against a domain over a date range, including bots such as GPTBot and PerplexityBot.

Name Type Required Description
domain string required Tracked domain using exact hostname from list_domains
end_date string required Window end in YYYY-MM-DD format (exclusive)
rationale string required Always provide a brief explanation of why you are calling this tool
start_date string required Window start in YYYY-MM-DD format (inclusive)
bot_name_filter array optional Narrow to specific bots
bot_provider_filter array optional Narrow to specific bot providers
bot_type_filter array optional Narrow to bot categories
cursor string optional Pagination token
dimensions array optional Group-by fields
filters array optional Advanced predicates
limit integer optional Top-N row cap
metrics array optional Metrics to return
organization_id string optional Disambiguate domain across organizations
page_size integer optional First-page size, up to 10,000
profoundmcp_get_citations_report # See which sources AI engines cite for a category, and how often, over a date range. 18 params

See which sources AI engines cite for a category, and how often, over a date range.

Name Type Required Description
category_id string required Category to report on
end_date string required Window end in YYYY-MM-DD format (exclusive)
rationale string required Always provide a brief explanation of why you are calling this tool
start_date string required Window start in YYYY-MM-DD format (inclusive)
citation_category_filter array optional Narrow to specific citation categories
cursor string optional Pagination token
dimensions array optional Group-by fields
filters array optional Advanced predicates
hostname_filter array optional Narrow to specific hostnames
limit integer optional Top-N row cap
metrics array optional Metrics to return
model_filter array optional Narrow to specific AI models
page_size integer optional First-page size, up to 10,000
persona_filter array optional Narrow to specific personas
region_filter array optional Narrow to specific regions
root_domain_filter array optional Narrow to specific root domains
tag_filter array optional Narrow to specific tags
topic_filter array optional Narrow to specific topics
profoundmcp_get_prompt_answers # Retrieve the actual answers AI engines gave for a category's prompts over a date range. 6 params

Retrieve the actual answers AI engines gave for a category's prompts over a date range.

Name Type Required Description
category_id string required Category to retrieve answers for
end_date string required Window end in YYYY-MM-DD format (exclusive)
rationale string required Always provide a brief explanation of why you are calling this tool
start_date string required Window start in YYYY-MM-DD format (inclusive)
limit integer optional Rows per page
offset integer optional Row offset for pagination
profoundmcp_get_referrals_report # Measure visits a domain received from AI engines, such as ChatGPT and Perplexity, over a date range. 13 params

Measure visits a domain received from AI engines, such as ChatGPT and Perplexity, over a date range.

Name Type Required Description
domain string required Tracked domain using exact hostname from list_domains
end_date string required Window end in YYYY-MM-DD format (exclusive)
rationale string required Always provide a brief explanation of why you are calling this tool
start_date string required Window start in YYYY-MM-DD format (inclusive)
cursor string optional Pagination token
dimensions array optional Group-by fields
filters array optional Advanced predicates
limit integer optional Top-N row cap
metrics array optional Metrics to return
organization_id string optional Disambiguate domain across organizations
page_size integer optional First-page size, up to 10,000
referral_source_filter array optional Narrow to specific referrer vendors
referral_type_filter array optional Narrow to referral categories
profoundmcp_get_sentiment_report # Measure sentiment in AI answers for a category over a date range. Default metrics: positive, negative, and occurrences. 16 params

Measure sentiment in AI answers for a category over a date range. Default metrics: positive, negative, and occurrences.

Name Type Required Description
category_id string required Category to report on
end_date string required Window end in YYYY-MM-DD format (exclusive)
rationale string required Always provide a brief explanation of why you are calling this tool
start_date string required Window start in YYYY-MM-DD format (inclusive)
asset_filter array optional Narrow to brand/competitor assets
cursor string optional Pagination token
filters array optional Advanced predicates
limit integer optional Top-N row cap
metrics array optional Metrics to return
model_filter array optional Narrow to specific AI models
page_size integer optional First-page size, up to 10,000
persona_filter array optional Narrow to specific personas
region_filter array optional Narrow to specific regions
tag_filter array optional Narrow to specific tags
theme_filter array optional Narrow to specific sentiment themes
topic_filter array optional Narrow to specific topics
profoundmcp_get_visibility_report # Measure how often and how prominently a brand appears in AI answers for a category over a date range. 16 params

Measure how often and how prominently a brand appears in AI answers for a category over a date range.

Name Type Required Description
category_id string required Category to report on
end_date string required Window end in YYYY-MM-DD format (exclusive)
rationale string required Always provide a brief explanation of why you are calling this tool
start_date string required Window start in YYYY-MM-DD format (inclusive)
asset_filter array optional Narrow to brand/competitor assets
cursor string optional Pagination token
dimensions array optional Group-by fields
filters array optional Advanced predicates with field, operator, value
limit integer optional Top-N row cap
metrics array optional Metrics to return
model_filter array optional Narrow to specific AI models
page_size integer optional First-page size, up to 10,000
persona_filter array optional Narrow to specific personas
region_filter array optional Narrow to specific regions
tag_filter array optional Narrow to specific tags
topic_filter array optional Narrow to specific topics
profoundmcp_list_categories # List tracked categories, markets, or segments in an organization. Most brand visibility reports are scoped to a category. 2 params

List tracked categories, markets, or segments in an organization. Most brand visibility reports are scoped to a category.

Name Type Required Description
org_id string required Organization whose categories to list
rationale string required Always provide a brief explanation of why you are calling this tool
profoundmcp_list_domains # List tracked domains for an organization. Domains are exact hostnames, so www.example.com and example.com are distinct. 2 params

List tracked domains for an organization. Domains are exact hostnames, so www.example.com and example.com are distinct.

Name Type Required Description
org_id string required Organization whose tracked domains to list
rationale string required Always provide a brief explanation of why you are calling this tool
profoundmcp_list_models # List the AI models Profound tracks. Use returned model IDs to filter reports to a single engine. 1 param

List the AI models Profound tracks. Use returned model IDs to filter reports to a single engine.

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool
profoundmcp_list_organizations # List the organizations the authenticated user can access. Returned IDs feed category, domain, and report tools. 1 param

List the organizations the authenticated user can access. Returned IDs feed category, domain, and report tools.

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool
profoundmcp_list_prompts # List prompts configured in a category. Prompts are the questions Profound runs against AI engines to measure brand visibility. 10 params

List prompts configured in a category. Prompts are the questions Profound runs against AI engines to measure brand visibility.

Name Type Required Description
category_id string required Category to list prompts for
rationale string required Always provide a brief explanation of why you are calling this tool
combine string optional How include filters combine
cursor string optional Pagination token from previous response
exclude_tag_ids array optional Exclude prompts carrying these tags
exclude_topic_ids array optional Exclude prompts under these topics
limit integer optional Maximum prompts to return
status string optional Filter by prompt status
tag_ids array optional Include only prompts carrying these tags
topic_ids array optional Include only prompts under these topics
profoundmcp_list_regions # List geographic regions configured for an organization. Omit org_id to see regions across all accessible organizations. 2 params

List geographic regions configured for an organization. Omit org_id to see regions across all accessible organizations.

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool
org_id string optional Organization identifier
profoundmcp_list_tags # List tags available within a category for filtering prompts and reports. 2 params

List tags available within a category for filtering prompts and reports.

Name Type Required Description
category_id string required Category whose tags to list
rationale string required Always provide a brief explanation of why you are calling this tool
profoundmcp_list_topics # List topics available within a category for filtering prompts and reports. 2 params

List topics available within a category for filtering prompts and reports.

Name Type Required Description
category_id string required Category to list topics for
rationale string required Always provide a brief explanation of why you are calling this tool
profoundmcp_whoami # Confirm the authenticated user, organizations, regions, and entitlements available to this MCP session. 1 param

Confirm the authenticated user, organizations, regions, and entitlements available to this MCP session.

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool