Skip to main content
Glama

generate_icp

Destructive

Build ideal customer profiles with buyer personas, pain points, and LinkedIn search parameters from a target description and goal, supporting sales, hiring, partnership, and research outreach.

Instructions

Generate a rich Ideal Customer Profile with buyer personas.

The same profile describes whoever the user needs to reach: buyers,
candidates to recruit, research or user-interview participants, hiring
managers for a job search, investors or partners. Pass goal= so the
profile is of the right people.

Creates 2-4 ICP personas with pain points, fears, barriers,
LinkedIn search parameters, and confidence scores. The result
is saved and can be reused with create_campaign(icp_id=...).
Supports target audience analysis, customer segmentation, buyer persona
creation, ideal customer profiling, and B2B market research.

Args:
    target_description: Who to target (e.g., "CTOs at fintech startups",
        "freelance UX designers in London", "yoga studio owners in California")
    company_context: Optional URL or text about your company/product.
        Providing this makes the ICP more precise and evidence-backed.
    focus_query: Optional focus (e.g., "enterprise segment only",
        "focus on pain points around compliance")
    decision_makers_only: Keep every persona's seniority to people who
        hold budget authority — owner, cxo, vp, director. Default True.
        Pass False only when the target really is individual contributors
        (developers, designers, analysts); the ICP then keeps whatever
        levels the description implies. Applies only to sell, partner
        and buy; managers hire, so a job search keeps them.
    goal: What the campaign is for, which decides whose profile this is:
        "sell" (customers, the default), "job_search" (the people who hire for
        or refer into the role), "hire" (candidates), "partner" (who can sign
        a partnership or invest), "buy" (vendors), "research" (participants).
        Always pass it; a job search with goal="sell" produces peers, not
        hiring managers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
goalNosell
focus_queryNo
company_contextNo
target_descriptionYes
decision_makers_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.10.398
    • addedInput schema / properties / goal
      Added value: +{
      +  "default": "sell",
      +  "title": "Goal",
      +  "type": "string"
      +}
  2. First observedv0.10.375

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, openWorldHint=true, and destructiveHint=true. The description adds valuable behavioral context beyond that: the result is persisted ('The result is saved and can be reused with create_campaign(icp_id=...)'), and it details how decision_makers_only behaves differently across goals. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: an opening statement, a paragraph on scope and reuse, then a clear Args list. It front-loads the core purpose. However, the sentence 'Supports target audience analysis, customer segmentation, buyer persona creation, ideal customer profiling, and B2B market research.' is somewhat redundant with the opening line and adds length without new information. Still, every other sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with 5 parameters and an output schema. The description covers each parameter's meaning, provides guidance on when to pass goal, explains the saved-and-reusable output, and addresses edge cases (e.g., job search vs. sell). There is an output schema present, so return-value details are not needed. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden. It thoroughly documents all five parameters in the Args section with examples ('CTOs at fintech startups', 'freelance UX designers in London'), explains the default behavior of decision_makers_only, and clarifies the semantics of goal across six distinct use cases. This far exceeds what the bare schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Generate a rich Ideal Customer Profile with buyer personas.' It clearly states the deliverable (2-4 personas with pain points, fears, etc.) and enumerates supported use cases (target audience analysis, customer segmentation, etc.). This fully distinguishes it from sibling tools like create_campaign or update_contact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance, especially for the goal parameter: 'Always pass it; a job search with goal="sell" produces peers, not hiring managers.' It also explains the decision_makers_only flag and how company_context/focus_query improve results. It does not explicitly name alternatives or when-not-to-use scenarios, but the 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.