Skip to main content
Glama
EaveLuo
by EaveLuo

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose targeting specific resources like system info, containers, images, files, or certificates. There is no overlap in functionality—each tool name precisely indicates what it operates on, eliminating any ambiguity for agent selection.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern, primarily using 'list_' for retrieval operations and specific verbs like 'get_', 'pull_', 'restart_', 'start_', and 'stop_' for other actions. This uniformity makes the tool set predictable and easy to navigate.

    Tool Count5/5

    With 15 tools, the server is well-scoped for managing a 1Panel system, covering key areas like system monitoring, Docker container management, app handling, and file/certificate operations. Each tool earns its place without feeling excessive or insufficient for the domain.

    Completeness4/5

    The tool set provides comprehensive coverage for monitoring and managing a 1Panel system, including CRUD-like operations for containers (start, stop, restart) and listing various resources. Minor gaps exist, such as no tools for creating or deleting containers, images, or certificates, but agents can still perform core workflows effectively.

  • Average 2.5/5 across 15 of 15 tools scored. Lowest: 1.3/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • 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

  • Behavior1/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. 'List files' reveals nothing about permissions needed, whether it's read-only or has side effects, pagination behavior, rate limits, error conditions, or output format. For a tool with no annotation coverage, this is completely inadequate behavioral transparency.

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

    Conciseness2/5

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

    While technically concise with just two words, this is under-specification rather than effective conciseness. The description doesn't earn its place by providing meaningful information beyond the tool name. It's front-loaded only in the trivial sense that there's nothing to load.

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

    Completeness1/5

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

    Given the tool has no annotations, no output schema, and 0% schema description coverage, the description 'List files' is completely inadequate. It doesn't explain what the tool does beyond the obvious, provides no behavioral context, no parameter guidance, and no differentiation from sibling tools. This leaves the AI agent with insufficient information to use the tool correctly.

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

    Parameters1/5

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

    The input schema has 1 parameter with 0% description coverage, and the tool description provides no information about the 'path' parameter. There's no indication of what the path represents (absolute vs relative, directory vs file path, supported formats), what happens if the path doesn't exist, or whether wildcards are supported. The description fails to compensate for the complete lack of schema documentation.

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

    Purpose2/5

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

    The description 'List files' is a tautology that essentially restates the tool name. While it indicates a listing operation, it doesn't specify what kind of files, from what system, or with what scope. Compared to sibling tools like 'list_containers' or 'list_databases', this lacks differentiation about what resource domain it operates on.

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

    Usage Guidelines1/5

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

    The description provides no guidance on when to use this tool versus alternatives. With multiple sibling listing tools (list_containers, list_databases, list_images, etc.), there's no indication whether this is for general file system files, specific file types, or particular contexts. No prerequisites, exclusions, or comparative context is mentioned.

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

  • Behavior1/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 of behavioral disclosure. 'List databases' gives no information about whether this is a read-only operation, what permissions are required, whether it's destructive, what format the output takes, or any rate limits. The description fails to provide any behavioral context beyond the basic action implied by the name.

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

    Conciseness3/5

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

    The description is extremely concise at just two words, which could be appropriate if it were more informative. However, this brevity comes at the cost of being under-specified rather than efficiently informative. While it's front-loaded (there's only one phrase), it doesn't earn its place by providing sufficient value.

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

    Completeness1/5

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

    For a tool with one required parameter (0% schema coverage), no annotations, no output schema, and multiple sibling listing tools, the description is completely inadequate. It doesn't explain what the tool returns, how to use the parameter, what systems it interacts with, or how it differs from other listing operations. The description fails to provide the context needed for effective tool selection and invocation.

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

    Parameters1/5

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

    The description provides zero information about the single required parameter 'type'. With 0% schema description coverage and no parameter information in the description, the agent has no semantic understanding of what the parameter means or how to use it. The description doesn't even acknowledge that parameters exist, let alone explain their purpose.

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

    Purpose2/5

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

    The description 'List databases' is a tautology that merely restates the tool name without adding any meaningful context. It doesn't specify what kind of databases, from what system, or with what scope. While it includes a verb ('List') and resource ('databases'), it lacks the specificity needed to distinguish it from potential sibling tools or understand its exact function.

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

    Usage Guidelines1/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for usage, or comparison to sibling tools like 'list_composes' or 'list_containers'. There's no indication of when this tool is appropriate versus other listing tools available on the server.

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

  • Behavior1/5

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

    The description provides zero behavioral information beyond the basic action implied by 'List.' With no annotations provided, the description carries the full burden of disclosure but fails to mention anything about permissions needed, rate limits, pagination behavior, format of returned data, or whether this is a read-only operation. For a tool with zero annotation coverage, this represents a complete failure to provide necessary behavioral context.

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

    Conciseness3/5

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

    The description is extremely concise at just two words, but this brevity comes at the cost of meaningful information. While it's front-loaded (the entire description is the first and only phrase), it's arguably under-specified rather than efficiently concise. The minimal length doesn't earn its place with useful content beyond the tool name itself.

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

    Completeness1/5

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

    Given the lack of annotations, no output schema, and a description that provides only the most basic action statement, this description is completely inadequate. For a tool that presumably returns some kind of listing data, the description should explain what 'app store' means in this context, what format the listing takes, and any important behavioral characteristics. The current description leaves the agent guessing about fundamental aspects of the tool's 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?

    The tool has zero parameters (schema description coverage is 100%), so there are no parameters requiring semantic explanation. The description doesn't need to compensate for any parameter documentation gaps. A baseline score of 4 is appropriate since there are no parameters to document, though the description could theoretically mention that no parameters are required.

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

    Purpose2/5

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

    The description 'List app store' is a tautology that essentially restates the tool name, providing no additional specificity about what the tool actually does. It doesn't specify what 'app store' refers to, what kind of listing is performed, or what information is returned. While it includes a verb ('List') and resource ('app store'), it lacks meaningful differentiation from sibling tools like 'list_installed_apps' or 'list_files'.

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

    Usage Guidelines1/5

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

    The description provides absolutely no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, nor does it reference any sibling tools. With multiple listing tools available (list_certificates, list_containers, list_databases, etc.), the agent receives no help in selecting this specific tool for listing app store content.

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

  • Behavior1/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 of behavioral disclosure. 'List websites' doesn't reveal any traits such as whether this is a read-only operation, if it requires permissions, what the output format might be, or if there are rate limits. This leaves the agent with minimal actionable information.

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

    Conciseness2/5

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

    While 'List websites' is concise, it's under-specified rather than efficiently structured. A single phrase doesn't provide enough context to be helpful, and it lacks front-loaded critical information that would aid an agent in understanding the tool's scope or usage.

    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?

    Given the lack of annotations and output schema, the description is incomplete for a tool that likely returns a list of websites. It doesn't explain what 'websites' means in this context, the format of the output, or any behavioral aspects, leaving significant gaps for the agent to infer.

    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?

    The input schema has 0 parameters with 100% coverage, meaning there are no parameters to document. The description doesn't need to add parameter semantics, so it meets the baseline of 4 for tools with no parameters, as it doesn't introduce confusion or omissions in this area.

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

    Purpose2/5

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

    The description 'List websites' is a tautology that merely restates the tool name without adding specificity. It doesn't clarify what 'websites' refers to (e.g., hosted sites, configured domains, or something else) or distinguish this tool from siblings like 'list_files' or 'list_containers', which could also involve web-related resources.

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

    Usage Guidelines1/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention context, prerequisites, or exclusions, and with siblings like 'list_files' and 'list_containers' that might overlap in functionality, this lack of differentiation is a significant gap.

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

  • Behavior1/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 of behavioral disclosure. It only states the action 'get' without detailing traits such as read-only status, authentication needs, rate limits, or output format. This is inadequate for a tool with zero annotation coverage.

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

    Conciseness3/5

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

    The description is extremely concise ('Get system info'), which is efficient but under-specified. While it avoids waste, it lacks necessary detail for clarity and completeness, making it more of an under-specification issue than optimal conciseness.

    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?

    Given the complexity of system information retrieval, the description is incomplete. With no annotations, no output schema, and minimal description, it fails to provide enough context for effective use, such as what data is returned or how it differs from similar tools.

    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?

    The tool has 0 parameters with 100% schema description coverage, so no parameter information is needed. The description does not add semantics beyond the schema, but this is acceptable as the baseline for zero parameters is 4, given no compensation is required.

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

    Purpose2/5

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

    The description 'Get system info' restates the tool name 'get_system_info' with minimal elaboration, making it tautological. It specifies the verb 'get' and resource 'system info' but lacks detail on what 'system info' entails (e.g., hardware, software, configuration) or how it differs from siblings like 'get_system_monitor', resulting in vague differentiation.

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

    Usage Guidelines1/5

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

    No guidance is provided on when to use this tool versus alternatives. The description does not mention context, prerequisites, or exclusions, and it fails to reference sibling tools like 'get_system_monitor' for comparison, leaving the agent without usage direction.

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

  • Behavior1/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 of behavioral disclosure. 'List installed apps' implies a read-only operation but doesn't specify any behavioral traits such as permissions required, output format, whether it's real-time or cached data, or any rate limits. This is inadequate for a tool with zero annotation coverage.

    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 extremely concise with just three words, front-loaded with the core action. There is no wasted language or unnecessary elaboration, making it efficient for quick understanding, though this conciseness comes at the cost of detail.

    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?

    Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'installed apps' entails, how results are returned, or any behavioral context. For a tool with no structured data to rely on, this minimal description leaves significant gaps in understanding its functionality and use.

    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?

    The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter semantics, so it meets the baseline expectation. No parameters are present to require explanation beyond what the schema provides.

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

    Purpose2/5

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

    The description 'List installed apps' is a tautology that essentially restates the tool name 'list_installed_apps'. It provides the basic verb+resource but lacks specificity about what 'installed apps' means in this context (e.g., system applications, user applications, containerized apps) and doesn't distinguish it from sibling tools like 'list_app_store' or 'list_containers' that might overlap conceptually.

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

    Usage Guidelines1/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, and doesn't reference sibling tools like 'list_app_store' (which might list available apps) or 'list_containers' (which might list containerized apps), leaving the agent to guess based on tool names alone.

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

  • Behavior1/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure but offers none. It doesn't indicate whether this is a destructive operation, what permissions are required, whether it's synchronous/asynchronous, what happens to container data, or what errors might occur. For a mutation tool with zero annotation coverage, this is a critical gap in transparency.

    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 extremely concise at just three words, with zero wasted language. It's front-loaded with the core action and resource. For a simple tool like this, such brevity is appropriate and efficient.

    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?

    Given this is a mutation tool with no annotations, no output schema, and minimal parameter documentation, the description is incomplete. It doesn't explain what happens during restart, what the tool returns, error handling, or dependencies. The agent lacks sufficient context to use this tool effectively beyond the basic action implied by the name.

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

    Parameters2/5

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

    The schema has 0% description coverage, so the single parameter 'id' is completely undocumented in the schema. The description adds no information about this parameter—what format the ID should be, where to find it, or examples. While there's only one parameter, the description fails to compensate for the schema's lack of documentation.

    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?

    The description clearly states the action ('Restart') and target resource ('a container'), making the purpose immediately understandable. It distinguishes from siblings like 'start_container' and 'stop_container' by specifying a restart operation rather than start/stop. However, it doesn't specify whether this restarts a single container or could handle multiple, which prevents a perfect score.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'start_container' or 'stop_container'. There's no mention of prerequisites (e.g., container must be running), error conditions, or typical use cases. The agent must infer usage from the name alone, which is insufficient for optimal tool selection.

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

  • 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 of behavioral disclosure. 'Start a container' implies a mutation/write operation, but the description doesn't cover permissions required, side effects, error conditions, or what happens if the container is already running. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

    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 extremely concise at three words, with zero wasted language. It's front-loaded and to the point, though this brevity contributes to gaps in other dimensions. Every word earns its place by stating the core action.

    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?

    Given the complexity of a mutation tool (starting a container) with no annotations, 0% schema coverage, no output schema, and multiple sibling tools, the description is incomplete. It lacks details on behavior, parameters, usage context, and expected outcomes, making it inadequate for an agent to use the tool effectively without additional inference.

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

    Parameters2/5

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

    The input schema has 1 parameter with 0% description coverage, and the description provides no information about the 'id' parameter. It doesn't explain what the ID refers to (e.g., container name, ID format), where to find it, or examples. With low schema coverage, the description fails to compensate, leaving the parameter undocumented.

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

    Purpose3/5

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

    The description 'Start a container' clearly states the action (start) and target resource (container), but it's vague about what 'container' means in this context (Docker, LXC, etc.) and doesn't differentiate from sibling tools like 'restart_container' or 'stop_container'. It's a basic verb+resource statement without specificity.

    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 guidance is provided on when to use this tool versus alternatives like 'restart_container' or 'stop_container'. The description doesn't mention prerequisites (e.g., container must exist and be stopped), context, or exclusions, leaving the agent to infer usage from the tool name alone.

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

  • Behavior2/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 but adds minimal context. It states the action ('pull') which implies a network operation and potential mutation (adding an image to local storage), but doesn't describe traits like authentication needs, rate limits, error handling, or what happens on success (e.g., image becomes available for containers). This leaves significant gaps for a tool that likely involves external resources.

    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 extremely concise with a single sentence that directly states the tool's action. It's front-loaded with the core purpose and contains no unnecessary words or redundant information, making it efficient and easy to parse.

    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?

    Given the tool's complexity (network operation, potential mutation), lack of annotations, no output schema, and minimal schema coverage, the description is incomplete. It doesn't cover behavioral aspects, parameter details, or expected outcomes, leaving the agent with insufficient information to use the tool effectively beyond a basic understanding of its purpose.

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

    Parameters2/5

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

    The input schema has 1 parameter with 0% description coverage, so the description must compensate but adds no parameter information. It doesn't explain what 'name' represents (e.g., image name with optional tag, registry URL), its format, or examples. This fails to address the schema's lack of documentation, leaving the parameter meaning unclear.

    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?

    The description clearly states the verb ('pull') and resource ('a Docker image'), making the purpose immediately understandable. It distinguishes from siblings like 'list_images' or 'restart_container' by specifying a different action on the same resource type. However, it doesn't specify the source (e.g., Docker registry) or scope, keeping it from being fully specific.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., Docker daemon running), when not to use it (e.g., if image already exists locally), or how it relates to siblings like 'list_images' for checking availability. Usage is implied from the action but not explicitly stated.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. 'Stop a container' implies a destructive/mutative action, but it doesn't clarify permissions needed, whether the stop is graceful or forced, what happens to dependent resources, or error conditions. This leaves significant gaps for safe agent invocation.

    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 extremely concise at three words, front-loaded with the core action. There is zero wasted language or redundancy. However, this brevity comes at the cost of completeness, as noted in other dimensions.

    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?

    For a destructive tool with no annotations, 0% schema coverage, and no output schema, the description is inadequate. It lacks critical context: behavioral details (permissions, effects), parameter meaning, error handling, and output expectations. The agent cannot safely use this tool based solely on the description.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the schema only shows a required 'id' parameter without documentation. The description adds no parameter information—it doesn't explain what 'id' refers to (e.g., container ID, name), format, or where to obtain it. This fails to compensate for the schema's lack of descriptions.

    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?

    The description clearly states the action ('stop') and target resource ('a container'), making the purpose immediately understandable. It distinguishes from siblings like 'start_container' and 'restart_container' by specifying the opposite action. However, it doesn't specify what type of container (e.g., Docker) or system context, leaving some ambiguity.

    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 guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., container must be running), exclusions, or comparisons to sibling tools like 'restart_container'. The agent must infer usage from the tool name alone.

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

  • 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 of behavioral disclosure. 'Get system monitor data' implies a read-only operation, but it doesn't specify any behavioral traits like whether it requires authentication, has rate limits, returns real-time or historical data, or what format the data is in. This leaves significant gaps in understanding how the tool behaves.

    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 extremely concise with just three words: 'Get system monitor data'. It's front-loaded and wastes no space, making it easy to parse quickly. Every word contributes to the core meaning without unnecessary elaboration.

    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?

    Given the tool's complexity (implied by 'system monitor data', which could involve various metrics) and the lack of annotations and output schema, the description is incomplete. It doesn't explain what data is returned, in what format, or any behavioral aspects. For a tool that likely provides detailed system information, this minimal description falls short of being fully helpful.

    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?

    The input schema has 0 parameters with 100% coverage, meaning there are no parameters to document. The description doesn't need to add parameter semantics beyond this, as it correctly implies no inputs are required. This aligns well with the schema, so a baseline score of 4 is appropriate for this scenario.

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

    Purpose3/5

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

    The description 'Get system monitor data' states a clear verb ('Get') and resource ('system monitor data'), which is better than a tautology. However, it's vague about what specific data is retrieved (e.g., CPU, memory, network metrics) and doesn't distinguish it from sibling tools like 'get_system_info', which might overlap in functionality. This leaves the purpose somewhat ambiguous.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, such as comparing it to 'get_system_info' or other monitoring-related tools in the sibling list. This lack of usage instructions makes it unclear when this tool is the appropriate choice.

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

  • 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 of behavioral disclosure. It states 'List SSL certificates' but doesn't explain what 'list' entails—whether it returns all certificates, includes expired ones, requires authentication, has pagination, or what format the output takes. This leaves significant gaps for an agent to understand the tool's behavior.

    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 extremely concise—just three words—and front-loaded with the essential action and resource. There's no wasted language or unnecessary elaboration, making it efficient for quick understanding.

    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?

    Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of certificate details, statuses, or just names), any behavioral constraints, or how it fits into the broader context of sibling tools. For a tool with no structured support, this minimal description leaves too much undefined.

    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?

    The input schema has 0 parameters with 100% coverage, meaning there are no parameters to document. The description doesn't need to add parameter semantics, so it meets the baseline for this scenario. It implicitly confirms no parameters are needed by not mentioning any.

    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?

    The description clearly states the verb ('List') and resource ('SSL certificates'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_files' or 'list_databases' beyond the resource type, so it's not fully specific about what makes this listing operation unique.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., for system administration or security checks), or how it relates to sibling tools like 'get_system_info' or 'list_websites' that might overlap in domain.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It only states the action without disclosing behavioral traits such as permissions needed, output format, pagination, or error handling. This is inadequate for a tool with zero annotation coverage.

    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, efficient sentence with no wasted words. It is front-loaded and appropriately sized for a simple listing tool, making it highly concise and well-structured.

    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?

    Given no annotations and no output schema, the description is incomplete. It lacks details on what compose projects are, how results are returned, or any behavioral context, making it insufficient for an agent to use the tool effectively without additional information.

    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?

    The tool has 0 parameters with 100% schema description coverage, so no parameter information is needed. The description doesn't add param semantics, but this is acceptable given the baseline, earning a score just below perfect due to the lack of any param-related context.

    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?

    The description clearly states the action ('List') and resource ('compose projects'), making the purpose understandable. However, it doesn't differentiate from siblings like 'list_containers' or 'list_databases' by specifying what compose projects are (e.g., Docker Compose projects), which prevents a perfect score.

    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 guidance is provided on when to use this tool versus alternatives. With siblings like 'list_containers' and 'list_databases', the description doesn't clarify if compose projects are related to containers or a different resource, leaving usage context unclear.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. 'List all Docker containers' implies a read-only operation but doesn't specify whether it shows running/stopped containers, requires permissions, returns structured data, or has pagination/formatting behavior. This leaves significant gaps for a tool with zero annotation coverage.

    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, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple listing tool with no parameters. Every word earns its place.

    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?

    Given the tool's simplicity (zero parameters, no output schema), the description is minimally complete but lacks behavioral context that would be helpful without annotations. For a basic read operation, it meets minimum requirements but doesn't provide guidance on output format or usage relative to siblings, leaving room for improvement.

    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?

    The tool has zero parameters with 100% schema description coverage (empty schema), so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a high baseline score. No additional semantic value could be added beyond what the schema already provides.

    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?

    The description clearly states the verb ('List') and resource ('all Docker containers'), making the purpose immediately understandable. However, it doesn't distinguish this tool from similar sibling tools like 'list_images' or 'list_composes' beyond specifying the resource type, which prevents a perfect score.

    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?

    The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'restart_container', 'start_container', and 'stop_container' available, there's no indication whether this is for monitoring, inventory, or prerequisite operations. The agent must infer usage context independently.

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

  • 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 of behavioral disclosure. 'List Docker images' implies a read-only operation, but it doesn't specify output format (e.g., list vs. detailed view), pagination, sorting, error conditions, or dependencies (e.g., Docker daemon status). For a tool with zero annotation coverage, this is a significant gap in transparency.

    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 'List Docker images' is a single, efficient phrase with zero waste. It's front-loaded with the core action and resource, making it immediately scannable. Every word earns its place, and no unnecessary elaboration detracts from clarity.

    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?

    Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks behavioral details (e.g., output format) and usage context. Without annotations or output schema, the description should ideally provide more operational context, but it meets a basic threshold for a straightforward list 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?

    The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline score of 4 is assigned for tools with zero parameters, as there's no semantic burden to compensate for.

    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?

    The description 'List Docker images' clearly states the verb ('List') and resource ('Docker images'), making the purpose immediately understandable. It distinguishes from siblings like 'list_containers' or 'list_composes' by specifying 'images' as the resource type. However, it doesn't explicitly differentiate scope or filtering aspects beyond the resource name.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., Docker installation), exclusions (e.g., vs. 'pull_image'), or contextual triggers (e.g., after system setup). With siblings like 'list_containers' and 'list_composes', the lack of comparative guidance leaves usage ambiguous.

    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

1panel-mcp MCP server

Copy to your README.md:

Score Badge

1panel-mcp 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/EaveLuo/1panel-mcp'

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