Skip to main content
Glama
compiuta-origin

Connhex MCP Server

Official

List Resources

list_resources
Read-only

Retrieve resources of a specific type from the Connhex IoT platform, with filtering, sorting, includes, and pagination.

Instructions

List resources of a given type from a JSON:API service.

Supports filtering, sorting, relationship includes, and pagination. Argument details are provided in the parameter schema.

If available, call the get_schema tool first to discover valid resource types, attributes, and relationships.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoComma-separated sort fields. Prefix a field with "-" for descending.
filterNo JSON:API filter tree. The dict is walked recursively and translated into `filter[...][...]=value` query params. Examples: {"serial": "ABC"} → exact match (default) {"serial": ["A", "B"]} → match any of A or B {"serial": {"fuzzy-match": "ABC"}} → case-insensitive prefix {"createdAt": {"min": "2024-01-01", "max": "2024-12-31"}} → range {"site": {"exists": True}} → presence check {"address.city": "Milan"} → object property (dot) {"site:name": {"fuzzy-match": "Plant"}} → related-resource property (colon) {"or": {"name": {"fuzzy-match": "x"}, "serial": {"fuzzy-match": "x"}}} → OR across fields NOTE: do not filter a relationship directly by its resource ID (for example, {"installation": "<installation-id>"} is not supported). Relationship filters must end in an actual attribute from the related resource, such as {"installation:name": "Plant A"}. When only a related resource ID is known, first call `get_resource` for it, extract a suitable attribute, then call `list_resources` with a `relationship:attribute` filter. For example: get the installation by ID, read its `name`, then list devices with {"installation:name": "<installation-name>"}. A relation path is one literal, flat dict key: use {"installation:name": "Plant A"}, never nest it as {"installation": {"name": "Plant A"}}. To verify that a match belongs to a specific related resource ID, set `include` to the relationship name (for example, `include="installation"`) and compare its returned ID. Operators: match (default, can be omitted), fuzzy-match, min, max, exists. Combinators: and (default), or — top-level only, cannot be mixed. Field names come from the schema resource.
includeNoComma-separated relationship names to include inline. Use this whenever the answer needs data from related resources: it replaces relationship references with full nested included resources and avoids a second API call. Example: to find devices for an installation, call resource_type="devices", filter={"installation:name": "Plant A"}, include="installation" so each device result includes the matched installation details.
page_limitNoNumber of results per page.
page_offsetNoPagination offset.
resource_typeYesResource type name from get_schema, e.g. "devices" or "plants".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
totalNo
has_nextYes
Behavior5/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, confirming safe read-only semantics. The description goes far beyond annotations by detailing supported capabilities (filtering, sorting, includes, pagination) and providing extensive behavioral examples, especially for filter operators and relationship handling, with explicit warnings and workarounds.

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?

The description is relatively verbose but well-structured: a clear opening purpose, followed by capabilities, then detailed parameter semantics. The inline examples and nested bullet points in the filter section are dense but necessary for precise JSON:API usage. It's front-loaded with the most important information (purpose and prerequisite call to get_schema).

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?

Given the tool's complexity (6 parameters, optional filtering, includes, pagination) and the presence of an output schema, the description is thoroughly complete. It covers all major aspects: resource type selection, filter syntax with operators and combinators, include usage, pagination control, and relationship filtering constraints with actionable workarounds.

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?

With 100% schema coverage, the baseline is 3, but the description adds substantial value. It provides concrete filter examples, pagination defaults, include usage with a real scenario, and detailed notes on relationship filtering limitations and workarounds, significantly enriching parameter understanding beyond the schema's property descriptions.

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 'List resources of a given type from a JSON:API service', identifying a specific verb and resource. It distinguishes from sibling tools like get_resource (single resource) and other list variants (list_manufacturing_resources) by its generic resource type parameter.

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 advises calling get_schema first to discover valid types and attributes, providing clear usage guidance. It doesn't explicitly exclude cases where sibling tools like list_manufacturing_resources should be used, but the context is appropriately set for the generic listing tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/compiuta-origin/connhex-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server