Skip to main content
Glama

little-green-light

Search constituents

lgl_search_constituents
Read-only

Search active constituents (donors, members, volunteers, organizations). Give name and/or email for the common case, or raw terms. Available term fields: name, eaddr (email contains), phone_number, street, city, state (2-letter), postal_code, country, keyword (keyword id), updated_from / updated_to (YYYY-MM-DDTHH:MM:SSZ), membership_status (0 lapsed, 1 active), membership_level (comma-separated ids), membership_end_date_from / _to (YYYY-MM-DD), external_id, constituent_type (0 individual, 1 organization), groups (comma-separated group ids), lists (comma-separated list ids), custom_attr (key|op|value). At least one term is required. LGL: GET /api/v1/constituents/search.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoAny name field contains this.
sortNoSort by name, external_id, lgl_id, date_created, date_updated, membership_level or membership_end_date_from. Append '!' to reverse (e.g. date_updated!).
emailNoEmail address contains this.
limitNoNumber of entries to return, 1-100. LGL's default is 25.
termsNoExtra raw LGL search terms, each 'field=value' (combined with AND). See the tool description for the available fields.
expandNoRelated records to include inline on each constituent.
offsetNoStart at this entry (0-based). Use the previous page's next_item. Default 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

readOnlyHint already covers the safety profile, and the description adds real behavioral context beyond it: results are limited to *active* constituents, at least one term is mandatory, and exact date formats (YYYY-MM-DDTHH:MM:SSZ vs YYYY-MM-DD) are specified. It stops short of describing return shape or result caps.

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: purpose and the common-case input pattern come first, then the reference list. The term enumeration is a dense run-on but every token is a usable field/value spec, so it earns its space despite packing a lot into one paragraph.

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?

There is no output schema, so the description should carry the burden; it covers input semantics thoroughly and the offset parameter hints at paging via 'the previous page's next_item'. It never states what a result object contains, which is the one material gap for an agent assembling a query.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so 3 is the baseline, but the description goes well past the schema by enumerating every valid `terms` field and its value grammar (0 lapsed/1 active, 2-letter state, comma-separated ids, key|op|value for custom_attr). The `terms` schema entry itself defers to this description, making it load-bearing rather than redundant.

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?

States a specific verb+resource ('Search active constituents') plus the entity types covered (donors, members, volunteers, organizations). It is clearly distinguishable from siblings like lgl_get_constituent (single fetch) and lgl_list_constituent_gifts (related records).

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?

Guides input choice explicitly: 'Give `name` and/or `email` for the common case, or raw `terms`', and states the hard prerequisite 'At least one term is required.' It does not, however, say when to prefer this over sibling search/fetch tools such as lgl_get_constituent.

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.