Skip to main content
Glama

Sellsy MCP by usefulapi

Search contacts

sellsy_search_contacts
Read-onlyIdempotent

Search contacts by last name, email, phone, linked company or individual, creation date. Needs contacts.read.

Input Schema

NameRequiredDescriptionDefault
embedNoRelated objects to include (each may need an extra scope and is null without it), e.g. ["invoicing_address","main_contact","cf.1542"].
fieldNoOnly return these fields, e.g. ["id","name"] or ["address.id"], to keep replies small.
limitNoRecords per page, 1-100 (default 25).
orderNoSort field: id, name, created_at.
offsetNoPaging cursor. Leave out for the first page. If the previous reply's pagination.offset is a string, pass it back unchanged for the next page. Only a number sets numeric paging: then pass the previous offset plus limit (0, 25, 50, ... for limit 25) until count is below limit.
filtersNoSearch filters as an object. Unknown keys are refused by Sellsy. Keys: last_name, email, phone_number, mobile_number, companies [company ids], individuals [individual ids], id [ids], is_linked (bool), country_code, postal_code [..], created {start,end} ISO date-times, updated {start,end} ISO date-times.
directionNoSort direction (default asc).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds the required OAuth scope ('contacts.read'), which is genuinely extra value, but says nothing about pagination, result caps, or matching semantics (exact vs partial) beyond what the schema documents.

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?

Two tight sentences with the searchable scope front-loaded and the auth requirement trailing. Nothing is wasted, though the brevity leaves room to add sibling routing without bloat.

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

Completeness3/5

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

For a read-only search with full schema and annotations, purpose and permission are covered. The remaining ambiguity—how it differs from list_contacts and from the generic search tool, and whether filters are exact-match or fuzzy—is not addressed.

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?

Schema description coverage is 100% and the schema itself details filters keys, cursor paging, embed and field projection. The description's list of searchable criteria mirrors the filters description rather than adding syntax or constraints, so it earns baseline credit only.

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 resource ('Search contacts') and enumerates the searchable criteria, so the agent knows exactly what can be matched. It does not distinguish itself from sellsy_list_contacts or the generic sellsy_search, which a competent agent would want to know before choosing.

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?

'Needs contacts.read' gives a useful prerequisite for calling it, and the listed criteria imply when filtering is appropriate. However, there is no explicit statement of when to prefer this over sellsy_list_contacts (unfiltered listing) or sellsy_search.

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.