Skip to main content
Glama
Capacities MCP Server

Capacities MCP Server

Find Capacities Objects

find_objects

Locate objects of a structure in Capacities by title hint, tag, or the whole type, then filter and sort client-side on properties the API cannot search. Returns ids, titles and values, not bodies.

Instructions

Locate objects of one structure (NAME or id from get_space_info), then filter and sort client-side on properties the API cannot search. Seed by title_hint, by tag (a tag NAME), both, or neither — omit title_hint to list by tag or list the whole type. Results are limited to objects whose title contains title_hint (case, accents and punctuation ignored; it needs a letter or digit); short numeric hints also match dates ("1:1" matches 2024-11-12). A title search that returns 50 results lists the whole type instead. A listing reads up to page_budget pages of 100 (default 12, max 25) and orders candidates by the date in their title, newest first (oldest first for an ascending date sort; undated titles last), before fetch_cap (default 30, max 50) cuts them. With no filters and no sort, matches are listed without fetching each object (up to limit, default 30). Per call: at most 5 relation filters, and a call that lists makes at most 45 requests. filters are keyed by property NAME or id: a date is an absolute ISO string (a date-only value matches that day, a full timestamp that exact instant) or {after,before}; a label is an option NAME; a relation/tag is an object NAME; text/number/boolean are equals. sort is {by, order}; missing values sort last. A line starting "Note:" means the result may be incomplete; seed_complete and candidates_complete (in the result's second text block, a JSON object) say which part, and it is the full answer only when both are true and matched equals returned. Returns ids + titles + filtered/sorted values, NO bodies (use get_object); cannot follow backlinks.

Input Schema

NameRequiredDescriptionDefault
tagNoOptional. A tag NAME; lists objects of this structure carrying the tag (combine with title_hint to filter their titles).
sortNoSort by a property; missing values sort last
limitNoMax results to return after filtering
filtersNoClient-side filters keyed by property NAME or id. Date: ISO string (equals) or {after,before} (ISO range). Label: option NAME. Relation/tag: object NAME. Scalars: equals.
fetch_capNoMax candidates to fetch in stage 2 (default 30 fits one rate window; max 50 may add one ~60s wait). A call that lists gets what is left of its 45-request budget.
structureYesObject type to search — structure NAME or id (from get_space_info)
title_hintNoOptional. Title text the object's title must contain (needs at least one letter or digit). Omit to list by tag or the whole type.
page_budgetNoMax pages of 100 to list when enumerating — by tag, by the whole structure, or after a title search returns 50 (default 12, max 25)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.3.1

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full load and does so thoroughly: per-call budgets (5 relation filters, 45 requests), fallback behavior (a 50-result title search lists the whole type), ordering rules (date-in-title, newest first, undated last), and rate-window notes on fetch_cap. It even discloses partial-result signaling — the "Note:" line plus `seed_complete`/`candidates_complete` — which an agent cannot get from any structured field.

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?

Purpose is front-loaded and nearly every clause carries operational detail. The cost is a dense wall of run-on sentences with repeated defaults (page_budget/fetch_cap limits already in the schema), which makes it harder to scan than a bulleted form would be.

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 an 8-parameter tool with nested filter objects, no annotations, and no output schema, the description covers staging, budget exhaustion, result ordering, and even the shape of the second text block. An agent has everything needed to call it correctly and to interpret an incomplete result.

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 adds real meaning beyond it: title matching ignores case/accents/punctuation, requires a letter or digit, and short numeric hints match dates ("1:1" matches 2024-11-12). It also explains how page_budget and fetch_cap interact with the 45-request budget rather than just restating their defaults.

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?

Opens with a concrete verb+resource and scope: "Locate objects of one `structure`... then filter and sort client-side on properties the API cannot search." It also implicitly separates itself from body-returning siblings by stating it returns ids+titles only, so an agent can tell it apart from get_object without opening the schema.

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 explicit seeding strategies (title_hint, tag, both, neither) with the condition for each ("omit `title_hint` to list by tag or list the whole type") and routes to get_object for bodies and get_space_info for structure ids. The one gap is that the overlapping full-text sibling search_content is never mentioned, so the choice between property-filtering here versus content search must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.