Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a distinct purpose: inventory retrieval, command execution via Netmiko/Serial/HTTP, config generation, and config deployment. No two tools overlap in function; the transport-specific tools are clearly differentiated.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern using snake_case (e.g., get_inventory, run_netmiko_command). The naming is predictable and self-explanatory.

    Tool Count5/5

    With 6 tools, the server is well-scoped for network automation. It covers essential operations without being bloated or insufficient.

    Completeness4/5

    The tool set covers inventory, multi-protocol command execution, config generation, and config deployment. Missing a serial config deployment tool and perhaps backup/restore, but core workflows are supported.

  • Average 4.1/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 5 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only states the tool gets data with optional filtering, but does not disclose behavioral traits like idempotency, read-only nature, or side effects. The description is minimal.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is short and front-loaded with the main action. The parameter explanation is efficient and fits in a single sentence with examples, with no unnecessary words.

    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?

    Given the tool has one optional parameter and no annotations, the description adequately covers the parameter usage. The output schema exists, so not describing return values is acceptable. Overall, it is complete enough for an inventory retrieval 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 description coverage is 0%, but the description compensates by providing concrete examples (e.g., {'name': 'router1'}) and explaining that keys match host attributes. This adds meaningful context beyond the schema.

    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 the verb 'Get' and the resource 'inventory hosts and their metadata', and mentions optional filtering. This effectively distinguishes it from sibling tools like run_netmiko_command which run commands.

    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 implies usage for retrieving inventory data with optional filters, but does not explicitly state when to use this tool versus alternatives, or provide when-not or exclusion cases.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It adds important context: sequential host processing and the physical serial port limitation. However, it omits details like authentication requirements, error handling, or side effects. The provided information is adequate but not exhaustive.

    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 fairly concise: two sentences plus a note and arg list. It front-loads the main action and resource. The arg list repeats schema info but adds examples, which is acceptable. Minor redundancy (e.g., stating 'Use:') could be trimmed, but overall it's well-structured and easy to scan.

    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?

    Given the tool's complexity (running CLI commands serially), the description covers purpose, a key behavioral trait, and basic parameter semantics. An output schema exists to document return values. However, it lacks details on error handling, prerequisites, or the exact meaning of filter_criteria. It is fairly complete but could be more robust.

    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 0%, so the description must add meaning. It explains 'command' with an example and 'filter_criteria' as a dictionary to filter hosts. This adds value beyond the bare schema, but the structure of filter_criteria is not detailed (e.g., expected keys). The description partially compensates but could be more thorough.

    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 the verb ('Run') and resource ('CLI command on devices via direct Serial connection using Netmiko'). It distinguishes from sibling tools like 'run_netmiko_command' which likely use SSH/Telnet, making the purpose specific and unambiguous.

    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 provides a key usage note about sequential processing due to serial port constraints, which is valuable. However, it does not explicitly contrast with sibling tools like 'run_netmiko_command' or 'run_http_request', nor does it state when not to use this tool. The information is helpful but leaves some decision-making to the agent.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It reveals that requests run concurrently on multiple hosts, which is a key behavioral trait. However, it does not cover error handling, authentication requirements, rate limits, or what happens on failure. The description is moderately transparent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and front-loaded. It uses a standard docstring format with an Args section, making it easy to parse. Every sentence provides useful information without redundancy.

    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?

    Given the tool has 4 parameters, an output schema (not shown), and no annotations, the description covers the essential purpose and parameter semantics. It omits behavioral details like concurrency mechanics and error responses, but the presence of an output schema reduces the need to describe return values.

    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 0%, so the description must explain parameters. It adds meaning by describing each parameter (method, path, filter_criteria, json_data) with context like 'Optional JSON payload for POST/PUT requests.' This goes beyond the schema's bare property names.

    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?

    Description clearly states the action: 'Run an HTTP API request (REST) concurrently on multiple hosts.' This distinguishes it from sibling tools like run_netmiko_command and generate_config which target network devices and config generation respectively.

    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 mentions concurrency on multiple hosts but provides no explicit guidance on when to use this tool versus alternatives. An agent must infer that HTTP APIs should use this tool, while Netmiko or serial commands are for other protocols. No when-not-to-use or prerequisite conditions are stated.

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

  • Behavior3/5

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

    With no annotations, the description must fully disclose behavior. It correctly identifies itself as a WRITE OPERATION and mentions concurrent deployment, but lacks details on side effects (e.g., whether changes are saved, rollback options, authentication requirements). This is adequate but not comprehensive.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise (5 lines), front-loads the critical 'WRITE OPERATION' tag, and uses a brief Args section. Every sentence adds value without redundancy.

    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?

    Given an output schema exists, return values are not required. The description covers purpose, usage guideline, and parameter semantics. However, for a device config modification tool, more context on safety (e.g., backup, confirmation flow) would improve completeness.

    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 description coverage is 0%, so the description compensates by explaining both parameters: 'commands' as a list of configuration commands and 'filter_criteria' as a dictionary to filter hosts. This adds meaningful guidance beyond the schema's basic type information.

    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 the tool modifies device configuration and deploys commands concurrently via Netmiko. The verb 'modifies' and resource 'device configuration' are specific, and the method 'concurrently to multiple hosts' distinguishes it from siblings like run_netmiko_command and run_serial_command.

    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 advises to confirm with the user before calling, which is a useful guideline. However, it does not explicitly compare to sibling tools or state when to use this tool versus run_netmiko_command (which likely executes single commands) or others, leaving usage context partially implied.

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

  • Behavior3/5

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

    Discloses concurrency and filter_criteria behavior (runs on all hosts if empty). However, no annotations exist, and the description does not mention error handling, timeout, or read-only nature. Adequate but not exhaustive.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Concise with three focused lines (Args format). No wasted words. Front-loads purpose and clearly separates parameter descriptions.

    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?

    Given no annotations and output schema, the description covers parameters and key behaviors. Lacks return value details but output schema likely provides them. Reasonably complete for a moderate-complexity tool.

    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 0% schema description coverage, the description adds significant meaning for all 3 parameters: command (example), filter_criteria (filtering and default behavior), use_textfsm (parsing attempt). Fully compensates for schema gaps.

    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?

    Clearly states 'Run a show command concurrently on multiple hosts via Netmiko' with specific verb, resource, and method. Distinguishes from siblings like run_netmiko_config and run_serial_command.

    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?

    Implies use for show commands, but no explicit when-to-use vs alternatives. The description notes filter_criteria behavior but lacks guidance on choosing this over run_netmiko_config or others.

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

  • Behavior4/5

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

    Discloses non-destructive nature (no deployment), available host variables, and notably what is not exposed (credentials). Missing details on error handling or throttling, but solid given no annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two focused paragraphs, no fluff, key points front-loaded. Effective use of examples for variables.

    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?

    Covers purpose, parameters, behavior, and output schema exists to explain return values. No obvious gaps.

    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 0% schema coverage, description compensates by explaining template_string as Jinja2 template with examples of available variables, and filter_criteria as filter dictionary. Filter_criteria could be more descriptive.

    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?

    Description explicitly states it generates config from a Jinja2 template and does NOT deploy, clearly distinguishing it from siblings like run_netmiko_config.

    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?

    Indicates use case (dry-runs/auditing) and non-deployment nature, but does not explicitly name alternatives like run_netmiko_config for actual deployment.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

nornir-mcp-server MCP server

Copy to your README.md:

Score Badge

nornir-mcp-server MCP server

Copy to your README.md:

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/nagayon-935/nornir-mcp-server'

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