An MCP Server for interacting with Juniper's public Pathfinder APIs (https://apps.juniper.net). Provides access to JUNOS CLI commands, hardware compatibility information, and feature support across Juniper device models and software versions.
This server has 18 well-defined read-only tools with consistent structure. All tools have descriptions (ranging 30-80 chars) and explicit input schemas with types. However, there are systematic issues: (1) Most parameter descriptions are minimal (10-20 chars), failing the 20-char threshold for meaningful guidance. (2) No output schemas are documented, LLMs must infer what fields will be returned. (3) Three tools have identical or near-identical descriptions ('Get the list of platforms that support the component' appears on tools 17-18, creating ambiguity). (4) Error handling is generic (CliExplorerResponse with success/error fields) but provides no recovery guidance. (5) Parameter naming is inconsistent: some use 'junos_os_type' while others use 'model' or 'component_name', mixing conventions across the tool suite. Tools are all READ_ONLY and stateless, which is positive. The fastmcp framework registration is clean and visible. Overall definition quality is moderate, solid structure, weak parameter documentation and output clarity.
Get the list of all component categories.
Get the list of all components in a category.
Get the details of a specific component.
Get the list of models that support the component.
Get list of platforms on which a component is supported.
Get the list of models that support the component.
Fetch the details of a specific feature.
Duplicate/ambiguous descriptions: Tools 16-18 have identical or near-identical descriptions ('Get the list of platforms...'). LLMs cannot distinguish which to call.
Parameter descriptions are minimal (10-20 chars), below the 20-char baseline for meaningful LLM guidance. E.g., 'The category key identifier' (30 chars) and 'The component name' (18 chars) lack context on format or valid values.
No output schemas documented. LLMs cannot infer what fields will be returned (e.g., does feature_tree return features[], feature_map{}?). Responses wrap all data in a generic CliExplorerResponse(success, error, response) envelope.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 38 | - | v1 |
Fetch the feature tree, including all features and their keys.
Fetch the features for a given model on a specific release.
Fetch the models supported for the given JUNOS OS type and version.
Get the list of platforms that support the component.
Get the list of platforms that support the component.
Get the list of all platforms grouped by family.
Fetch the releases compatible with the given model.
Search for JUNOS CLI commands by keywords.
Fetch the list of all supported software releases.
Get the full topic (top level cli commands) hierarchy.
Get the full list of topics (top level cli commands).
Generic error handling: All tools return success/error flags with no recovery guidance. Errors like 'Empty response from API' or raw response.text do not tell the LLM what to do next (retry, skip, ask user, etc.).
Inconsistent parameter naming conventions: 'junos_os_type' vs 'model' vs 'component_name' vs 'category_key' vs 'platform'. Mixed naming forces LLMs to reason about field mappings across tools, increasing error rates.
Default pagination (page_size=100) on search tool may return 100s of results. No guidance on max safe limit or context window impact. Baseline pattern recommends capping at 20-50 and documenting the limit.
Three tools (16-18) have identical descriptions but different purposes (components_for_platform, platform_hardware_details, platform_information). Renaming and clarifying descriptions is critical to prevent wrong tool selection.