Skip to main content
Glama

Oria CRM

Search

search
Read-onlyIdempotent

Search this agency's properties, contacts and deals by free text. Returns typed ids (property:, contact:, deal:) — pass one to fetch for the full record. Windowed, not exhaustive: properties are matched over the 100 most recently updated listings only, then title/address-filtered; deals are matched over the 50 oldest-in-stage OPEN deals only (inquiry/qualified/viewing/offer) — a won, lost or archived deal never appears here. Contacts are matched exhaustively (name/email/phone). For anything outside these windows, or an exhaustive list, call list_properties / list_contacts / list_deals directly. Never returns e-mail or phone — only fetching a contact: id does. incomplete, when present, names every kind ("properties"/"contacts"/"deals") whose own read failed — treat those kinds as not searched, not as "no matches".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds important behavior beyond annotations: results are typed ids, properties/deals are windowed rather than exhaustive, won/lost/archived deals never appear, contacts are always fully matched, email/phone are never returned, and the 'incomplete' field semantics are explicitly spelled out.

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?

The description is dense but every sentence earns its place: it states the action, the output shape, the windowing rules, the exclusions, alternative tools, and the incomplete-field contract. The most important usage constraint ('Windowed, not exhaustive') is front-loaded.

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?

There is no output schema, so the description must carry the return-format burden. It does: typed ids, incomplete-field behavior, scope limits for each record kind, and explicit exclusions. An agent has enough context to invoke this tool correctly and interpret its results.

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 description coverage is 0%, so the description must compensate. It adds that the single 'query' parameter is free text and that results are matched against names, addresses, emails, phones, and deal fields. It does not describe query syntax or case sensitivity, but for one free-text parameter this is reasonable.

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: 'Search this agency's properties, contacts and deals by free text.' It clearly distinguishes itself from sibling fetch/get/list tools by explaining it returns typed ids (property:<uuid>, contact:<uuid>, deal:<uuid>) rather than full records.

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?

The description gives explicit routing guidance: for anything outside the windowed searches, or for an exhaustive list, call list_properties / list_contacts / list_deals directly. It also tells the agent to pass a typed id to fetch for the full record, and notes that contacts are matched exhaustively while properties and deals are windowed.

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