MCP server for ICP Fit Scorer. Scores a company against your ideal customer profile with weighted signals via Apify. Returns a 0 to 100 score, a tier, and a per-signal breakdown. Clay-ready output.
ICP Fit Scorer MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server that scores a company against your ideal customer profile. It wraps the Mamba Labs ICP Fit Scorer actor on Apify and returns a Clay-ready flat JSON row to any MCP client.
What's Inside
- What it does
- Quick start
- Prerequisites
- Example prompts
- Inputs
- Output
- Example output
- Features
- Pricing
- How each call runs
- Full actor documentation
- Mamba Labs GTM Suite
- License
What it does
Give it a company domain and a definition of your ICP, and it scores the company on weighted signals, returning a 0 to 100 score, an A to D tier, and a per-signal breakdown. Define your ICP three ways: a prebuilt template, a JSON scoring config, or a plain-English description (which uses your own LLM key). Turn on fetch_signals and the actor will gather hiring and tech-stack signals for you before scoring. One flat row, ready for Clay, a CRM, or an AI agent workflow. All of the scoring runs on Apify. This package is a thin client that calls the 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:
Get your token at https://console.apify.com/account/integrations, paste it in, and restart Claude Desktop. The score_icp_fit and list_icp_templates tools will be available.
Prerequisites
- Node.js 18 or newer
- An Apify account with an API token
Example prompts
- "Score clay.com against the b2b_saas template and fetch its signals."
- "How well does stripe.com fit an ICP of mid-market fintech companies? Explain the score."
- "Score figma.com with my scoring config and include the per-signal breakdown."
- "Rate openai.com against this ICP description: enterprise AI teams hiring for go-to-market."
Inputs
Every input the tool accepts, generated from the server's own tool list.
score_icp_fit
| Input | Type | Required | Description |
| --- | --- | --- | --- |
| company_domain | string | yes | The primary domain of the company to score. Example: clay.com |
| company_name | string | no | Optional display name of the company. |
| template | one of full_signal, saas_outbound, b2b_services, fintech, smb_local, enterprise | no | Name of a prebuilt scoring config, one of the six the actor ships: full_signal, saas_outbound, b2b_services, fintech, smb_local, enterprise. Alternative to scoring_config or icp_description. Call list_icp_templates to see them. |
| scoring_config | object | no | JSON object of scoring weights. Alternative to template or icp_description. |
| icp_description | string | no | Plain-English description of your target ICP. Requires llm_api_key. Alternative to template or scoring_config. |
| llm_api_key | string | no | Your OpenAI or Anthropic API key. Required only when using icp_description. |
| llm_provider | one of openai, anthropic | no | LLM provider to use with icp_description: openai or anthropic. |
| fetch_signals | boolean | no | If true, the actor fetches hiring and tech-stack signals for the company automatically before scoring. |
| include_explanation | boolean | no | If true, adds a score_explanation string to the output describing how the score was derived. |
| tier_thresholds | object | no | Optional. Minimum score for each tier as { "tier_a": number, "tier_b": number, "tier_c": number }. Scores at or above tier_a are A, tier_b are B, tier_c are C, else D. Defaults to 80 / 60 / 40. |
| funded_within_days | integer | no | Optional. How recent a funding round must be to count for the recently_funded signal, in days. Defaults to 540 (18 months). |
| min_score_to_output | integer | no | If set, rows scoring below this threshold are skipped from output (not pushed to dataset). Skipped rows are logged only. |
| previous_score | integer | no | Previous ICP score for this company. If provided, output includes score_change and score_trend fields. |
| gtm_hiring_signal | string | no | Whether the company is actively hiring for GTM/sales roles. Accepts a boolean-like string ("true"/"false"). Sent as a string for Clay compatibility and coerced to boolean at runtime. |