icp-intelligence-mcp
Server Details
ICP Intelligence: 9 ideal customer profile tools by Helix GTM Consulting
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- shashwatgtm/icp-intelligence-mcp
- GitHub Stars
- 3
- Server Listing
- ICP Intelligence MCP
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 9 tools
Each tool targets a distinct decision (prioritize accounts, map buying groups, size market, build scoring model, generate lookalike criteria), and descriptions spell out inputs and outputs clearly. The ICP cluster (icp_deep_dive, icp_gap_analysis, icp_evolution_tracker) shares vocabulary and could be confused by a fast-reading agent, but the stated inputs (best customers vs current base vs recent wins/losses) effectively separate them.
All names are snake_case descriptive noun phrases, which is fully consistent at the surface level. The pattern is noun-based rather than verb_noun, and suffixes vary between agent-nouns (analyzer, synthesizer, generator, calculator) and process nouns (deep_dive, gap_analysis, prioritization), a minor deviation from a single convention.
Nine tools is well within the sweet spot, and each maps to a distinct analytical deliverable with no filler. Nothing appears redundant enough to merge or thin enough to need padding.
The surface covers the ICP lifecycle end to end: discovery (deep_dive, interview synthesis), scoring, prioritization, buyer-group mapping, gap and evolution checks, prospecting criteria, and market sizing. Minor gaps exist around post-analysis outputs (no explicit export/CRM hand-off or messaging/positioning tool), but these are workable given the server's stated advisory, no-lookup scope.
Available Tools
9 toolsaccount_prioritizationAccount PrioritizationARead-onlyInspect
Helps you decide which accounts to work first. You give your accounts with fit, intent and relationship scores from 0 to 100 and a timing, plus optional weights. You get a ranked list from a weighted score, with a tier for each account, the points its timing earned and the factor that added the most points.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| accounts | No | List of accounts to prioritize. Each account: name, fit score (0 to 100), intent signals (0 to 100), relationship (0 to 100), timing (now, soon, later or unknown) | |
| product_category | No | Optional: what you sell (for example "spend management software"), used for sector notes. The arithmetic does not use it | |
| prioritization_weights | No | Optional custom weights in percent for fit, intent, relationship and timing. A missing weight uses its default (40, 30, 15, 15); the tool does not check that the weights sum to 100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this is a safe read-only, closed-world computation, so the lower burden applies. The description does add the output shape (weighted score, tier, timing points, top contributing factor), which is real value, but it omits what a tier actually is (thresholds) and never mentions that company/product_category only produce sector notes rather than affecting arithmetic.
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 tight sentences that front-load the purpose, then input, then output. No filler, though the conversational second-person phrasing ("You give ... You get") could be marginally more compact.
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?
There is no output schema, so the description carries the return-value burden and does so adequately, naming the ranked list, tier, timing points and dominant factor. The main remaining gap is the undefined notion of "tier" and the unmentioned sector-note behavior of company/product_category, both minor against a fully documented input schema.
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 the 0-100 ranges, defaults of 50, the timing-to-points mapping and the default weights. The description mostly restates these at a higher level ("scores from 0 to 100 ... plus optional weights") without adding syntax or edge-case guidance, so the baseline 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?
"Helps you decide which accounts to work first" names a specific decision and resource, and the second half names the concrete input (fit/intent/relationship scores plus timing and optional weights) and output (ranked list with tier). An agent can tell this is a ranking tool rather than a scoring-model or gap-analysis tool, though it never names the sibling it displaces.
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?
Usage is only implied by "decide which accounts to work first" and the requirement to supply per-account scores. There is no statement of when to prefer this over icp_scoring_model or icp_gap_analysis, and no prerequisites such as needing inputs already scored.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buyer_group_analyzerBuyer Group AnalyzerARead-onlyInspect
Helps you decide who else must agree before a deal can close. You give what you sell, the deal size, the company size, your champion and any stakeholders you know. You get a buying group map with your stakeholders placed by their titles (economic buyer, technical evaluator, reviewers, users), each role's concern and message prompts, an influence map and discovery questions, with sector roles and questions when your inputs name a supported sector. Roles from titles are hypotheses to confirm.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| deal_size | No | ACV range (e.g., "$50K-100K") | |
| business_model | No | Optional: how you charge (software subscription, services, connectivity, per transaction, marketplace, hardware plus software, or investment management). Read from your other inputs when left out | |
| product_category | Yes | What you sell | |
| typical_champion | No | Your typical champion role | |
| known_stakeholders | No | Roles you know are involved. A title suggests a role, not confirmed authority. Confirm who owns this purchase budget. | |
| target_company_size | No | Company size (e.g., "500-1000 employees") | |
| confirmed_budget_owner | No | Optional confirmed fact: the person or role who owns the budget for this purchase. Ask the user; do not infer from title. Overrides candidate ordering. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and non-destructive, so the safety profile is covered; the description adds genuine behavioral context beyond that — that titles yield hypotheses rather than confirmed authority, that sector-specific roles and questions appear only when inputs name a supported sector, that business_model is inferred from other inputs when omitted, and that confirmed_budget_owner overrides candidate ordering. It does not disclose limits of the sector library or what happens with an unsupported sector, which keeps it off a 5.
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?
Front-loaded with the decision it supports, then a compact input clause, then the output inventory — a sensible order with little waste. The middle sentence is long and carries several nested enumerations, which slightly hurts scannability but every clause conveys real 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?
There is no output schema, and the description compensates by describing the returned artifacts in prose (role placement, concerns, message prompts, influence map, discovery questions, sector augmentation). Combined with full schema coverage and read-only annotations, an agent has everything needed to invoke it correctly and interpret the result.
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 baseline is 3; the description earns above that by clarifying the dependency logic between parameters (business_model read from other inputs, confirmed_budget_owner overriding candidate ordering) and by signaling that a 'supported sector' concept gates part of the output. Those are cross-parameter behaviors the per-property schema text cannot express.
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 opening sentence states a specific decision outcome: 'Helps you decide who else must agree before a deal can close.' It then enumerates exactly what the tool produces — a buying group map with roles placed by title, per-role concerns and message prompts, an influence map, and discovery questions — which is concrete enough that an agent can tell this apart from the ICP and TAM/SAM siblings in the same family.
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 activation context ('before a deal can close' with 'what you sell, the deal size, the company size, your champion and any stakeholders you know'), which is effectively an input checklist-plus-timing signal. It stops short of naming an alternative tool or stating when not to use it, so there is no explicit routing guidance against the sibling ICP tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
icp_deep_diveICP Deep DiveARead-onlyInspect
Helps you decide which customers to go after next. You give your best customers, as a list (industry, size, contract value, sales cycle, tech stack, buying trigger, champion title) or in your own words. You get the patterns they share, with ties named as ties, the budget shown as the contract value range seen in your customers, recommendations, and sector notes when your inputs name a supported sector. It works only from what you give and looks nothing up.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| customers | No | List of customer objects with available attributes | |
| business_model | No | Optional: how you charge (software subscription, services, connectivity, per transaction, marketplace, hardware plus software, or investment management). Read from your other inputs when left out | |
| product_category | No | What type of product you sell | |
| customer_descriptions | No | Alternative: Describe your best customers in text format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description reinforces the closed-world trait in plain language: "works only from what you give and looks nothing up." It also discloses non-obvious output behavior — ties are reported as ties, budget is expressed as the observed ACV range, and sector notes appear only when a supported sector is named — which an agent could not infer from schema or 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?
Three sentences, front-loaded with the payoff and then input, output, and the closed-world caveat. Every sentence carries information, with only mild density in the long output sentence listing ties, budget, recommendations, and sector notes.
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?
With no output schema and all five parameters optional, the description carries the burden of describing return values, and it does so without needing to restate field syntax. Minor gap: it does not state what happens if customers is empty or whether one input mode is preferred when both are supplied.
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 baseline is 3; the description goes slightly beyond by enumerating the customer attributes in the order the schema defines them and by framing customers and customer_descriptions as alternative input modes rather than separate fields. It also signals that business_model can be inferred from other inputs, matching the schema note.
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 states the outcome ("decide which customers to go after next") and the mechanism (derive shared patterns from your best customers), plus what is returned: shared patterns, ties, budget range, recommendations, sector notes. It is clearly a pattern-extraction/ICP tool rather than a scoring or prioritization tool, though it never names the near-neighbor siblings like icp_scoring_model or lookalike_signal_generator to draw the boundary explicitly.
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?
It gives concrete input guidance — supply customers either as a structured list with the seven named attributes or "in your own words" — which is real usage steering. It does not say when to prefer this over icp_gap_analysis, icp_scoring_model, or account_prioritization, so tool selection among siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
icp_evolution_trackerICP Evolution TrackerARead-onlyInspect
Helps you decide whether your ICP should change after recent wins and losses. You give your current ICP, recent wins, recent losses and market changes. You get a candidate change for each (an addition to test, a disqualifier to test, an implication to check), a draft of the updated ICP, the roles your ICP does not name, the loss reasons to tag and what to pull from your CRM. It does not compute win rates; check each candidate against your CRM.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| current_icp | Yes | Your current ICP definition | |
| recent_wins | No | Description of recent successful customers | |
| time_period | No | Time period you are reviewing, in your own words (for example "last quarter") | |
| recent_losses | No | Description of recent lost deals | |
| market_changes | No | Recent market or competitive changes | |
| product_category | No | Optional: what you sell, used for sector notes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the description's job is to add context, and it does: it enumerates what comes back (a candidate change per input, a draft updated ICP, unnamed roles, loss reasons to tag, CRM pulls) and discloses the win-rate limitation. What it omits is any note on how candidates are derived or how much of the answer is generic versus input-driven.
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 sentences, front-loaded with the decision the tool supports, then inputs, then outputs, then the limitation. The middle output list is dense but each item is a distinct deliverable, so little padding is present.
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?
There is no output schema, and the description usefully compensates by enumerating the returned artifacts, which is the main completeness risk for this tool. With seven params all documented in the schema, the remaining gap is minor: no guidance on how detailed the input strings should be for good results.
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 baseline is 3. The description restates the four core inputs (current ICP, recent wins, recent losses, market changes) but says nothing about the optional company, product_category, or time_period fields, so it adds no 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 opens with a specific verb and outcome: 'Helps you decide whether your ICP should change after recent wins and losses.' That distinguishes it from siblings like icp_scoring_model or tam_sam_som_calculator, though it never explicitly names an alternative such as icp_gap_analysis, so the differentiation is inferential rather than stated.
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 trigger context is clear ('after recent wins and losses'), and the closing line sets a boundary: 'It does not compute win rates; check each candidate against your CRM.' That tells the agent what this tool will not do, but it stops short of routing to a specific sibling for the quantitative side.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
icp_gap_analysisICP Gap AnalysisARead-onlyInspect
Helps you decide whether you are selling to the customers you meant to. You give your current customer base, your ideal customer profile and, if you have them, current and target metrics. You get what the ideal profile has that the current base lacks, metric gaps from your own figures, causes to check and actions that fit your business model, with sector notes when your inputs name a supported sector.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| ideal_icp | Yes | Description of your ideal customer profile | |
| business_model | No | Optional: how you charge (software subscription, services, connectivity, per transaction, marketplace, hardware plus software, or investment management). Read from your other inputs when left out | |
| target_metrics | No | Target performance metrics | |
| current_metrics | No | Current performance metrics | |
| product_category | No | Optional: what you sell, used for sector notes | |
| current_customers | Yes | Description of your current customer base |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower; the description still adds real value by describing the shape of the answer — profile gaps, metric gaps from your own figures, causes to check, and actions matched to the business model. It also discloses a conditional behavior, that sector notes appear only when inputs name a supported sector, though it never says which sectors are supported.
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 with the intent front-loaded and no filler; the second sentence is a compact input-to-output contract. It is slightly prose-heavy ('You give... You get...') but the parallel structure aids scanning rather than hurting it.
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?
With seven parameters, nested metric objects and no output schema, the description carries the return-value burden — and it does, enumerating the four output components plus the sector-note condition. The gaps (which sectors are supported, how large an input is expected) are minor for a read-only analytical tool whose schema is fully documented.
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 baseline is a 3. The description restates that current customers, ideal ICP and optional current/target metrics are the inputs, but it adds no meaning beyond the schema for company, product_category, or the metric sub-fields, and the business_model fallback behavior is already documented in 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 states the analysis plainly: it compares a current customer base against an ideal ICP and returns the delta, metric gaps, causes and actions. The 'You give X, you get Y' framing makes the resource and the transformation clear. It does not, however, differentiate itself from close siblings like icp_deep_dive or icp_scoring_model, so an agent must infer which ICP tool to pick.
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 opening line implies the situation ('decide whether you are selling to the customers you meant to'), which is genuine usage context rather than pure restatement. But there is no explicit when-not guidance, no prerequisites, and no named alternative among the eight ICP-related siblings, so the agent is left to infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
icp_interview_synthesizerICP Interview SynthesizerARead-onlyInspect
Helps you decide what your customer interviews mean for your ICP. You give structured notes, one per interview: the customer, the role, pain points, buying triggers, value realized and key quotes. You get the pain points, objections, buying triggers, value realized and champion roles across the interviews, quotes kept word for word, discovery questions and sector notes. It does not take full transcripts; give only the points and quotes you want analyzed.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| interview_notes | No | Structured interview notes: one object per interview with the customer (company or segment), the role of the person interviewed and the points and quotes to analyze | |
| product_category | No | Optional: what you sell, used for sector notes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that by enumerating the return content (aggregated pain points, objections, buying triggers, value realized, champion roles, verbatim quotes, discovery questions, sector notes) and by stating an input limitation. It does not say whether results are deterministic or how quotes are deduplicated, which is minor for a read-only synthesis tool.
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?
Four short sentences in a clear order: purpose, input shape, output shape, input exclusion. Nothing is redundant, and the transcript warning is placed at the end where it functions as a guardrail rather than preamble.
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?
With no output schema, the description carries the burden of telling the agent what comes back, and it does so thoroughly. Input constraints and the read-only nature are covered. Slight gaps remain around volume expectations (how many interviews are useful) and output format, which an agent might want before committing to a call.
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 all three parameters are already documented, and the nested note fields are self-describing by name. The description mirrors the schema's field list (customer, role, pain points, buying triggers, value realized, key quotes) rather than adding syntax or format guidance. Baseline 3 applies since the schema does the heavy lifting.
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 states the resource and goal precisely: it turns per-interview structured notes into ICP-relevant synthesis (pain points, objections, buying triggers, champion roles). It implicitly distinguishes itself from siblings like icp_deep_dive or account_prioritization by centering on customer interviews, though it never names an alternative. The understated verb ('Helps you decide what...') is the only thing keeping this from a 5.
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?
Usage context is implied well — you supply one structured note object per interview — and one explicit exclusion is given ('It does not take full transcripts; give only the points and quotes you want analyzed'), which is genuinely useful. However, there is no guidance on when to prefer this over sibling tools such as icp_gap_analysis or icp_deep_dive, and no prerequisites or minimum interview count are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
icp_scoring_modelICP Scoring ModelARead-onlyInspect
Helps you decide which leads are worth a seller's time. You give the criteria that matter, how important each one is and, if you know it, what goes with success. You get a lead scoring template: example point weights set by importance level, example points for each value you list, a scorecard and tier bands to adjust, with sector notes when your inputs name a supported sector. Your success pattern is matched to your criteria; it does not set the weights. Ask for held-back test counts and the pre-agreed stop rule when a model has been tested.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| held_back_test | No | Optional results on deals held back before tuning. Ask for the counts and the stop rule set before the test. A missed rule holds the scoring model; do not tune on this set. | |
| product_category | No | Optional: what you sell, as a product category, so the scoring notes use your sector | |
| scoring_criteria | No | Criteria for scoring with importance levels | |
| success_correlation | No | What correlates with success? (e.g., "deals with VP Sales champion close 2x faster") | |
| correlation_direction | No | Optional confirmed direction of the success pattern. Ask the user whether the named values correlate with better or worse outcomes before filling this. Overrides word reading; unknown withholds a top-points recommendation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: sector notes appear only when inputs name a supported sector, the success pattern is matched to criteria but explicitly does not set the weights, and a missed stop rule on held-back data holds the model rather than permitting tuning.
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 'You give ... You get ...' framing front-loads inputs and outputs efficiently and every sentence maps to a real behavior. It is slightly prose-heavy and the closing sentence about held-back tests could be tightened, but there is no filler.
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?
With six parameters, a nested object and no output schema, the description compensates well by enumerating what the caller receives (weights, points, scorecard, tier bands, sector notes). The main residual gap is that the structure expected inside scoring_criteria values and criterion is left entirely to the schema.
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 carries the parameter documentation and baseline 3 applies. The description adds a little relational meaning (success_correlation is matched to scoring_criteria but does not drive weights), yet adds nothing about scoring_criteria structure, importance levels, or the held_back_test sub-fields beyond what the schema states.
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 states a concrete verb-and-output pair: given criteria, importance weights and an optional success pattern, it returns a lead scoring template with example point weights, points per value, a scorecard and tier bands. That is clearly distinct from sibling tools such as icp_gap_analysis or account_prioritization, though it never names a sibling to contrast against.
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?
Usage is implied rather than stated: you invoke it when you need a scoring model built from ICP criteria. Two useful in-flow instructions are given ('Ask for held-back test counts and the pre-agreed stop rule when a model has been tested' and 'Ask the user whether the named values correlate...'), but there is no explicit when-to-use versus the eight sibling ICP/prioritization tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookalike_signal_generatorLookalike Signal GeneratorARead-onlyInspect
Helps you decide how to find more accounts like your best ones. You give your ICP's company profile, technologies, champion titles and buying triggers, and optionally what you sell and the platforms you use. You get targeting criteria and search queries for each platform, one signal for each trigger, and search keywords from what you sell and the sector. It writes criteria, not data: it finds no companies or contacts.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| platforms | No | Optional: the sections to include (linkedin, google_ads, 6sense, zoominfo). Left out, every section is included | |
| buying_triggers | No | Events that trigger buying | |
| champion_titles | Yes | Job titles of your champions | |
| product_category | No | Optional: what you sell (for example "spend management software"), used for search keywords and sector notes | |
| icp_firmographics | No | Firmographic criteria | |
| icp_technographics | No | Technologies your ICP typically uses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint, destructiveHint=false and openWorldHint=false already supplied, the annotations cover the safety profile. The description earns credit for the explicit negative capability ('finds no companies or contacts') and for enumerating the shape of the output, plus the default that omitting platforms includes every section. It does not mention permissions, limits, or how the upstream account data is sourced, so it lands at a solid rather than rich level.
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 sentences, front-loaded with the purpose and ending on the most important constraint (no data returned). Almost every clause carries information, though the opening 'Helps you decide how to find' is slightly softer than a direct verb such as 'generates'.
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 seven-parameter tool with a nested object and no output schema, the description compensates well by describing the return values in prose (per-platform criteria and queries, per-trigger signals, keywords). Required versus optional input handling is covered, and the no-data caveat prevents the most likely misuse.
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% and every parameter, including the nested firmographics object, is documented in the schema itself. The description restates those inputs at a high level and adds a light output mapping (one signal per trigger, queries per platform), but introduces no syntax, format, or validation detail beyond the schema — so the baseline 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 states a concrete purpose: turn ICP inputs (firmographics, technographics, champion titles, triggers) into targeting criteria and per-platform search queries. The closing line 'It writes criteria, not data: it finds no companies or contacts' sharply delimits the output. It never names any of the sibling ICP tools, so an agent gets no explicit differentiation from icp_deep_dive or icp_scoring_model beyond the 'lookalike' framing.
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?
Usage is conveyed through an input/output contract ('You give ... You get ...'), which implies when the tool fits, and 'optionally' flags which inputs can be omitted. There is no explicit when-not-to-use guidance and no named alternative when the agent wants an ICP audit or scoring versus lookalike signal generation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tam_sam_som_calculatorTAM SAM SOM CalculatorARead-onlyInspect
Helps you decide how big your market is, counted bottom up. Use when someone says size my market, market sizing, or how big is my market. Before calling, ask what they sell, how many companies could buy and the annual contract value; never estimate these. Clarify what unlabelled numbers mean. You get TAM, SAM and SOM calculated from the supplied figures, not market research. Values are displayed in USD only; for rupees ask for a USD amount the user confirms, never relabel or invent a conversion. Rates use 0 to 100 percentage points: ask whether 0.2 means 0.2% or a fraction meaning 20%. Omitted rates are labelled examples.
| Name | Required | Description | Default |
|---|---|---|---|
| company | No | Optional: your company or product name, so the answer can name it | |
| data_sources | No | Where you got your numbers (for documentation) | |
| segment_name | No | Name of the market segment | |
| icp_percentage | No | Percentage of potential companies that match the ideal customer profile, from 0 to 100. A value of 0.2 means 0.2%, not 20%. Clarify fraction notation first; convert an explicitly confirmed fraction to percentage points. Omitted: 30%, labelled as an example. | |
| product_category | No | Ask what they sell before calling. Use their words for the product or service; do not invent a category. Used for context, not arithmetic. | |
| average_contract_value | Yes | Annual contract value in USD, confirmed by the user. This tool displays dollars only. Do not pass rupees as dollars or invent an exchange rate; ask for a confirmed USD amount. | |
| total_potential_companies | Yes | Number of companies that could buy, supplied by the user or a source they identify. Ask if missing; never estimate. | |
| year1_market_share_target | No | Year 1 share as percentage points from 0 to 100. Clarify fractions: 0.03 means 0.03%, not 3%. Use only a confirmed value; omitted: 3%, labelled as an example. |
Output Schema
| Name | Required | Description |
|---|---|---|
| plainText | Yes | |
| marketSizing | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/non-destructive annotations, it discloses that output is arithmetic on supplied figures rather than market research, that display is USD-only with no invented conversions, that rates are 0-100 percentage points with explicit fraction ambiguity handling, and that omitted rates fall back to labelled example defaults. These are exactly the behavioral traits an agent could otherwise get wrong.
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?
Purpose and trigger phrases are front-loaded, then sourcing rules, then unit conventions, in a logical order with no filler sentences. Some content (never estimate, USD only, fraction clarification) is repeated from the schema descriptions, which is mildly redundant but reinforces safety-critical rules.
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 read-only calculator with an output schema already defining return values, the description covers the remaining risks: input sourcing, currency constraint, percentage-point convention, and default labelling. Nothing an agent needs in order to invoke or interpret this tool correctly appears to be missing.
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 every parameter, including the 0.2-means-0.2% rule and the 30%/3% example defaults. The description largely restates those rules and adds only a general instruction to clarify unlabelled numbers, so it clears the baseline but adds limited 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?
States a specific verb and resource ('decide how big your market is, counted bottom up') and names the outputs TAM, SAM, SOM, which separates it from the ICP-centric siblings. It does not explicitly contrast itself with tools like icp_scoring_model or account_prioritization, so the differentiation is implied rather than stated.
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?
Gives explicit trigger phrases ('size my market', 'market sizing', 'how big is my market') and a pre-call checklist: ask what they sell, how many companies could buy, and the annual contract value, and never estimate these. It stops short of naming alternatives or when-not-to-use conditions, so the routing guidance is clear but not exhaustive.
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.
3 tool updates
- Changed
account_prioritization2 fields changed- changed
Input schema / properties / accounts / descriptionPrevious value: -"List of accounts to prioritize. Each account: name, fit_score (0 to 100), intent_signals (0 to 100), relationship (0 to 100), timing (now, soon, later or unknown)"New value: +"List of accounts to prioritize. Each account: name, fit score (0 to 100), intent signals (0 to 100), relationship (0 to 100), timing (now, soon, later or unknown)" - changed
Input schema / properties / accounts / items / properties / timing / descriptionPrevious value: -"now, soon, later or unknown (now 100 points, soon 70, later 40; unknown, left out or any other word 50)"New value: +"Buying horizon: now, soon, later or unknown (100, 70, 40 and 50 points respectively). Equivalent phrases are read by clause; denied or conflicting horizons remain unknown. Confirm the horizon with the user."
- Changed
buyer_group_analyzer2 fields changed- added
Input schema / properties / confirmed_budget_ownerAdded value: +{ + "description": "Optional confirmed fact: the person or role who owns the budget for this purchase. Ask the user; do not infer from title. Overrides candidate ordering.", + "type": "string" +} - changed
Input schema / properties / known_stakeholders / descriptionPrevious value: -"Roles you know are involved"New value: +"Roles you know are involved. A title suggests a role, not confirmed authority. Confirm who owns this purchase budget."
- Changed
icp_scoring_model2 fields changed- added
Input schema / properties / correlation_directionAdded value: +{ + "description": "Optional confirmed direction of the success pattern. Ask the user whether the named values correlate with better or worse outcomes before filling this. Overrides word reading; unknown withholds a top-points recommendation.", + "enum": [ + "positive", + "negative", + "unknown" + ], + "type": "string" +} - added
Input schema / properties / held_back_testAdded value: +{ + "description": "Optional results on deals held back before tuning. Ask for the counts and the stop rule set before the test. A missed rule holds the scoring model; do not tune on this set.", + "properties": { + "maximum_non_win_pass_percent": { + "maximum": 100, + "minimum": 0, + "type": "number" + }, + "minimum_win_pass_percent": { + "maximum": 100, + "minimum": 0, + "type": "number" + }, + "non_wins_passing": { + "minimum": 0, + "type": "integer" + }, + "non_wins_tested": { + "minimum": 0, + "type": "integer" + }, + "wins_passing": { + "minimum": 0, + "type": "integer" + }, + "wins_tested": { + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "wins_tested", + "wins_passing", + "non_wins_tested", + "non_wins_passing", + "minimum_win_pass_percent", + "maximum_non_win_pass_percent" + ], + "type": "object" +}
1 tool update
- Changed
tam_sam_som_calculator6 fields changed- changed
Input schema / properties / average_contract_value / descriptionPrevious value: -"Your average ACV in dollars"New value: +"Annual contract value in USD, confirmed by the user. This tool displays dollars only. Do not pass rupees as dollars or invent an exchange rate; ask for a confirmed USD amount." - changed
Input schema / properties / icp_percentage / descriptionPrevious value: -"Percentage of those companies that match your ICP, from 0 to 100. Left out, 30 is used and marked as an example"New value: +"Percentage of potential companies that match the ideal customer profile, from 0 to 100. A value of 0.2 means 0.2%, not 20%. Clarify fraction notation first; convert an explicitly confirmed fraction to percentage points. Omitted: 30%, labelled as an example." - changed
Input schema / properties / product_category / descriptionPrevious value: -"Optional: what you sell (for example \"spend management software\"), used for sector notes. The arithmetic does not use it"New value: +"Ask what they sell before calling. Use their words for the product or service; do not invent a category. Used for context, not arithmetic." - changed
Input schema / properties / total_potential_companies / descriptionPrevious value: -"Estimated total companies that could buy (from LinkedIn, industry reports)"New value: +"Number of companies that could buy, supplied by the user or a source they identify. Ask if missing; never estimate." - changed
Input schema / properties / year1_market_share_target / descriptionPrevious value: -"Realistic Year 1 market share percentage, from 0 to 100 (typically 1-5%). Left out, 3 is used and marked as an example"New value: +"Year 1 share as percentage points from 0 to 100. Clarify fractions: 0.03 means 0.03%, not 3%. Use only a confirmed value; omitted: 3%, labelled as an example." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "marketSizing": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "figures": { + "items": { + "additionalProperties": false, + "properties": { + "display": { + "type": "string" + }, + "example": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "value": { + "type": "number" + } + }, + "required": [ + "key", + "label", + "value", + "display", + "example" + ], + "type": "object" + }, + "maxItems": 3, + "minItems": 3, + "type": "array" + }, + "kind": { + "const": "market-sizing" + }, + "rates": { + "additionalProperties": false, + "properties": { + "icp": { + "maximum": 100, + "minimum": 0, + "type": "number" + }, + "share": { + "maximum": 100, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "icp", + "share" + ], + "type": "object" + }, + "targets": { + "items": { + "additionalProperties": false, + "properties": { + "display": { + "type": "string" + }, + "example": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "value": { + "type": "number" + } + }, + "required": [ + "label", + "value", + "display", + "example" + ], + "type": "object" + }, + "maxItems": 3, + "minItems": 3, + "type": "array" + } + }, + "required": [ + "kind", + "figures", + "targets", + "rates" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "unavailable" + }, + "reason": { + "type": "string" + } + }, + "required": [ + "kind", + "reason" + ], + "type": "object" + } + ] + }, + "plainText": { + "type": "string" + } + }, + "required": [ + "marketSizing", + "plainText" + ], + "type": "object" +}
1 tool update
- Changed
icp_interview_synthesizer3 fields changed- removed
Input schema / properties / analysis_focusRemoved value: -{ - "description": "Accepted but not used yet: every run gives the complete analysis (pain_points, buying_journey, value_props, all)", - "type": "string" -} - changed
Input schema / properties / interview_notes / descriptionPrevious value: -"Structured interview notes"New value: +"Structured interview notes: one object per interview with the customer (company or segment), the role of the person interviewed and the points and quotes to analyze" - removed
Input schema / properties / raw_transcriptsRemoved value: -{ - "description": "Alternative: paste interview notes or transcripts. This tool does not analyze pasted text: it shows up to 500 characters back with a template to structure them as interview_notes, which it does analyze", - "type": "string" -}
9 tool updates
- First observed
account_prioritization - First observed
buyer_group_analyzer - First observed
icp_deep_dive - First observed
icp_evolution_tracker - First observed
icp_gap_analysis - First observed
icp_interview_synthesizer - First observed
icp_scoring_model - First observed
lookalike_signal_generator - First observed
tam_sam_som_calculator
Related MCP Connectors
Revenue Enablement: 12 deal and sales enablement tools by Helix GTM Consulting
IMPACT: 8 B2B positioning and messaging tools by Helix GTM Consulting
LeadOracle - 7-tool B2B lead intel MCP: enrichment, scoring, intent signals, ICP fit.
CRAFT GTM: 8 go to market strategy tools by Helix GTM Consulting
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceSales intelligence for DACH & EU SMEs — lead scoring, ICP fit, CRM enrichment & writeback.MIT
- AlicenseAqualityBmaintenanceRevenue intelligence for complex B2B growth. Your agent builds the assets technical founders sell with, and prepares them for real buyer conversations.343,298 npm2MIT
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.21101 npm3MIT
- AlicenseNot gradedqualityDmaintenance12 MCP tools for company research, lead scoring, outreach automation, and CRM sync — Claude, GPT, Gemini, Cursor, Windsurf.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.