Skip to main content
Glama
J-MaFf

s2-netbox-mcp

by J-MaFf

find_portals

Read-only

Find portals (doors) by location or name, searching portal names, reader names, and reader descriptions. Case-insensitive matching across all terms.

Instructions

Finds portals (doors) by location or name. Portal names are site codes (e.g. 01OF05A), so this also searches each portal's reader names and reader descriptions (e.g. 'WORKSHOP TO MAINTENANCE OFFICE'). Case-insensitive; a portal matches when every whitespace-separated term appears in its name, a reader name, or a reader description. Reads every page of GetPortals and GetReaders and joins them by READERKEY. The result also lists portals with no reader description, which can only match by name.

Input Schema

NameRequiredDescriptionDefault
queryYesRequired. Search terms, e.g. "maintenance office", "electrical closet", or "01OF05".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.3

TDQS

A4.3/5.0
Behavior5/5

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

Beyond readOnlyHint=true, the description discloses substantial behavior: case-insensitivity, term-matching rules (every whitespace-separated term must appear), pagination ('reads every page'), the READERKEY join between GetPortals and GetReaders, and the edge case of portals with no reader description. This is rich context an agent cannot get from annotations.

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 in the first sentence, followed by matching semantics and implementation detail. Four sentences with little waste, though the GetPortals/GetReaders join detail is slightly deeper than most agents need for invocation.

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?

For a single-parameter read tool with no output schema, the description covers matching rules, edge cases, and data sources well. It stops short of describing the shape of returned portal records, but the matching and scoping semantics are complete enough to invoke correctly.

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?

With 1 parameter and 100% schema coverage, baseline is 3. The description adds real meaning about how the query string is interpreted (case-insensitive, multiple whitespace-separated terms, matched against three fields), which goes beyond the schema's example-only description.

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 ('Finds') and resource ('portals (doors)') and immediately clarifies that names are site codes and that the search spans reader names/descriptions. This search behavior implicitly differentiates it from the list-all sibling get_portals without needing to name it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the search mechanism (matching name/reader name/reader description) and mentions it reads GetPortals and GetReaders, implying use when you need a filtered lookup rather than a full dump. However, it never explicitly states when to use this over get_portals or names the alternative, leaving the routing decision to inference.

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