Skip to main content
Glama

Find companies

crm_find_companies
Read-onlyIdempotent

Search companies by name or domain, or by filters on any field, tag or custom field, or by a saved segment. Archived companies are left out unless include_archived is true. Returns a page, the total, and next_offset for the next page. Free.

Input Schema

NameRequiredDescriptionDefault
tagNoOnly records with this tag.
sortNoField to sort by, "-" first for descending, e.g. "-amount" or "renewal_date".
limitNo
queryNo
offsetNo
filtersNoConditions that must all match, e.g. [{"field": "lifecycle_stage", "op": "eq", "value": "customer"}, {"field": "renewal_date", "op": "lte", "value": "today+30"}]. field: a standard field, "tag", or a custom field key (crm_list_fields lists them all). op: eq, ne, contains, starts_with, in (value is a list), gt, gte, lt, lte, is_empty, is_set. Dates take YYYY-MM-DD or today, today+N, today-N.
segmentNoA saved segment (crm_save_segment), by name or id.
lifecycle_stageNo
include_archivedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description still adds real value beyond them: the default exclusion of archived companies, the paginated return shape (page, total, next_offset), and the cost note ('Free').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Four short sentences, front-loaded with the search modes, then the archival rule, then the return shape. No filler; each sentence carries distinct operational information.

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

Completeness4/5

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

For a read-only, zero-required-parameter list tool with no output schema, the description covers the essential contract: how to search, what is excluded by default, and what comes back including pagination. It slightly under-delivers on how offset/limit relate to next_offset and on sort/lifecycle_stage semantics.

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 only 44%, with query, limit, offset, lifecycle_stage and include_archived undocumented in the schema. The description compensates for the two most ambiguous ones by defining query as name-or-domain matching and explaining include_archived's default, though limit, offset and lifecycle_stage remain unaddressed in both places.

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?

States a specific verb (search/find) and resource (companies) and spells out the three search modes: name/domain, field/tag/custom-field filters, or a saved segment. An agent can distinguish it from crm_get_company or crm_save_company, but it never mentions the adjacent generic crm_search sibling, which risks confusion about which entry point to use.

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

Usage Guidelines3/5

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

Usage is implied by enumerating the search modes and by the archived-record rule, but there is no explicit 'use this instead of X when Y' guidance against siblings such as crm_search, crm_find_duplicates, or crm_get_company. The include_archived note is the only conditional behavior stated.

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