The Profound MCP connector routes your AI agent's tool calls to Profound's own MCP server through Scalekit. Each user signs in to Profound once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 15 tools.
- Tools
- 15
- What they doRead · write · destructive
- 15 · 0 · 015 read0 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet 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>Create the Profound MCP connection
In AgentKit > Connections, create a Profound MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Profound MCP server, so you don't need to register an OAuth app.
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.actionsconst connector = 'profoundmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Profound MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'profoundmcp_list_models',toolInput: { rationale: 'YOUR_RATIONALE' },})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "profoundmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Profound MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"rationale":"YOUR_RATIONALE"},tool_name="profoundmcp_list_models",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolprofoundmcp_get_bots_reportMeasure AI crawler activity against a domain over a date range, including bots such as GPTBot and PerplexityBot.Read-onlyGet Bots Report
Measure AI crawler activity against a domain over a date range, including bots such as GPTBot and PerplexityBot.
Inputs
domainstringrequired- Tracked domain using exact hostname from list_domains
end_datestringrequired- Window end in YYYY-MM-DD format (exclusive)
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
start_datestringrequired- Window start in YYYY-MM-DD format (inclusive)
bot_name_filterarray- Narrow to specific bots
bot_provider_filterarray- Narrow to specific bot providers
bot_type_filterarray- Narrow to bot categories
cursorstring- Pagination token
dimensionsarray- Group-by fields
filtersarray- Advanced predicates
limitinteger- Top-N row cap
metricsarray- Metrics to return
organization_idstring- Disambiguate domain across organizations
page_sizeinteger- First-page size, up to 10,000
profoundmcp_get_citations_reportSee which sources AI engines cite for a category, and how often, over a date range.Read-onlyGet Citations Report
See which sources AI engines cite for a category, and how often, over a date range.
Inputs
category_idstringrequired- Category to report on
end_datestringrequired- Window end in YYYY-MM-DD format (exclusive)
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
start_datestringrequired- Window start in YYYY-MM-DD format (inclusive)
citation_category_filterarray- Narrow to specific citation categories
cursorstring- Pagination token
dimensionsarray- Group-by fields
filtersarray- Advanced predicates
hostname_filterarray- Narrow to specific hostnames
limitinteger- Top-N row cap
metricsarray- Metrics to return
model_filterarray- Narrow to specific AI models
page_sizeinteger- First-page size, up to 10,000
persona_filterarray- Narrow to specific personas
region_filterarray- Narrow to specific regions
root_domain_filterarray- Narrow to specific root domains
tag_filterarray- Narrow to specific tags
topic_filterarray- Narrow to specific topics
profoundmcp_get_prompt_answersRetrieve the actual answers AI engines gave for a category's prompts over a date range.Read-onlyGet Prompt Answers
Retrieve the actual answers AI engines gave for a category's prompts over a date range.
Inputs
category_idstringrequired- Category to retrieve answers for
end_datestringrequired- Window end in YYYY-MM-DD format (exclusive)
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
start_datestringrequired- Window start in YYYY-MM-DD format (inclusive)
limitinteger- Rows per page
offsetinteger- Row offset for pagination
profoundmcp_get_referrals_reportMeasure visits a domain received from AI engines, such as ChatGPT and Perplexity, over a date range.Read-onlyGet Referrals Report
Measure visits a domain received from AI engines, such as ChatGPT and Perplexity, over a date range.
Inputs
domainstringrequired- Tracked domain using exact hostname from list_domains
end_datestringrequired- Window end in YYYY-MM-DD format (exclusive)
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
start_datestringrequired- Window start in YYYY-MM-DD format (inclusive)
cursorstring- Pagination token
dimensionsarray- Group-by fields
filtersarray- Advanced predicates
limitinteger- Top-N row cap
metricsarray- Metrics to return
organization_idstring- Disambiguate domain across organizations
page_sizeinteger- First-page size, up to 10,000
referral_source_filterarray- Narrow to specific referrer vendors
referral_type_filterarray- Narrow to referral categories
profoundmcp_get_sentiment_reportMeasure sentiment in AI answers for a category over a date range.Read-onlyGet Sentiment Report
Measure sentiment in AI answers for a category over a date range. Default metrics: positive, negative, and occurrences.
Inputs
category_idstringrequired- Category to report on
end_datestringrequired- Window end in YYYY-MM-DD format (exclusive)
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
start_datestringrequired- Window start in YYYY-MM-DD format (inclusive)
asset_filterarray- Narrow to brand/competitor assets
cursorstring- Pagination token
filtersarray- Advanced predicates
limitinteger- Top-N row cap
metricsarray- Metrics to return
model_filterarray- Narrow to specific AI models
page_sizeinteger- First-page size, up to 10,000
persona_filterarray- Narrow to specific personas
region_filterarray- Narrow to specific regions
tag_filterarray- Narrow to specific tags
theme_filterarray- Narrow to specific sentiment themes
topic_filterarray- Narrow to specific topics
profoundmcp_get_visibility_reportMeasure how often and how prominently a brand appears in AI answers for a category over a date range.Read-onlyGet Visibility Report
Measure how often and how prominently a brand appears in AI answers for a category over a date range.
Inputs
category_idstringrequired- Category to report on
end_datestringrequired- Window end in YYYY-MM-DD format (exclusive)
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
start_datestringrequired- Window start in YYYY-MM-DD format (inclusive)
asset_filterarray- Narrow to brand/competitor assets
cursorstring- Pagination token
dimensionsarray- Group-by fields
filtersarray- Advanced predicates with field, operator, value
limitinteger- Top-N row cap
metricsarray- Metrics to return
model_filterarray- Narrow to specific AI models
page_sizeinteger- First-page size, up to 10,000
persona_filterarray- Narrow to specific personas
region_filterarray- Narrow to specific regions
tag_filterarray- Narrow to specific tags
topic_filterarray- Narrow to specific topics
profoundmcp_list_categoriesList tracked categories, markets, or segments in an organization.Read-onlyList Categories
List tracked categories, markets, or segments in an organization. Most brand visibility reports are scoped to a category.
Inputs
org_idstringrequired- Organization whose categories to list
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
profoundmcp_list_domainsList tracked domains for an organization.Read-onlyList Domains
List tracked domains for an organization. Domains are exact hostnames, so www.example.com and example.com are distinct.
Inputs
org_idstringrequired- Organization whose tracked domains to list
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
profoundmcp_list_modelsList the AI models Profound tracks.Read-onlyList Models
List the AI models Profound tracks. Use returned model IDs to filter reports to a single engine.
Inputs
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
profoundmcp_list_organizationsList the organizations the authenticated user can access.Read-onlyList Organizations
List the organizations the authenticated user can access. Returned IDs feed category, domain, and report tools.
Inputs
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
profoundmcp_list_promptsList prompts configured in a category.Read-onlyList Prompts
List prompts configured in a category. Prompts are the questions Profound runs against AI engines to measure brand visibility.
Inputs
category_idstringrequired- Category to list prompts for
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
combinestring- How include filters combineone of
ANDOR cursorstring- Pagination token from previous response
exclude_tag_idsarray- Exclude prompts carrying these tags
exclude_topic_idsarray- Exclude prompts under these topics
limitinteger- Maximum prompts to return
statusstring- Filter by prompt statusone of
activedisabledall tag_idsarray- Include only prompts carrying these tags
topic_idsarray- Include only prompts under these topics
profoundmcp_list_regionsList geographic regions configured for an organization.Read-onlyList Regions
List geographic regions configured for an organization. Omit org_id to see regions across all accessible organizations.
Inputs
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
org_idstring- Organization identifier
profoundmcp_list_topicsList topics available within a category for filtering prompts and reports.Read-onlyList Topics
List topics available within a category for filtering prompts and reports.
Inputs
category_idstringrequired- Category to list topics for
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
profoundmcp_whoamiConfirm the authenticated user, organizations, regions, and entitlements available to this MCP session.Read-onlyWhoami
Confirm the authenticated user, organizations, regions, and entitlements available to this MCP session.
Inputs
rationalestringrequired- Always provide a brief explanation of why you are calling this tool
No tools match.