Skip to main content
Glama
miradore-mcp
by ajthom90

Advanced Miradore query

query_miradore
Read-only

Perform advanced read-only queries against Miradore API v1 for items not covered by other tools, using attribute selection, filters, ordering, IDs, and paging.

Instructions

Advanced read-only query against Miradore API v1 for anything the other tools don't cover (e.g. Category, Organization, Location, InvCertificate, ConfigProfileDeployment). 'select' lists attributes using dotted paths (e.g. 'InvDevice.Model', 'User.Email'); 'filters' uses operators eq, ne, gt, ge, lt, le, contains, notcontains, startswith, endswith, isempty, notisempty joined with and/or, quoting values with spaces. 'orderby' fields must also be selected. See the Miradore API v1 specification for attribute names.

Input Schema

NameRequiredDescriptionDefault
idNoFetch a single item by ID.
itemYesItem type to query.
pageNo
rowsNo
selectNoAttributes to return. Omit for Miradore's defaults.
filtersNoFilter expression, e.g. "Platform eq iOS and LastReportedDays ge 30".
orderbyNoe.g. 'LastReported desc'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so safety is covered. The description adds real behavioural context beyond that: a query grammar (operators joined with and/or), the constraint that 'orderby' fields must also be selected, quoting rules for values with spaces, and an explicit pointer to the external API v1 spec for attribute names. It does not mention the 500-row cap or what an empty result looks like.

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 with purpose then immediately the query grammar, in one dense paragraph with no filler. It is a touch run-on (select, filters and orderby rules strung together), but every clause carries operative information for building a query.

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 42-value enum, a free-form filter grammar and no output schema, the description covers the query syntax well but defers all attribute discovery to an external Miradore API v1 specification the agent may not have. It also says nothing about response shape (item list vs single object when 'id' is set) or pagination semantics, which matter for a general-purpose query tool.

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 71%, and the description compensates for the weakest parts by explaining the dotted-path syntax for 'select', the full operator vocabulary and quoting rules for 'filters', and the 'orderby' ordering restriction. Only 'page', 'rows' and 'id' are left to the schema, and those are self-evident with defaults and bounds.

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 and resource ('Advanced read-only query against Miradore API v1') and positions itself as the catch-all for item types the specialised tools do not cover, listing examples (Category, Organization, Location, InvCertificate, ConfigProfileDeployment). An agent can tell this apart from list_devices/list_users/list_tags without opening any 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?

The fallback condition is explicit: use this for 'anything the other tools don't cover'. No exclusion is stated for the overlapping item types that ARE in the enum (Device, User, Tag, Location), so an agent has to infer when to prefer list_devices over this generic query. Clear context, but not a full when/when-not routing rule.

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