Skip to main content
Glama

Buyer Signals

Find companies with buyer signals

find_buyer_signals
Read-onlyIdempotent

Use this when the user wants companies that recently raised money or have long-open roles, such as "which software companies in Texas filed a Form D this month?" or "find companies with a bookkeeper role open 60+ days". Pass the industry, and optionally the region, the role the user's service replaces, lookback_days (1 to 60, default 14) and limit (1 to 15, default 10). Example: {"industry": "software_it", "region": "California"}. Returns companies ranked by score, each with a one-line why and dated signals linking to the SEC filing or job posting. Covers only companies that file a US SEC Form D, based in a US state or in the UK, Canada, Israel, Ireland, Singapore, Australia or Hong Kong. Funds are left out. Roles are checked only when a role is given, on the public job boards of the companies found. A Form D shows funding, not intent to buy. Not for people, contact details or a lookup of one named company, and not for public posts (use find_buying_intent).

Input Schema

NameRequiredDescriptionDefault
roleNoThe job your service replaces or supports, such as "bookkeeper" or "customer support". When given, the public Greenhouse, Lever and Ashby boards of the companies found are checked for matching roles open 60 or more days
limitNoHow many companies to return (default 10)
regionNoWhere the company is based, such as "California" or "TX". Accepts any US state (name or two-letter code), "US", United Kingdom, Canada, Israel, Ireland, Singapore, Australia, Hong Kong, in any case. Anything else returns unknown_region with the list. Leave out to search everywhere
industryYesThe buyer's industry. Example call: {"industry": "software_it", "region": "California"}. software_it covers software, SaaS, IT and AI; business_services covers agencies, consultancies and staffing
lookback_daysNoHow many days back to look for filings (default 14)

Output Schema

NameRequiredDescriptionDefault
as_ofYesISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch.
leadsYes
noticeYesWhat a Form D does and does not show. Pass it on
regionYesThe region searched, by its full name, or null for everywhere
sourceYesWho the data comes from, to cite and to check it against.
statusYesok: leads found. no_data: no operating company matched; message says what to widen. unavailable: SEC EDGAR could not be read; retry in a few minutes
windowYesFiling dates searched (YYYY-MM-DD)
messageNoPresent when status is not ok, when fewer companies than limit came back (and why), or when a role search found no job board: what happened and the next step, such as a longer lookback_days, a wider region or another tool
sourcesYesSources read for this answer
industryYes
open_rolesYesWhat the job-board check covered. role is null when no role was given and no board was read
off_industryNoFilers left out because the name says a holding or investment vehicle, or, for software_it, another trade such as logistics or medical
filings_foundYesForm D filings the SEC search matched in the window, before funds were left out
companies_checkedYesFilings whose offering document was read, at most 15, the newest of each day first so they cover the window. Say this number in the answer

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / companies_checked / description
      Previous value: -"Newest filings whose offering document was read, at most 12. Say this number in the answer"New value: +"Filings whose offering document was read, at most 15, the newest of each day first so they cover the window. Say this number in the answer"
    • changedOutput schema / properties / message / description
      Previous value: -"Present when status is not ok: what happened and the next step, such as a longer lookback_days or a wider region"New value: +"Present when status is not ok, when fewer companies than limit came back (and why), or when a role search found no job board: what happened and the next step, such as a longer lookback_days, a wider region or another tool"
    • addedOutput schema / properties / off_industry
      Added value: +{
      +  "description": "Filers left out because the name says a holding or investment vehicle, or, for software_it, another trade such as logistics or medical",
      +  "type": "integer"
      +}
  2. Changed4 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "industry": "software_it",
      +    "lookback_days": 14,
      +    "region": "Texas"
      +  }
      +]
    • changedOutput schema / properties / as_of / description
      Previous value: -"Date of this answer (UTC, YYYY-MM-DD)"New value: +"ISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch."
    • addedOutput schema / properties / source
      Added value: +{
      +  "description": "Who the data comes from, to cite and to check it against.",
      +  "properties": {
      +    "name": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "name",
      +    "url"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "industry",
      -  "region",
      -  "window",
      -  "filings_found",
      -  "companies_checked",
      -  "open_roles",
      -  "leads",
      -  "sources",
      -  "as_of",
      -  "notice"
      -]New value: +[
      +  "status",
      +  "industry",
      +  "region",
      +  "window",
      +  "filings_found",
      +  "companies_checked",
      +  "open_roles",
      +  "leads",
      +  "sources",
      +  "as_of",
      +  "notice",
      +  "source"
      +]
  3. Changed31 schema fields changed
    • changedInput schema / properties / industry / description
      Previous value: -"The buyer's industry: software_it (software, SaaS, IT, AI), telecom, biotech_pharma, healthcare, business_services (agencies, consultancies, staffing), manufacturing, retail_consumer, construction, real_estate, energy, environmental, agriculture, mining or travel_hospitality"New value: +"The buyer's industry. Example call: {\"industry\": \"software_it\", \"region\": \"California\"}. software_it covers software, SaaS, IT and AI; business_services covers agencies, consultancies and staffing"
    • changedInput schema / properties / region / description
      Previous value: -"Where the company is based: any US state (name or two-letter code), \"US\", United Kingdom, Canada, Israel, Ireland, Singapore, Australia, Hong Kong. Leave out to search everywhere"New value: +"Where the company is based, such as \"California\" or \"TX\". Accepts any US state (name or two-letter code), \"US\", United Kingdom, Canada, Israel, Ireland, Singapore, Australia, Hong Kong, in any case. Anything else returns unknown_region with the list. Leave out to search everywhere"
    • addedInput schema / properties / region / examples
      Added value: +[
      +  "California",
      +  "TX",
      +  "US",
      +  "United Kingdom"
      +]
    • changedInput schema / properties / role / description
      Previous value: -"The job your service replaces or supports, such as \"bookkeeper\" or \"customer support\". When given, public job boards of the companies found are checked for matching roles open 60 or more days"New value: +"The job your service replaces or supports, such as \"bookkeeper\" or \"customer support\". When given, the public Greenhouse, Lever and Ashby boards of the companies found are checked for matching roles open 60 or more days"
    • addedOutput schema / properties / as_of / description
      Added value: +"Date of this answer (UTC, YYYY-MM-DD)"
    • addedOutput schema / properties / companies_checked / description
      Added value: +"Newest filings whose offering document was read, at most 12. Say this number in the answer"
    • addedOutput schema / properties / filings_found / description
      Added value: +"Form D filings the SEC search matched in the window, before funds were left out"
    • addedOutput schema / properties / leads / items / properties / company / description
      Added value: +"Company name as filed with the SEC"
    • addedOutput schema / properties / leads / items / properties / location / description
      Added value: +"City and state or country from the filing"
    • addedOutput schema / properties / leads / items / properties / rank / description
      Added value: +"Position by score, 1 is the strongest"
    • addedOutput schema / properties / leads / items / properties / rank / minimum
      Added value: +1
    • addedOutput schema / properties / leads / items / properties / score / description
      Added value: +"50 to 115, higher is a stronger signal: 50 for the filing, up to 20 for a fresh filing, up to 15 for a large raise, 5 for a company 2 years old or less, up to 25 for long-open roles"
    • addedOutput schema / properties / leads / items / properties / score / maximum
      Added value: +115
    • addedOutput schema / properties / leads / items / properties / score / minimum
      Added value: +50
    • addedOutput schema / properties / leads / items / properties / signals / description
      Added value: +"The form_d filing first, then any open roles"
    • addedOutput schema / properties / leads / items / properties / signals / items / properties / date / description
      Added value: +"Day the filing was made or the role was first published (YYYY-MM-DD)"
    • addedOutput schema / properties / leads / items / properties / signals / items / properties / detail / description
      Added value: +"One line on the signal: the raise and amount sold for a form_d, or the job title, days open and location for an open_role"
    • addedOutput schema / properties / leads / items / properties / signals / items / properties / type / description
      Added value: +"form_d: an SEC Form D filing. open_role: a matching job posting open 60 or more days"
    • addedOutput schema / properties / leads / items / properties / signals / items / properties / url / description
      Added value: +"Link to the SEC filing or the job posting. Give it with the company"
    • addedOutput schema / properties / leads / items / properties / signals / minItems
      Added value: +1
    • addedOutput schema / properties / leads / items / properties / why / description
      Added value: +"One line on why the company is listed: the filing date, the offering size and any open roles"
    • addedOutput schema / properties / message / description
      Added value: +"Present when status is not ok: what happened and the next step, such as a longer lookback_days or a wider region"
    • addedOutput schema / properties / notice / description
      Added value: +"What a Form D does and does not show. Pass it on"
    • addedOutput schema / properties / open_roles / description
      Added value: +"What the job-board check covered. role is null when no role was given and no board was read"
    • addedOutput schema / properties / open_roles / properties / boards_found / description
      Added value: +"Public boards found for those companies"
    • addedOutput schema / properties / open_roles / properties / companies_checked / description
      Added value: +"Companies whose boards were read, at most 6"
    • addedOutput schema / properties / open_roles / properties / min_days / description
      Added value: +"Days a role must have been open to count"
    • addedOutput schema / properties / region / description
      Added value: +"The region searched, by its full name, or null for everywhere"
    • addedOutput schema / properties / sources / description
      Added value: +"Sources read for this answer"
    • addedOutput schema / properties / status / description
      Added value: +"ok: leads found. no_data: no operating company matched; message says what to widen. unavailable: SEC EDGAR could not be read; retry in a few minutes"
    • addedOutput schema / properties / window / description
      Added value: +"Filing dates searched (YYYY-MM-DD)"
  4. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  5. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  6. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive, so the safety profile is covered; the description still adds substantial behavior: coverage is restricted to SEC Form D filers in a fixed set of countries, funds are excluded, an invalid region yields unknown_region with the list, and a caveat that a Form D shows funding rather than purchase intent. It stops short of discussing rate limits or result pagination/caps beyond the limit parameter.

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?

Dense but well ordered: trigger and examples first, then parameter guidance, then return shape, then scope caveats, then exclusions. Every sentence carries information, though the single block runs long and the eligibility list (countries, funds excluded) could be tightened without losing meaning.

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?

For a five-parameter, open-world discovery tool with an output schema, the description covers the full decision surface: eligibility scope, conditional role-check behavior, invalid-region failure mode, and a pointed caveat about what the signals do and do not imply. Nothing an agent needs in order to select or call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds usage meaning the schema does not: 'role' is framed as the job the user's service replaces (helping the agent derive a value the user never states explicitly), and lookback_days/limit defaults are restated alongside an illustrative full call. This is genuinely helpful framing rather than duplication.

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?

Opens with a specific verb and resource ('find companies with buyer signals') and grounds it in two concrete user phrasings (Form D filing, 60+ day open role). The scope limits (SEC Form D filers only, eight named jurisdictions plus US states, funds excluded) let an agent tell immediately whether this tool applies, and the sibling find_buying_intent is named as the thing it is not.

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

Usage Guidelines5/5

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

Explicit trigger ('use this when the user wants companies that recently raised money or have long-open roles'), explicit exclusions ('Not for people, contact details or a lookup of one named company, and not for public posts'), and an explicit routing instruction to find_buying_intent. Conditional behavior is also stated: roles are only checked when a role is supplied.

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.