Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: checking commands, injections, paths, responses, tool names, scanning data, scanning MCP tools, and getting security status. No overlaps.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (check_*, scan_*, security_*) with underscores, making them predictable and easy to understand.

    Tool Count5/5

    With 8 tools, the count is well-scoped for a security scanning server, covering various attack vectors without being excessive or insufficient.

    Completeness5/5

    The tool set covers command safety, injection detection, file path safety, AI response safety, tool safety, sensitive data scanning, and MCP-specific security checks. No obvious gaps for the stated purpose.

  • Average 3.9/5 across 8 of 8 tools scored.

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

    • 1 of 2 community issues answered or closed in the last 6 months
    • 37 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under Apache 2.0.

  • 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.

  • This repository includes a glama.json configuration file.

  • 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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral transparency. It discloses supported rules count (37+) and language support, but does not specify return format, side effects, or behavior when injection is detected. It adds some context 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?

    Two sentences with no redundant information. The most critical capability (detect prompt injection) is front-loaded, followed by supportive details.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description lacks details about output format (e.g., boolean, score, or report) and threshold behavior beyond the schema definition. For a detection tool with no output schema, an agent would benefit from knowing what to expect upon invocation.

    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?

    The input schema has 100% coverage with descriptions for both parameters. The description adds no additional parameter-level detail beyond the schema, meeting the baseline expectation.

    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 'Detect prompt injection attempts in text,' using a specific verb (detect) and resource (text). It differentiates from sibling tools like check_command and check_path by specifying injection detection with support for Chinese and English and hidden character detection.

    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 detecting prompt injections but does not explicitly state when to use this tool versus alternatives like check_command or scan_data. No exclusions or alternative tool mentions are provided.

    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 key behavioral traits beyond missing annotations: distinguishes between 'Blocks' (hard stop) and 'flags as sensitive' (warning tier). However, omits what return value indicates allowance (boolean/object?), whether checks are cached, or what policy engine drives decisions. Adequate but not complete for a security gate with 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 sentences, zero fluff. First sentence states core function; second sentence details classification behavior. Perfect information density for the complexity level.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Adequate for a single-parameter validation tool, but lacks description of return value semantics (crucial for a boolean/policy check with no output schema). Could clarify what 'allowed' means (present in manifest vs policy-compliant).

    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 has 100% coverage with clear examples (bash, stripe_charge). Description adds semantic enrichment by mapping these examples to categories (exec/shell vs payment/transfer), helping agents understand what constitutes a sensitive tool name beyond the literal string value.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Clear verb 'Check' and resource 'tool name' with specific scope (allowed vs disallowed). Differentiates from siblings by specifying it handles payment/transfer and exec/shell categories, implying this validates tool registration/allowlisting rather than command syntax (check_command) or injection patterns (check_injection).

    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 usage through examples of blocked (payment/transfer) and flagged (exec/shell) tool categories, but lacks explicit 'when to use this vs check_command' guidance. No mention of whether this should be called before tool invocation or during setup.

    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?

    No annotations provided, so description carries full burden. Adds valuable context by enumerating specific protected resources (.aws/credentials, /etc/passwd), revealing what constitutes 'unsafe'. However, omits whether it returns boolean, risk score, or blocks operations, and doesn't clarify if validation is advisory or enforceative.

    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 efficient sentences with zero waste. Front-loaded with the core action 'Check if...', followed by specific exemplars of protected resources. Every word earns its place.

    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 2 parameters with 100% schema coverage and no output schema, description adequately covers intent and domain-specific scope (enumerating sensitive paths). Missing explicit return value semantics, but 'Protects' implies validation logic sufficient for tool selection.

    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 coverage is 100% with clear descriptions ('File path to check', 'Operation type'). Description mentions 'file path operation' which aligns with parameters but adds no syntax examples, path format requirements, or semantic details beyond the schema definitions.

    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?

    Specific verb 'Check' with clear resource 'file path operation' and scope (safety validation). Lists concrete protected targets (.env, .ssh/, etc.) that clearly distinguish it from siblings like check_command ( shell commands) and check_injection (code injections).

    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 usage context through security focus (use before write/delete operations on sensitive paths), but lacks explicit 'when to use vs alternatives' guidance comparing to sibling security tools like scan_data or security_status.

    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 successfully documents the detection scope (what patterns it recognizes) but omits behavioral details such as the return format (locations of matches? redacted text? boolean?), whether the scan is destructive or read-only, and handling of non-sensitive text.

    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 a single, dense sentence with zero waste. The colon-separated list format efficiently communicates multiple detection categories without verbosity. Information is front-loaded with the core action ('Scan text') immediately followed by the specific value proposition.

    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 input tool with no output schema, the description adequately covers the primary functional gap by enumerating detection capabilities. However, given the absence of both annotations and output schema, it should ideally describe what the tool returns (e.g., 'returns list of detected entities with positions') to complete the contract.

    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 coverage is 100% ('text' parameter is fully documented as 'Text to scan for sensitive data'). The description mentions 'Scan text' which aligns with the parameter name but does not add semantic depth beyond the schema regarding expected text length, encoding, or format requirements. Baseline 3 is appropriate given schema completeness.

    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 provides a specific verb ('Scan') and resource ('text for sensitive data'), then comprehensively enumerates detection targets including specific PII variants (Chinese ID cards, phone numbers, bank cards), credentials (API keys, passwords, private keys), and tokens (JWT). This clearly distinguishes it from sibling 'check_*' tools that likely validate commands or paths rather than performing content scanning.

    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?

    While the description does not explicitly state 'when to use vs alternatives,' the highly specific enumeration of detectable data types (SSN, credit cards, Chinese ID cards) implies the use case for PII/credential discovery in text content. However, it lacks explicit guidance distinguishing it from 'check_response' or 'security_status' for security analysis workflows.

    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, description carries full burden. It discloses return data structure (mode, layers, capabilities) but omits safety profile (read-only status), side effects, authentication requirements, or rate limits expected for a security tool. Just meets minimum by indicating retrieval scope.

    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?

    Single sentence with optimal front-loading: primary action stated immediately, followed by colon-delimited elaboration of return data components. Zero redundancy; every token earns its place.

    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 zero-parameter tool without annotations or output schema, description adequately compensates by enumerating expected return data fields (mode, active layers, detection capabilities). Missing only safety/performance caveats that would be critical for security tooling.

    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?

    Input schema contains zero parameters, establishing baseline score of 4. Description appropriately requires no parameter documentation, maintaining conciseness without repeating empty schema structure.

    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 provides specific verb 'Get' with clear resource 'ShellWard security status' and enumerates returned aspects (mode, active layers, detection capabilities). Effectively distinguishes from sibling 'check_' and 'scan_' tools by positioning this as comprehensive status retrieval versus specific security checks.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to prefer this tool over specific 'check_command', 'check_injection', or other sibling tools. Implicit distinction exists via naming and scope, but lacks explicit 'when to use' or prerequisite statements.

    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 transparency burden. It discloses detection capabilities (what patterns it finds) but omits critical behavioral traits: return value/format (boolean vs risk score?), whether the command is actually executed (presumably read-only analysis but not stated), and side effects. Adequate but missing execution safety guarantees expected for a security tool.

    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?

    Perfectly compact: two sentences with zero waste. First sentence establishes core purpose; second provides concrete scoping examples. Every word earns its place and no repetition of schema details.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter analysis tool, the description covers the input side well but has clear gaps: with no output schema provided, it fails to describe what the tool returns (safe/unsafe boolean? detailed breakdown?). Also missing explicit confirmation that this is a read-only analysis tool, which is crucial context given the sensitive nature of shell execution.

    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 100% ('The shell command to check'), setting a baseline of 3. The description adds semantic value by implying via threat examples that the parameter accepts complex shell syntax and dangerous command strings, helping the agent understand what constitutes a valid input beyond the basic string type.

    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?

    Excellent specificity: verb 'Check' + resource 'shell command' + intent 'safe to execute'. The enumerated threat examples (rm -rf, reverse shells, fork bombs, curl|sh) clearly distinguish this from siblings like check_injection or check_path by scoping it specifically to shell command safety analysis.

    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 threat examples provide implied usage context (use when validating shell commands containing these patterns), but lacks explicit guidance on when to select this over siblings like check_injection or check_path. No 'when-not-to-use' or alternative recommendations 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?

    No annotations are provided, so the description must disclose behavior. It correctly states it scans for specific issues and that rug-pull requires a server, but it does not clarify if the tool modifies anything or what happens if no server is provided.

    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 efficient sentences: first covers purpose and threats, second covers input format and optional feature. No redundancy or extra words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description lacks any mention of what the scan returns (boolean, report, etc.). Given there is no output schema, this is a notable gap. Otherwise, it covers input, optional parameters, and detection scope adequately.

    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 100%, so baseline 3. The description adds valuable context beyond the schema: 'nested parameter descriptions are scanned too' for inputSchema, 'enables rug-pull detection by fingerprinting' for server, and default threshold value.

    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 uses specific verbs ('Scan') and resources ('MCP tool definition') and lists the exact threats (tool-poisoning, rug-pull) and input format. It clearly distinguishes from siblings like check_tool, scan_data, security_status.

    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 explains when to use the tool (suspect poisoning or rug-pull) and how to enable rug-pull detection via 'server'. It does not explicitly exclude cases or mention alternatives, but the context is clear.

    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. It successfully discloses detection criteria (canary tokens, sensitive data) but omits operational details: whether read-only, what format findings take, or whether it modifies content vs. only reporting.

    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?

    Single sentence, front-loaded with action verb. Every clause serves a purpose: defining operation (Check), target (AI response), category (security issues), and specifics (canary tokens, sensitive data). Zero 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?

    Appropriate for a focused, single-parameter validation tool. The description covers functional intent and detection scope adequately. Minor gap: no output schema exists and description doesn't hint at return format, though this is less critical for a simple check operation.

    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?

    Despite 100% schema coverage (baseline 3), the description adds value by contextualizing the 'content' parameter as an 'AI response' and clarifying the security examination scope, which elevates understanding beyond the schema's generic 'Response content to check'.

    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?

    Excellent specificity: verb 'Check', resource 'AI response', and concrete detection targets 'canary token leaks and sensitive data exposure'. Clearly distinguishes from siblings like check_command (shell commands) and check_path (file paths) by specifying the AI response domain.

    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?

    Provides clear context for when to use—when analyzing AI-generated content for specific security risks (canary tokens and data exposure). Lacks explicit exclusion criteria or named alternatives, though the resource-specificity implicitly guides selection over sibling tools.

    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

shellward MCP server

Copy to your README.md:

Score Badge

shellward 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/jnMetaCode/shellward'

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