Skip to main content
Glama

Insightly MCP by usefulapi

List or search records

insightly_list_records
Read-only

List records of one type — Contacts, Organisations, Leads, Opportunities, Projects, Tasks, Events or Notes — optionally filtered by one field value and/or last-updated time. With field_name + field_value (both required together) or updated_after_utc this uses GET //Search; otherwise GET /. Field names are Insightly's UPPER_SNAKE names, e.g. EMAIL_ADDRESS, LAST_NAME, ORGANISATION_NAME, OPPORTUNITY_STATE, LEAD_RATING, or a custom field such as Industry__c.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNoMax records to return, 1-500 (API default 100).
skipNoRecords to skip, for paging.
briefNotrue = only top-level fields (no CUSTOMFIELDS, TAGS, LINKS, ...). Smaller and faster.
objectYesRecord type.
field_nameNoField to filter on, e.g. EMAIL_ADDRESS.
count_totalNotrue = also return the total number of matching records (response becomes {total_count, items}).
field_valueNoValue the field must equal.
updated_after_utcNoOnly records updated after this time, yyyy-mm-ddThh:mm:ssZ (e.g. 2026-04-09T16:58:14Z).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

With readOnlyHint already declaring the safety profile, the description adds real behavior: the dual endpoint routing (Search vs plain GET), the constraint that field_name and field_value must be supplied together, and the UPPER_SNAKE field-naming convention including custom fields like Industry__c. It stops short of describing pagination semantics or result shape beyond the count_total mention.

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?

A single dense paragraph that front-loads the core action before the routing detail; nearly every clause carries information. It is slightly packed with the endpoint paths, but no sentence is wasted.

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 an 8-parameter listing tool with no output schema and a fully documented input schema, the description supplies the endpoint routing, filter pairing rule, and field naming plus the count_total response note. The main gap is that return shape and pagination behavior (top/skip interaction) are left implicit.

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 genuinely adds meaning: the pairing requirement for field_name/field_value, the accepted field-name format, and the custom-field example Industry__c. That goes beyond the schema's terse per-parameter text.

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?

The description gives a specific verb (list/search) and resource (records of one of eight named types), and enumerates the exact object enum values, so the agent knows precisely what it operates on. It does not, however, differentiate itself from siblings like insightly_get_record or insightly_search_by_tag, which also retrieve records, leaving that routing to inference.

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?

It clearly states the conditions that switch the tool between search and plain listing: field_name + field_value (both required together) or updated_after_utc selects GET /<Object>/Search, otherwise GET /<Object>. This is strong conditional guidance, but it never says when to prefer this tool over insightly_search_by_tag or insightly_get_record.

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.