Skip to main content
Glama

Edit an SDR search

sdr_update_search

The wizard's Edit → "Save changes": name, hunters, regions, cities, offer, ICP, decision-makers, company size, keywords, exclusions, LinkedIn queries, competitor pages, hot threshold. Partial updates; status is not touched (an active search keeps hunting with the new profile). Status changes only via sdr_activate_search / sdr_pause_search / sdr_resume_search.

Input Schema

NameRequiredDescriptionDefault
idYes
nameNo
icp_summaryNo"Who buys". The decision-makers sentence and company-size line are added automatically.
company_sizeNoe.g. "11–50 employees"; written into icp_summary as "Preferred company size: …"
hot_thresholdNo
offer_summaryNo"What you sell"
target_citiesNoOptional cities inside target_regions (use sdr_find_cities). Empty = whole countries.
decision_rolesNoDecision-maker job titles; used by Decision-maker matching and Website profile hunters
signal_weightsNo
target_regionsNoISO-2 countries or US states as CC:SUB, e.g. ['GB','US:FL']. At least one.
enabled_sourcesNoHunters to run. Omitted on create = all 24, exactly like the web wizard (includes paid engines and opt-in hunters).
relevant_topicsNo
competitor_pagesNoCompetitor LinkedIn page URLs (Competitor Engagement and Competitor Switching hunters)
exclude_keywordsNo
industry_keywordsNo
linkedin_search_queriesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changed
    • addedInput schema / properties / company_size
      Added value: +{
      +  "description": "e.g. \"11–50 employees\"; written into icp_summary as \"Preferred company size: …\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / competitor_pages
      Added value: +{
      +  "description": "Competitor LinkedIn page URLs (Competitor Engagement and Competitor Switching hunters)",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 30,
      +  "type": "array"
      +}
    • addedInput schema / properties / decision_roles
      Added value: +{
      +  "description": "Decision-maker job titles; used by Decision-maker matching and Website profile hunters",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / enabled_sources
      Added value: +{
      +  "description": "Hunters to run. Omitted on create = all 24, exactly like the web wizard (includes paid engines and opt-in hunters).",
      +  "items": {
      +    "description": "Hunter source id (see sdr_list_hunters)",
      +    "enum": [
      +      "linkedin_jobs",
      +      "linkedin_company",
      +      "linkedin_activity",
      +      "ai_web_hunter",
      +      "social_signal_hunter",
      +      "crunchbase_rss",
      +      "hn_hiring",
      +      "g2_reviews",
      +      "tech_stack",
      +      "connected_people",
      +      "email_enricher",
      +      "linkedin_engagement",
      +      "linkedin_job_change",
      +      "linkedin_competitor_followers",
      +      "cross_pool",
      +      "people_pool",
      +      "github_issues",
      +      "adzuna_jobs",
      +      "corporate_registries",
      +      "web_news_radar",
      +      "web_pulse_hunter",
      +      "google_places",
      +      "web_profile",
      +      "local_listings"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / exclude_keywords
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / hot_threshold
      Added value: +{
      +  "maximum": 100,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / icp_summary
      Added value: +{
      +  "description": "\"Who buys\". The decision-makers sentence and company-size line are added automatically.",
      +  "type": "string"
      +}
    • addedInput schema / properties / id / format
      Added value: +"uuid"
    • addedInput schema / properties / industry_keywords
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / linkedin_search_queries
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "location_hint": {
      +        "type": "string"
      +      },
      +      "query": {
      +        "type": "string"
      +      },
      +      "rationale": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "query"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • addedInput schema / properties / name
      Added value: +{
      +  "maxLength": 200,
      +  "type": "string"
      +}
    • addedInput schema / properties / offer_summary
      Added value: +{
      +  "description": "\"What you sell\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / relevant_topics
      Added value: +{
      +  "additionalProperties": {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / signal_weights
      Added value: +{
      +  "additionalProperties": {
      +    "type": "number"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / target_cities
      Added value: +{
      +  "description": "Optional cities inside target_regions (use sdr_find_cities). Empty = whole countries.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "admin1": {
      +        "type": "string"
      +      },
      +      "admin1_code": {
      +        "type": "string"
      +      },
      +      "country": {
      +        "description": "ISO-2 country code; must be one of target_regions",
      +        "maxLength": 2,
      +        "minLength": 2,
      +        "type": "string"
      +      },
      +      "lat": {
      +        "type": "number"
      +      },
      +      "lng": {
      +        "type": "number"
      +      },
      +      "name": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "country",
      +      "name"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 100,
      +  "type": "array"
      +}
    • addedInput schema / properties / target_regions
      Added value: +{
      +  "description": "ISO-2 countries or US states as CC:SUB, e.g. ['GB','US:FL']. At least one.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observed

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden and does disclose key traits: partial updates, status not being touched, and active searches continuing to hunt with the new profile. It does not cover permissions, validation failures, rate limits, or expected return behavior.

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 compact and front-loads the editable field list and the status constraint. The long field list is dense but appropriate for a complex update tool, with little obvious filler.

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

Completeness2/5

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

For a 16-parameter nested-object mutation with no annotations and no output schema, the description leaves significant gaps: the required id is not discussed, validation constraints are not mentioned, and several parameters are unaddressed. It provides useful but insufficient context for confidently invoking the tool.

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

Parameters3/5

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

The description lists many editable concepts such as regions, cities, hunters, ICP, keywords, and LinkedIn queries, which helps map schema fields to user-facing concepts. However, with 16 parameters and only 50% schema description coverage, it omits important fields like signal_weights and relevant_topics and adds little format guidance beyond the schema.

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

Purpose4/5

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

The description clearly identifies this as the edit/update operation for an SDR search and enumerates the editable profile fields. It distinguishes status handling from activation/pause/resume siblings, but it does not clearly separate this tool from related siblings such as sdr_create_search or sdr_set_hunters.

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?

It states that updates are partial and explicitly excludes status changes, routing those to sdr_activate_search, sdr_pause_search, and sdr_resume_search. It still leaves some ambiguity about when to use this tool versus narrower sibling tools like sdr_set_hunters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources