Skip to main content
Glama

CRM doorzoeken

crm_zoek
Read-onlyIdempotent

Zoek bedrijven, contacten en deals op tekst. Meerdere woorden: elk woord moet ergens matchen (voornaam, achternaam, e-mail, functie, plaats, bedrijfsnaam, domein, dealtitel), dus 'Jan Jansen' of 'jan acme' werkt. Een telefoonnummer in elke notatie (+31 6 12345678, 06-12345678) zoekt op telefoon en mobiel. Optioneel met filter/sort. Met een filter maar zonder soort worden objecten waar een filterveld niet bestaat overgeslagen (zie overgeslagen in het resultaat). Search companies, contacts and deals.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "q": "<q>"
    },
    "name": "crm_zoek"
  }
}

Input Schema

NameRequiredDescriptionDefault
qYesZoekterm
sortNoSorteerveld, formaat 'sleutel:asc' of 'sleutel:desc'.
soortNoBeperk tot één soort
filterNoFilterclausules (AND-combinatie, max 10).
limietNoMax per soort (standaard 20; hoogstens 50 met soort, 20 zonder)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds real behavior beyond that: phone numbers in any notation are normalized and matched against telefoon and mobiel, and filtering without a soort silently skips objects lacking that field, surfaced as `overgeslagen` in the result. That is a non-obvious behavioral quirk disclosed up front. It does not discuss result ordering, total counts, or cost of broad queries.

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?

Front-loaded with purpose, then matching rules, then the filter caveat — a sensible order, and every sentence carries information. The closing English sentence duplicates the already-stated purpose and the long parenthetical field list is dense, but neither is padding that obscures the guidance.

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 5-parameter search tool with no output schema, the description covers the crucial unknowns: how the free-text query maps to fields, phone normalization, and the one surprising result field (`overgeslagen`). Given that annotations carry the read-only profile and the schema documents every parameter, an agent has everything needed to call it correctly the first time.

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, and the description earns above that by explaining what `q` actually matches against, that multiple tokens are ANDed, and how `filter` interacts with `soort` (including the skip-and-report behavior). It does not elaborate on `sort` key syntax or operator availability beyond pointing at the field register, which the schema already does.

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 and three concrete resources: 'Zoek bedrijven, contacten en deals op tekst', reinforced by the English 'Search companies, contacts and deals.' It is immediately clear what the tool does, but it never contrasts itself with the sibling list/read tools (crm_bedrijven, crm_contacten, crm_deals, search, fetch), so the agent gets no explicit routing help.

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?

Gives concrete query-formation guidance: multi-word input is an AND across fields, with the matched field list enumerated (voornaam, achternaam, e-mail, functie, plaats, bedrijfsnaam, domein, dealtitel) and worked examples ('Jan Jansen', 'jan acme'). It also documents the filter-without-soort edge case. What is missing is any when-to-use-this-instead-of statement relative to the per-type listing siblings.

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