mcp-gtm-suite
This server provides six go-to-market (GTM) intelligence tools that analyze companies using public data, powered by Apify actors and returning flat, Clay-ready JSON.
scan_gtm_hiring_signals: Detect sales, marketing, and revenue operations job postings from a company's career pages (Greenhouse, Lever, Ashby), with optional role filters.detect_gtm_tech_stack: Identify which GTM tools (CRM, sequencer, marketing automation) a company uses by scraping their public website, with optional deeper crawling.aggregate_gtm_signals: Combine hiring and tech-stack signals into a single composite score with a recommended action and optional plain-English summary or explanation.scan_job_board_keywords: Search a company's job board across multiple ATS platforms (Greenhouse, Lever, Ashby, Workday, Rippling) for roles in categories like GTM, Engineering, Finance, Operations, Executive, or custom keywords — with delta tracking across runs.resolve_linkedin_url: Look up a company's LinkedIn URL using a domain or company name, returning a confidence score, firmographics, and social links.score_icp_fit: Score a company against your ideal customer profile (ICP) on a 0–100 scale with an A–D tier and per-signal breakdown, configurable via a prebuilt template, custom scoring weights, or a plain-English ICP description.
Uses OpenAI's language models to score companies against an ideal customer profile via the score_icp_fit tool.
Mamba Labs GTM Suite MCP Server
One MCP server that exposes the entire Mamba Labs GTM Suite. Install a single package and get all twenty one account-intelligence tools in your MCP client, each wrapping a Mamba Labs actor on Apify and returning Clay-ready flat JSON.
What's Inside
Related MCP server: mcp-icp-fit-scorer
What it does
This server gives an AI client twenty one account-intelligence tools in one place, covering the full GTM workflow: resolve identity, enrich the account, detect buying signals, score fit, and push the survivors into a sequencer.
Identity and enrichment
resolve_company_identity: reconcile name, domain, and LinkedIn URL into one canonical identity with confidence scoresenrich_company_firmographics: enrich a domain into employee band, industry, HQ, founded year, revenue, logo, and descriptionmap_company_social_presence: map a domain to LinkedIn, X, Instagram, Facebook, and YouTube URLs and follower countsresolve_linkedin_url: resolve a domain or name to a LinkedIn company URL
Signals
scan_gtm_hiring_signals: detect GTM hiring activity from career pagesdetect_gtm_tech_stack: detect CRM, sequencer, and marketing automation toolsscan_job_board_keywords: scan job boards for roles in any categoryget_funding_press_signals: scan news and PR wires for funding, exec moves, launches, and acquisitionsget_company_changes: monitor a domain and return only what changed since the last rundetect_ai_tooling: determine whether a company declares, deploys, or charges for AIfingerprint_outbound_infrastructure: determine whether a company runs cold outbound, on what stack, and from which lookalike sending domainstrack_publication_cadence: how much long-form work a company publishes per month, and whether that rate is rising or falling
Scoring
aggregate_gtm_signals: combine hiring and tech-stack signals into one composite scorescore_icp_fit: score a company against your ideal customer profile
Entity and record resolution
resolve_legal_entity: resolve a domain to its registered legal entity in Companies House, GLEIF or SEC EDGARclassify_contact: turn a job title into a department, a seniority level and a sortable rank, by deterministic rule
Reach and readiness
audit_agent_accessibility: whether an AI agent can read a site, and what the site's policy says about itmap_company_event_presence: the third-party conferences a company publicly says it attendsmonitor_public_awards: the companies that won work in a public award register, one row per winnercapture_linkedin_posts_and_commenters: recent LinkedIn posts from profiles and company pages, with the commenters LinkedIn shows publicly, and no login
All of the work runs on Apify. This package is a thin client that routes each tool call to the right actor and hands back the result.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config:
{
"mcpServers": {
"mamba-gtm-suite": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-gtm-suite"],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Get your token at https://console.apify.com/account/integrations, paste it in, and restart Claude Desktop. All twenty one tools will be available.
Prerequisites
Node.js 18 or newer
An Apify account with an API token
Example prompts
"Profile stripe.com: firmographics, hiring signals, tech stack, and an overall GTM score."
"Resolve the canonical identity for Deel, then enrich its firmographics and social presence."
"Find figma.com's LinkedIn URL, then score it against my ICP."
"Any funding or exec moves at openai.com recently, and what CRM do they use?"
"What changed at datadoghq.com since last week?"
Tools and inputs
Each tool maps to one Apify actor. Inputs mirror the actor, minus deprecated and batch-only fields:
resolve_company_identity: at least one ofcompany_name,domain, orlinkedin_url, plusskipCacheenrich_company_firmographics: at least one ofdomainordomains, pluscompany_name,batchSize,skipCachemap_company_social_presence:company_domainorcompany_name(at least one), plusplatforms,includeFollowerCounts,skipCacheresolve_linkedin_url:company_domainorcompany_name(at least one)scan_gtm_hiring_signals:domain(required),role_filter,ats_slugdetect_gtm_tech_stack:domain(required),crawl_additional_pagesscan_job_board_keywords:company_domain(required),role_categories(required),custom_keywords,enable_fallback,previous_roles_detected,previous_run_dateget_funding_press_signals:domain(required),company_nameget_company_changes:domain(required),company_nameaggregate_gtm_signals:company_domain(required),include_summary,explain_modescore_icp_fit:company_domain(required), plustemplate,scoring_config,icp_description(+llm_api_key,llm_provider),fetch_signals,include_explanationdetect_ai_tooling: at least one ofdomainordomains, pluscheck_pricingfingerprint_outbound_infrastructure: at least one ofdomainordomains, plusscan_sending_domains,sending_domain_depth,check_deliverabilitytrack_publication_cadence: at least one ofdomainordomains, plusmax_pages_to_date,domain_time_budget_mspush_leads_to_sequencer:sequencerandcampaign_id(required), one ofleadsordataset_id, plusapi_key,min_icp_score,deduplicate,dry_run,field_mapping,custom_variables. The only tool here that writes: it adds leads to your campaign unlessdry_runis true.
Full actor documentation
For the complete input and output reference, pricing, and run history of each actor, see the Mamba Labs Apify Store page:
Mamba Labs GTM Suite
This is the umbrella server for the Mamba Labs GTM Suite, an account-intelligence fleet of twenty one tools for go-to-market signal intelligence, each backed by a dedicated Apify actor and also published as its own standalone MCP server.
Tool | Actor | Immutable Actor ID |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
The Domain Deliverability Checker actor is published as a standalone MCP server but is intentionally not bundled here: it audits email-sending infrastructure (SPF, DKIM, DMARC, blacklists) rather than account intelligence, so it sits outside this suite's scope.
Built by Mamba Labs | npm | Apify Store
License
MIT
Built by Mamba Labs. https://apify.com/mambalabs
Available Tools
11 toolsaggregate_gtm_signalsAggregate GTM SignalsARead-onlyIdempotent
Aggregate a company's GTM signals into one composite score. Runs hiring and tech-stack detection in one call and returns a composite score, recommended action, and optional summary as a flat, Clay-ready JSON row. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| company_domain | Yes | Bare company domain, e.g. stripe.com | |
| include_summary | No | Include a plain-English gtm_signal_summary. | |
| explain_mode | No | If true, the summary becomes a longer, more detailed explanation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. The description adds that it consumes Apify credits and requires a token, which is useful but not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then details on what it does and constraints. Efficient and no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main functionality but lacks details about the output structure (e.g., fields in the Clay-ready JSON row). No output schema, so description should provide more context on return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds minimal meaning beyond the schema. The description mentions optional summary but does not elaborate on parameters beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool aggregates GTM signals into one composite score, mentioning hiring and tech-stack detection. Distinguishes from sibling tools that perform individual scans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates it runs multiple detections in one call and is read-only, but does not explicitly state when to use versus siblings or provide exclusions. The context is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_gtm_tech_stackDetect GTM Tech StackARead-onlyIdempotent
Detect which GTM tools a company uses from its public website. Returns CRM, sequencer, and marketing automation signals with per-tool boolean flags as a flat, Clay-ready JSON row. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Bare company domain, e.g. stripe.com | |
| crawl_additional_pages | No | Crawl up to 2 extra pages for better coverage. Defaults to true when omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds valuable context: the need for an APIFY_TOKEN, credit consumption, and the output structure. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, followed by output format and usage constraints. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, simple output), the description provides all necessary context: what it does, input requirements, output format, and side effects (credit consumption). No output schema exists, but the description adequately specifies the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds further context: for 'crawl_additional_pages', it explains the behavior (crawl up to 2 extra pages) and default value (true). For 'domain', it specifies the format (bare domain, e.g., stripe.com). This meaningfully supplements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Detect' and the resource 'GTM tools from a company's public website', and specifies the output format (flat, Clay-ready JSON row with boolean flags). This distinguishes it from sibling tools like 'aggregate_gtm_signals'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is read-only, requires an APIFY_TOKEN, and consumes credits. It implies when to use (to detect GTM stack from a website). However, it does not explicitly state when not to use or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrich_company_firmographicsEnrich Company FirmographicsARead-onlyIdempotent
Enrich a company domain into structured firmographics: employee band, industry, HQ, founded year, revenue estimate, logo, and description, with source provenance. Parsed from the company's schema.org/Organization JSON-LD and HTML meta tags and returned as a flat, Clay-ready JSON row with a source_signals array and a data_completeness score. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Bare company domain to enrich, e.g. stripe.com. Provide this or domains. | |
| company_name | No | Optional company name, used as a fallback label when the page does not expose one. | |
| domains | No | List of bare domains for batch processing. Takes precedence over domain. | |
| batchSize | No | Domains enriched concurrently per wave in batch mode. Default 5, maximum 10. | |
| skipCache | No | Force a fresh enrichment and ignore the 7 day result cache. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds value by explaining the data extraction method (schema.org JSON-LD and HTML meta tags) and output structure (source_signals array, data_completeness score), which go beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise, with the main purpose front-loaded. It includes necessary details about output format and batch processing without excessive length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and sibling tools, the description covers input, output structure, extraction method, batching, caching, credit consumption, and token requirement. It is complete for the agent to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description does not add much for most params, but it does clarify the default cache duration (7 days) for skipCache. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'enrich' and the resource 'company domain' and lists the specific firmographics fields (employee band, industry, HQ, etc.). However, it does not explicitly distinguish from siblings like 'resolve_company_identity' or 'get_company_changes', though the output fields are unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tool is read-only and requires an APIFY_TOKEN and consumes credits, but provides no guidance on when to use this vs. siblings or what prerequisites (beyond token) are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_changesGet Company ChangesARead-only
Monitor a company domain for changes across hiring, tech stack, funding, firmographics, and social since the last run. Returns only what changed as typed change events in flat, Clay-ready JSON. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Company domain to monitor, without https or www, e.g. stripe.com. | |
| company_name | No | Optional company name hint, used when the domain does not match the brand name, e.g. Deel for deel.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false. The description adds that it is read-only, requires APIFY_TOKEN, consumes credits, and returns only changes as typed events in Clay-ready JSON. No contradiction. Additional context like rate limits or error handling is not provided, but annotations already cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no unnecessary words. It efficiently conveys action, scope, return type, and requirements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a monitoring tool with no output schema, the description covers the return format (typed change events, Clay-ready JSON), the scope of changes (hiring, tech stack, etc.), and usage requirements (token, credits). Minor gaps like pagination or depth of changes could be added, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema (100% coverage). The description adds no extra information beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it monitors a company domain for changes across hiring, tech stack, funding, firmographics, and social. It distinguishes from sibling tools like aggregate_gtm_signals or enrich_company_firmographics by emphasizing monitoring over time rather than one-time enrichment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies periodic use ('since the last run') and mentions requirements (APIFY_TOKEN, credits). It does not explicitly state when not to use it, but the context of monitoring vs. one-time detection is clear from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_funding_press_signalsGet Funding and Press SignalsARead-onlyIdempotent
Scan Google News and PR wires for funding rounds, executive moves, product launches, and acquisitions at any company domain. Returns deduplicated, dated events in flat Clay-ready JSON. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Company domain to scan, without https or www, e.g. stripe.com. | |
| company_name | No | Optional company name hint, used when the domain does not match the brand name, e.g. Deel for deel.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, openWorldHint. The description adds valuable behavioral details: data sources (Google News, PR wires), deduplication, output format (flat Clay-ready JSON), and prerequisites (APIFY_TOKEN, credits). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each valuable: first sentence states purpose, second describes output, third lists constraints. No superfluous content, front-loaded with key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema) and rich annotations, the description covers all needed aspects: input, output, behavior, prerequisites, and cost. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions (100% coverage). The description further clarifies the 'company_name' parameter with a concrete example (Deel for deel.com), adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans Google News and PR wires for specific signal types (funding rounds, executive moves, etc.) at any company domain. It distinctly differentiates from siblings like 'scan_gtm_hiring_signals' by focusing on funding and press signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for usage: read-only operation, required APIFY_TOKEN, and credit consumption. While it doesn't explicitly say when not to use it, the context and sibling list imply appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_company_social_presenceMap Company Social PresenceARead-onlyIdempotent
Map a company's social media presence across LinkedIn, X, Instagram, Facebook, and YouTube. Returns profile URLs and follower counts in flat Clay-ready JSON. Profiles are discovered from the company's own homepage links, a web search fallback, and pattern guessing, then validated against the company. Follower counts are extracted where public; X is URL-only (its count needs login) and Instagram and Facebook counts are best-effort. Provide at least one of company_domain or company_name. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| company_domain | No | Bare company domain, e.g. stripe.com. Provide this or company_name. | |
| company_name | No | Optional company name. Improves search accuracy and disambiguation. Provide this or company_domain. | |
| platforms | No | Which platforms to map. Defaults to all five. | |
| includeFollowerCounts | No | Fetch profile pages to extract follower counts (default true). Set false for URLs only, which is cheaper. | |
| skipCache | No | Force a fresh lookup and ignore the 7 day result cache. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, destructiveHint, idempotentHint, openWorldHint. The description adds valuable behavioral details: discovery methods (homepage links, web search, pattern guessing, validation), follower count limitations (X URL-only, Instagram/Facebook best-effort), credit consumption, and read-only nature. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences with no fluff. The main action is front-loaded, and every sentence adds value. Structure is clear and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description explains return format (flat Clay-ready JSON with URLs and follower counts) and covers key limitations and requirements. It provides sufficient completeness for an agent to assess the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters well. The description adds context about platform-specific limitations and default behavior but does not significantly enhance parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool maps a company's social media presence across specified platforms, returning profile URLs and follower counts. It distinguishes from siblings like 'resolve_linkedin_url' by covering multiple platforms and providing a broader scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use (need social presence data) and prerequisites (company_domain or company_name, APIFY_TOKEN, credits). However, it does not explicitly state when not to use or compare to alternative tools, missing some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_company_identityResolve Company IdentityARead-onlyIdempotent
Resolve any combination of company name, domain, or LinkedIn URL into one canonical company identity: the name, primary domain, and LinkedIn company URL, each with a 0-100 confidence score plus an overall score and a match method. Cross-checks the inputs you give it, resolves the ones you do not, and flags conflicts (a domain and a LinkedIn slug that disagree) instead of merging them. Provide at least one of company_name, domain, or linkedin_url. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| company_name | No | Company name, e.g. Stripe. Provide at least one of company_name, domain, or linkedin_url. | |
| domain | No | Bare company domain, e.g. stripe.com. The strongest canonical key when provided. | |
| linkedin_url | No | LinkedIn company URL (https://www.linkedin.com/company/stripe) or bare slug (stripe). | |
| skipCache | No | Force a fresh resolution and ignore the 7 day result cache. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds significant behavioral context: cross-checking inputs, resolving missing ones, flagging conflicts, returning confidence scores and match method, and mentioning Apify credit consumption. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences: first defines core function and output, second explains behavioral details, third covers input requirements and side effects. No unnecessary words, front-loaded with most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully explains what the tool returns (canonical identity with confidence scores and match method), how it handles conflicts, and prerequisites (APIFY_TOKEN, credit consumption). Complete for a resolution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds value by explaining the role of domain as 'strongest canonical key' and the purpose of skipCache. Overall parameter context is good but not groundbreaking beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'resolve' and the resource 'company identity', specifying it handles any combination of name, domain, or LinkedIn URL. It distinguishes from sibling tools like resolve_linkedin_url by emphasizing it resolves multiple inputs and cross-checks them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: provide at least one of the three inputs, mentions cross-checking and conflict flagging. Implies when to use (partial identity data) but doesn't explicitly list alternative tools for single-input resolution. Still clear and helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_linkedin_urlResolve LinkedIn URLARead-onlyIdempotent
Resolve a company domain or name to its LinkedIn company URL with a confidence score, firmographics, and social links as a flat, Clay-ready JSON row. Provide at least one of company_domain or company_name. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| company_domain | No | Bare company domain, e.g. stripe.com. Required if company_name is not provided. | |
| company_name | No | Company name. Required if company_domain is not provided. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true. The description adds value by specifying that the output is a flat Clay-ready JSON row and that it consumes Apify credits per call. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and each sentence adds necessary information without redundancy. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description enumerates the key outputs (confidence score, firmographics, social links) and describes the format (flat Clay-ready JSON row). It also notes prerequisites and cost, covering all relevant context for a parameter-light tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description paraphrases the schema by restating the at-least-one requirement. It adds a minor example for company_domain (e.g., stripe.com), but does not significantly enhance understanding beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('resolve') and clearly identifies the resource (company domain/name to LinkedIn URL) and output (confidence score, firmographics, social links as flat JSON row). It distinguishes from sibling tools which focus on aggregation, tech stack, or hiring signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the requirement to provide at least one of company_domain or company_name, and notes that it is read-only, requires an APIFY_TOKEN, and consumes Apify credits. This provides clear context for when to use the tool, though it does not directly compare with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_gtm_hiring_signalsScan GTM Hiring SignalsARead-onlyIdempotent
Scan company career pages to detect GTM hiring activity. Returns sales, marketing, and revenue operations job postings across Greenhouse, Lever, and Ashby as a flat, Clay-ready JSON row. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Bare company domain, e.g. stripe.com | |
| role_filter | No | Optional list of GTM role keywords to filter on. Defaults to the built-in list. | |
| ats_slug | No | Optional ATS board slug override when it differs from the domain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds that it consumes Apify credits per call and requires a token, which goes beyond annotations. No contradictions, but could mention idempotency explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, no unnecessary words, and front-loads the core action. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and no output schema, the description covers the core functionality, read-only nature, authentication (APIFY_TOKEN), resource consumption (credits), and output format (flat Clay-ready JSON row). It is mostly complete but could mention that the output is a list of scraped job postings with fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are well-documented in the schema. The description does not add extra meaning beyond what the schema provides, hence baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'scan', the resource 'company career pages', and the specific purpose 'detect GTM hiring activity'. It also lists the ATS platforms (Greenhouse, Lever, Ashby) and output format, distinguishing it from sibling tools like aggregate_gtm_signals or detect_gtm_tech_stack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is read-only and requires an APIFY_TOKEN, but does not provide explicit guidance on when to use this tool versus alternatives like aggregate_gtm_signals or when not to use it. The guidelines are implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_job_board_keywordsScan Job Board KeywordsARead-onlyIdempotent
Scan a company's job board for roles in chosen categories across Greenhouse, Lever, Ashby, Workday, and Rippling. Returns matched role counts and titles per category as a flat, Clay-ready JSON row. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| company_domain | Yes | Bare company domain, e.g. stripe.com | |
| role_categories | Yes | One or more of: GTM, Engineering, Finance, Operations, Executive, Custom. | |
| custom_keywords | No | Keyword strings to match when Custom is included in role_categories. | |
| enable_fallback | No | Fall back to a pre-indexed job database when the live ATS cascade finds nothing. | |
| previous_roles_detected | No | Comma-separated matched role titles from a previous run, to compute deltas. | |
| previous_run_date | No | ISO date of the previous run, e.g. 2026-03-15. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), description adds that it is read-only and consumes Apify credits, which is useful operational context. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and supported platforms, then output format and constraints. No wasted words, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, description sufficiently describes return format ('flat, Clay-ready JSON row' with role counts and titles). All 6 parameters are fully described in schema, and context signals indicate high schema coverage. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description summarizes the purpose of parameters ('chosen categories') but does not add significant meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verb 'scan' and resource 'job board', lists supported ATS platforms (Greenhouse, Lever, Ashby, Workday, Rippling), and describes output as 'matched role counts and titles per category as a flat, Clay-ready JSON row'. Clearly distinguishes from sibling tools like scan_gtm_hiring_signals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states read-only nature and prerequisites: 'requires an APIFY_TOKEN and consumes Apify credits per call'. Missing explicit when-not-to-use or comparison with siblings, but context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_icp_fitScore ICP FitARead-onlyIdempotent
Score a company against your ideal customer profile (ICP) using weighted signals. Returns a 0 to 100 icp_score, an A to D icp_tier, and a per-signal breakdown as a flat, Clay-ready JSON row. Define your ICP with a template, scoring_config, or plain-English icp_description (which requires llm_api_key). Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
| Name | Required | Description | Default |
|---|---|---|---|
| company_domain | Yes | The primary domain of the company to score, e.g. clay.com | |
| company_name | No | Optional display name of the company. | |
| template | No | Name of a prebuilt scoring config. | |
| scoring_config | No | JSON object of scoring weights. | |
| icp_description | No | Plain-English ICP description. Requires llm_api_key. | |
| llm_api_key | No | Your OpenAI or Anthropic key, used only with icp_description. | |
| llm_provider | No | LLM provider for icp_description: openai or anthropic. | |
| fetch_signals | No | If true, the actor fetches hiring and tech-stack signals automatically before scoring. | |
| include_explanation | No | If true, adds a score_explanation string to the output. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readonly, destructive false, idempotent, and open world. The description adds important behavioral context beyond annotations, including that it requires APIFY_TOKEN, consumes Apify credits per call, and that icp_description requires an llm_api_key. This provides a clearer picture of the tool's operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences that front-load the core purpose and output. Every sentence provides essential information without fluff, making it easy for an agent to quickly understand the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 9 parameters and no output schema, the description adequately covers key aspects: output format, ICP definition methods, auth requirements, and credit consumption. It does not detail per-signal breakdown structure or behavior when multiple input methods are used, but it is sufficiently complete for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description adds value by explaining that parameters like template, scoring_config, and icp_description are alternative ways to define the ICP, and that icp_description requires llm_api_key. This clarifies parameter dependencies and usage patterns beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scores a company against an ICP with weighted signals and specifies the exact output format including icp_score, icp_tier, and per-signal breakdown. It distinguishes itself from sibling tools like aggregate_gtm_signals by focusing specifically on ICP scoring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to define the ICP using template, scoring_config, or plain-English description, and mentions prerequisites like APIFY_TOKEN and credit consumption. However, it does not explicitly state when not to use this tool or suggest alternatives, so it is slightly lacking in exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.1.0- Added
enrich_company_firmographics - Added
get_company_changes - Added
get_funding_press_signals - Added
map_company_social_presence - Added
resolve_company_identity
6 tool updates
v1.0.3- First observed
aggregate_gtm_signals - First observed
detect_gtm_tech_stack - First observed
resolve_linkedin_url - First observed
scan_gtm_hiring_signals - First observed
scan_job_board_keywords - First observed
score_icp_fit
TDQS
There is overlap between aggregate_gtm_signals and detect_gtm_tech_stack/scan_gtm_hiring_signals, as the aggregate combines them. Additionally, scan_gtm_hiring_signals and scan_job_board_keywords both scan job boards, though one is GTM-specific and the other category-agnostic. Descriptions help differentiate but some ambiguity remains.
All six tools follow a consistent verb_noun pattern in snake_case (e.g., aggregate_gtm_signals, resolve_linkedin_url). The naming is predictable and uniform across the set.
With 6 tools, the count is appropriate for a focused read-only GTM signals suite. It covers the core tasks without being excessive, though one or two more could be justified.
The suite covers key GTM signal areas: tech stack detection, hiring signals, job board scanning, LinkedIn resolution, and ICP scoring. The aggregate tool offers a combined view. Minor gaps exist (e.g., company news), but the core workflow is well-supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
B2B lead generation, email verification, company enrichment, and agentic GTM Ops.
Run B2B outreach from your AI agent: 250+ tools for campaigns, leads, LinkedIn and email workflows.
Sales intelligence for B2B SMEs — lead scoring, ICP fit, CRM enrichment & writeback.
Cold engine for B2B founders. Detects buying signals, drafts outreach, books qualified meetings.
Related MCP Servers
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.11961MIT
- AlicenseAqualityAmaintenanceScores companies against a configurable Ideal Customer Profile using firmographic and signal data. Returns a weighted fit score with per-criterion breakdowns.11262MIT
- FlicenseNot gradedqualityCmaintenanceGive your AI agent 4 sales-timing tools: detect funding events, buying-signal hires, competitor pricing changes, and buying-intent Reddit posts. Know when to reach out, not just who.-
- AlicenseAqualityAmaintenanceEnables auditing any domain's email deliverability and DNS health, including SPF, DKIM, DMARC, MX, mail provider, DNS blacklist status, catch-all, domain age, and a deliverability score.1941MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mambalabsdev/mcp-gtm-suite'
If you have feedback or need assistance with the MCP directory API, please join our Discord server