Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have clearly distinct purposes. The only potential ambiguity is between run_airtest_script and run_airtest_code, but their descriptions clarify that one runs a .air directory while the other executes inline code. No other tools overlap significantly.

    Naming Consistency4/5

    All tool names use snake_case, but the pattern is mixed: some are verb_noun (list_android_devices, start_app), while others are single verbs (touch, swipe) or nouns (airtest_info, snapshot, keyevent). This inconsistency is minor, as the names are short and readable.

    Tool Count5/5

    With 10 tools, the server is well-scoped for mobile automation. Each tool covers a core operation, and the count is appropriate for the domain without feeling sparse or overwhelming.

    Completeness4/5

    Core workflows are covered: device discovery, script/code execution, screenshot capture, UI interactions, and app lifecycle. Missing features like text input or screen size query can be worked around via run_airtest_code, so gaps are minor.

  • Average 3.2/5 across 10 of 10 tools scored.

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

    • No community issues in the last 6 months
    • 2 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
  • 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

  • Behavior2/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It only states the action, without mentioning side effects, failure cases, whether it waits for launch, or permissions needed.

    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 concise (one sentence), but it is under-specified. It lacks parameter details and usage context, so the conciseness does not fully serve the agent.

    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 tool with two required parameters and no annotations, the description is incomplete. It does not explain what each parameter is or how to use them. The output schema exists, but does not compensate for missing parameter and behavioral information.

    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?

    Schema has 0% description coverage, and the description does not explain the 'device' parameter or clarify the format of 'package'. It only implies that 'package' is an Android package or iOS bundle, but offers no additional meaning.

    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 action ('Start') and the resource ('an Android package or iOS bundle identifier'). It effectively distinguishes from sibling tools like stop_app and run_airtest_script.

    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 on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or contexts where another tool (e.g., run_airtest_script) would be more appropriate.

    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 for behavioral disclosure, but it reveals nothing beyond the basic action—no side effects, blocking behavior, key format expectations, or error handling. The one-line description offers no meaningful behavioral context for a mutation-type operation.

    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, front-loaded sentence that conveys the core purpose without wasted words. It is appropriately minimal, and every word contributes meaning.

    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 zero annotations, zero schema descriptions, and an output schema that covers return values, the description still fails to address parameter semantics or behavioral context. For a simple two-parameter tool it is somewhat complete in scope, but the total absence of supplementary guidance makes it inadequate for an agent to invoke it confidently.

    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% for both required parameters, so the description must compensate. 'Key event' hints that 'key' refers to the key to send, but it does not explain valid key formats (e.g., KEYCODE_* vs symbolic names) or how 'device' should be specified (serial, ID, etc.), leaving the agent under-informed.

    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 ('Send') and resource ('an Airtest key event'), with a platform qualifier ('primarily for Android'). It is distinguishable from sibling tools like touch/swipe by the nature of a key event, though it does not explicitly name alternatives or contrast with them.

    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 touch, swipe, or start_app. 'Primarily for Android' is a weak scope qualifier, not a usage directive, and no exclusions or prerequisites are mentioned.

    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 responsibility for behavioral disclosure. It does not mention coordinate origin, duration semantics, whether the touch is a tap or press, or any side effects. The only behavior disclosed is the action itself, which 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.

    Conciseness4/5

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

    The description is a single, front-loaded sentence with no wasted words. However, it is under-specified, which prevents a perfect score; the brevity is structurally fine but offers too little substance.

    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?

    Although the tool is simple, there are 4 parameters (3 required) and an output schema not shown. The description does not explain coordinate system, duration behavior, or expected return values. Given the lack of annotations and schema descriptions, more context is needed for reliable 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?

    Schema description coverage is 0% and the description adds no meaning to the parameters. It does not explain what 'absolute' means for x/y, how duration is interpreted, or what 'device' refers to. The description entirely fails to compensate for the lack of schema documentation.

    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 action (touch) and the target (an absolute screen coordinate), making the tool's purpose immediately understandable. It also implicitly distinguishes itself from sibling tools like swipe and keyevent by specifying a direct touch at a coordinate.

    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?

    There is no guidance on when to use this tool versus alternatives such as swipe or keyevent. The description only states what the tool does, not the context in which it should be preferred.

    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?

    The description adds minimal behavioral information beyond the name, such as the 'absolute' coordinate qualifier, but does not disclose side effects, execution behavior, device interaction, or any required permissions. With no annotations to rely on, the description fails to carry the burden of behavioral disclosure.

    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 a single concise sentence with no wasted words, efficiently conveying the basic purpose. It is appropriately short for a simple action, though it could benefit from additional detail without becoming verbose.

    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 has 7 parameters and no annotations, the description is far from complete. It omits important details about parameter meanings (steps, duration, device), usage context, and behavioral implications. The existence of an output schema partially reduces the need to explain return values, but the description still leaves significant gaps.

    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 description clarifies that start_x, start_y, end_x, end_y are absolute screen coordinates, addressing the core coordinate parameters. However, it does not explain the meaning or purpose of 'steps', 'duration', or 'device', leaving the remaining 3 of 7 parameters undocumented in a context where schema descriptions are absent.

    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 action (swipe) and the resource (screen coordinates), specifying that it operates between two absolute coordinate points. This is a distinct operation compared to sibling tools like 'touch' or 'keyevent', making it easy to identify when to select this tool.

    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?

    There is no guidance on when to use this tool versus alternatives, such as 'touch' for a single tap or other gesture tools. The description only defines the action without contextualizing its use cases or prerequisites.

    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 to rely on, the description must disclose behavioral traits. It does mention that the code runs in a 'temporary .air project,' which hints at environment isolation. However, it does not warn about potential side effects on the device, mention that arbitrary Python code can be executed, or explain error/timeout behavior. The 'trusted' qualifier is a minimal safety nod but far from sufficient.

    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, front-loaded sentence that effectively communicates the core action. There is no redundancy or filler, earning a high score for 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 tool's complexity (executing arbitrary Python code), the lack of annotations, and the minimal description, the tool is under-specified. While the output schema exists and may describe return values, the description does not address safety, device interactions, or how this integrates with the sibling toolset. The 'temporary .air project' detail is a small positive, but overall the description is incomplete for such a powerful tool.

    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 lists three parameters (code, device, timeout) with 0% schema description coverage. The description does not mention any of these parameters, nor does it explain that 'code' is required, how 'device' should be formatted, or what the timeout controls. The description adds no value to parameter understanding.

    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 identifies the tool as executing 'trusted, hand-written Airtest Python code' within a 'temporary .air project.' This specific verb-resource pair distinguishes it from sibling tools like run_airtest_script (which presumably runs existing scripts) and the point-action tools (touch/swipe).

    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 word 'trusted' implies a safety condition for use, but there is no explicit guidance on when to choose this over run_airtest_script or the individual action tools. The description does not discuss prerequisites or typical scenarios, making the usage guidance implied rather than explicit.

    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 only states that a screenshot will be captured to a path, without mentioning side effects like file overwriting, device requirements, or error handling. This lacks transparency for a tool that writes to the filesystem.

    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, direct sentence that immediately communicates the core action and destination. It contains no unnecessary words or repetition, making it appropriately concise and front-loaded.

    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 tool with 3 parameters, no annotations, and no description-based explanation of return values, the description is under-specified. It leaves key parameter details and usage context unmentioned, making it incomplete for an agent to use confidently.

    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 description must compensate. It clarifies that output_path is an absolute local path, but provides no additional meaning for the 'device' or 'quality' parameters. The description adds minimal value beyond the schema's field titles and types.

    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's function: capturing a device screenshot to a local path. It uses a specific verb ('capture') and identifies the resource (device screenshot) and output location (absolute local path), distinguishing it from sibling tools like touch, swipe, and run_airtest_script.

    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 gives no explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites for use (e.g., connected device, permissions). Usage is only implied by the purpose, which is insufficient for selecting among sibling tools.

    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, the description carries the full burden of behavioral disclosure. It says 'stop' but does not explain whether it force-stops, if it is reversible, what side effects occur, or any required permissions. This is minimal disclosure beyond the verb.

    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, front-loaded sentence that states the core function with no filler or redundant content. Every word earns its place, making it highly concise.

    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 and the presence of an output schema, the description covers the essential purpose but lacks behavioral or usage details. It is adequate for a minimally specified command but leaves gaps in understanding exactly what stopping entails.

    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 description adds slight meaning by indicating that 'package' can be either an Android package name or iOS bundle identifier, which helps interpret the package parameter. However, it does not explain the 'device' parameter, and with 0% schema coverage, the description only partially compensates for the lack of parameter 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 ('stop') and the resource ('an Android package or iOS bundle identifier'), making the tool's purpose evident. It implicitly differentiates from the sibling 'start_app' by being the inverse operation, though it does not explicitly name alternatives.

    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 does not mention prerequisites, scenarios, or exclusions, leaving the agent to infer usage solely from the tool name.

    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?

    There are no annotations, and the description does not disclose any behavioral aspects such as side effects, return values, or required environment. It only states the action.

    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 a single, clear sentence with no wasted words. It is front-loaded with the action and resource, though it could have included a bit more 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 schema descriptions, the tool description is too minimal. It does not explain what the tool returns, how timeout is used, or device URI format, making it insufficient for correct invocation.

    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 coverage is 0% and the description only explains the device parameter as an optional Airtest device URI. It does not describe script_path or timeout, leaving their semantics unclear.

    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 it runs an existing .air directory, distinguishing it from the sibling run_airtest_code. It also mentions the optional device URI, making the scope specific.

    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 it is for existing .air directories but does not explicitly mention when to use it vs alternatives like run_airtest_code. It provides no exclusions or conditions.

    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 burden of disclosing behavioral traits. It only states that paths are 'detected' and returned; it does not clarify whether this is a safe, read-only operation, whether it may fail if the IDE is not installed, or any potential side effects.

    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, clear sentence with no unnecessary words. It is appropriately sized for a simple info tool.

    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?

    The tool has low complexity: no parameters and an output schema (not shown but indicated). The description covers the essential purpose, and since the output schema exists, it need not explain return formatting. This is sufficient for an agent to use it correctly.

    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?

    There are zero parameters, so the baseline is 4. The description correctly notes the tool takes no arguments, and nothing more is needed.

    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 a specific verb 'Return' and names the exact resources (AirtestIDE, runner, bundled ADB paths). It clearly distinguishes this from sibling tools like list_android_devices or run_airtest_script, which have different purposes.

    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. There is no mention of prerequisites or typical scenarios, leaving the agent to infer when this information is needed.

    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 the full burden of disclosing behavior. It states the operation is a list (read-only) but does not mention whether the ADB server is started, the format of the output, or any side effects. For a simple list tool, this is minimal but sufficient; it adds the context of the specific ADB binary, which is useful.

    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 sentence with no wasted words. The verb 'List' is front-loaded, and the qualifier 'ADB bundled with AirtestIDE' is precise and necessary. Perfectly concise.

    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 tool with an empty input schema and an existing output schema, the description adequately covers the tool's purpose and scope. It does not detail the return values, but the output schema is expected to provide that. The only minor gap is the lack of mention of any side effects like starting the ADB server, but this is not critical for a 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 tool has zero parameters, so the schema is trivially covered. The baseline for 0-parameter tools is 4, and the description correctly does not attempt to explain parameters. No additional parameter semantics are needed.

    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 a specific verb 'List' with a clear resource 'Android devices' and a qualifier 'visible to the ADB bundled with AirtestIDE', making the tool's purpose unambiguous. It distinguishes itself from sibling action-oriented tools like touch, swipe, and start_app by being a discovery/list operation.

    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 clear context by specifying the ADB source (bundled with AirtestIDE), which is relevant for when the tool should be used. It does not explicitly mention alternatives or exclusions, but none of the sibling tools serve a similar listing function, so the guidance is adequate.

    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

airtest-mcp MCP server

Copy to your README.md:

Score Badge

airtest-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/Heand-Broken/airtest-mcp'

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