Skip to main content
Glama

unified_search

Read-onlyIdempotent

Find content in Nextcloud apps by querying a specific provider such as files, calendar, or mail. Use filters and cursor pagination to refine results and fetch additional pages.

Instructions

Search a Nextcloud app using the Unified Search API.

Searches a specific provider (e.g. "files", "calendar", "mail", "talk-message", "contacts", "notes"). Use list_search_providers to see all available providers and their supported filters.

Results are cursor-paginated. When has_more is true, pass the returned cursor value to the next call to get more results.

Args: provider: Search provider ID (e.g. "files", "calendar", "mail"). Use list_search_providers to see available providers. term: Search query string. limit: Maximum results to return (1-25, default 25). Server may cap this further based on configuration. cursor: Pagination cursor from a previous search response. Omit for the first page. filters: Optional JSON object of provider-specific filters. Example for files: {"since": "2026-01-01T00:00:00Z", "mime": "text"} Example for talk: {"conversation": "abc123", "person": "admin"} Use list_search_providers to see supported filters per provider.

Returns: JSON object with: provider (name), entries (list of results with title, subline, attributes), has_more (boolean), and cursor (pass to next call for pagination).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
termYes
limitNo
cursorNo
filtersNo
providerYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/destructive annotations, the description discloses cursor-based pagination, the has_more flag, the need to pass the cursor back, and the server-side limit cap. This gives the agent important behavioral expectations that are not visible in the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized with an opening summary, pagination note, labeled Args section, and Returns section. Every sentence adds useful information, and the length is justified given five parameters and zero schema descriptions.

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 tool with five parameters, no schema descriptions, and no enum constraints, the description covers all invocation details: provider selection, query terms, pagination, limits, filters, and response shape. An output schema exists, but the description still explains the return fields, making the tool fully usable without external context.

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 description coverage is 0%, so the description fully compensates by explaining every parameter: provider with examples, term, limit with range/default/server cap, cursor with usage instruction, and filters with provider-specific JSON examples. This is exactly what an agent needs to construct valid calls.

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?

The description clearly states the tool searches a Nextcloud app via the Unified Search API and can target a specific provider such as files, calendar, or mail. It distinguishes itself from sibling search tools by describing its provider-based unified nature and references list_search_providers for discovery.

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?

The description gives clear context on when to use the tool and explicitly directs the agent to list_search_providers to discover available providers and filters. It does not explicitly discuss when to use alternative search tools like search_files, but the provider-specific framing makes the intended use case clear.

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

Deploy Server

Other Tools