Skip to main content
Glama

Core Discovery over explicit candidate contexts

discover_network_candidates
Read-onlyIdempotent

Runs the real @nec/discovery discoverNetworks (classification by @nec/core only) over 1..16 EXPLICIT, complete, already-derived candidate contexts you supply (network + ResolverManifest + CapabilitySnapshot in nec-wire-json-v1 form) and Core DiscoveryRequirements. Returns the Core-built, Core-verified DiscoverNetworksResult with digests and per-candidate eligible/conditional/ineligible copied from Core. The outcome depends ONLY on the supplied snapshots; this server observes nothing and does NOT choose, rank or recommend a network. Any resolver-specific evidence preflight is external to this tool. Invalid or incoherent contexts fail closed with a coded error.

Input Schema

NameRequiredDescriptionDefault
scopeNoOptional presentation scope; removes candidates from the result, never changes a classification.
requestIdYesBecomes DiscoverNetworksResult.requestId (NEC identifier grammar, e.g. 'disc-1').
candidatesYes1..16 EXPLICIT, complete, already-derived candidate contexts. No default or demo candidates exist.
generatedAtYesExplicit result time, exactly YYYY-MM-DDTHH:mm:ss.sssZ. The server reads no clock.
requirementsYesCore DiscoveryRequirements (validated by @nec/core).

Output Schema

NameRequiredDescriptionDefault
scopeYes
schemaYes
candidatesYes
coreResultYesTHE Core DiscoverNetworksResult (nec-wire-json-v1).
networkChoiceYes
qualificationYes
liveObservationYes
coreVerificationYes
verificationContextRefsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already carry readOnlyHint, openWorldHint=false, idempotentHint and destructiveHint=false, so safety/idempotency is covered. The description adds substantive context beyond that: outcome depends ONLY on supplied snapshots, the server observes nothing, no ranking/recommendation, and invalid/incoherent input 'fails closed with a coded error'. It omits auth/rate-limit details, so not a full 5.

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-loads the core action and keeps to a single dense paragraph where each clause carries real information (scope, determinism, failure mode). It is verbose and run-on in places, but nothing is filler or tautological.

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 highly complex tool with nested objects, an output schema, and full annotation coverage, the description supplies purpose, determinism, boundary conditions, and failure semantics; the output schema covers return values. The one gap is explicit when-to-use/routing guidance against sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the 5 parameters (bounds, wire format, canonical-identity requirement, requirements semantics). The description restates the candidate composition (network + ResolverManifest + CapabilitySnapshot) and the 1..16 bound but adds little syntax or format detail beyond the schema — baseline 3.

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+resource ('Runs the real @nec/discovery discoverNetworks ... over 1..16 EXPLICIT ... candidate contexts') and names the precise output ('Core-built, Core-verified DiscoverNetworksResult with digests and per-candidate eligible/conditional/ineligible'). It also delineates what the tool is not ('observes nothing', 'does NOT choose, rank or recommend'), which separates it from ranking/selection tools.

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?

Conveys implied preconditions (candidates must be EXPLICIT, complete, already-derived; preflight is external) but never states explicitly when to call this versus its siblings (get_reviewed_evidence_case, list_network_profiles). The exclusions are negative rather than routing guidance, leaving the agent to infer the triggering context.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.