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

    Each tool targets a distinctly different action: environment status, command execution, terminal recording, and file read/write. The only confusing tool is record_terminal, which despite its name does not actually record anything and instead returns a command to run.

    Naming Consistency4/5

    Most tools follow a clear verb_noun pattern: record_terminal, write_file, read_file, plus the imperative run. status is a minor outlier as a noun, but the overall naming scheme is predictable and readable.

    Tool Count4/5

    Five tools is a reasonable, well-scoped size for a machine and workspace automation server. However, record_terminal feels loosely connected to the rest of the set, so the count is appropriate but not perfectly cohesive.

    Completeness4/5

    Core workflows are covered: checking environment state, running commands, and reading/writing files are sufficient for many workspace tasks. Directory listing and deletion are missing as dedicated tools, but agents can work around these gaps using run.

  • Average 4.3/5 across 5 of 5 tools scored.

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

    • No community issues in the last 6 months
    • 5 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI 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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It does disclose important constraints: UTF-8 encoding, relative paths only, and refusal of absolute paths and parent-directory segments. However, it does not specify overwrite behavior, whether directories are created, or failure/error semantics, which are relevant for a mutating file tool.

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

    Conciseness5/5

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

    Two short sentences, each earning its place. The core operation is stated first, followed by essential constraints. There is no filler or redundant repetition of the tool name.

    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 simple 2-parameter tool with an output schema, this description is largely complete: it identifies the operation, the path constraints, and the encoding. It could be more complete by mentioning overwrite semantics or directory creation, but the essential calling requirements are present.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It adds meaningful constraints for 'path': must be relative to workspace root and must not be absolute or contain parent-directory segments. It also implies 'content' should be text encoded as UTF-8. This exceeds minimal parameter documentation, although 'content' itself is not explicitly elaborated.

    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 states a specific verb ('Write'), a clear resource (a UTF-8 file), and a scope ('relative to the workspace root'). This clearly distinguishes it from sibling tools like read_file and run.

    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 about when to choose this tool over alternatives or when not to use it. It does not mention siblings or any decision criteria for selecting write_file instead of run, read_file, or record_terminal.

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

  • Behavior5/5

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

    With no annotations provided, the description carries the full transparency burden. It clearly states that this host does not start a recorder, that missing ffmpeg causes an error, and that when ffmpeg is present it only returns a command and writes no video file. These non-obvious behavioral traits are fully disclosed.

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

    Conciseness5/5

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

    The description is concise, front-loaded with purpose, and then presents the key conditional behaviors in short, focused sentences. There is no filler or redundant repetition of the input schema.

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

    Completeness4/5

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

    For a single-parameter tool with an output schema present, the description covers the main behaviors, side effects, and error condition. It does lack explicit sibling-comparison or usage recommendations, but the core call context is adequately specified.

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

    Parameters3/5

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

    Schema coverage is 0% and the schema gives no description for script, so the description must compensate. The description adds that the parameter is a bash script, which is useful, but it does not specify whether script should be file content, a file path, or any formatting requirements.

    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 states a specific verb and resource: 'Record a bash script as a terminal demo.' It then clarifies the actual behavior, which is to return a command rather than record. It does not explicitly distinguish itself from siblings like run or write_file, but the unique purpose is clear.

    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 when to use the tool: when you need a recording command rather than an actual recording on this host. However, it never explicitly says 'use this instead of X' or names alternatives, so guidance is implied rather than stated.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden of disclosing behavior. It clearly states what is returned and explicitly calls out what is not returned, addressing a key safety concern (no secrets/tokens). The verb 'Report' implies a read-only, side-effect-free operation, though it could have been stated explicitly.

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

    Conciseness5/5

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

    Two concise sentences: the first front-loads the full report contents, the second adds a clear negative. Every word adds value, with no repetition or unrelated information.

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

    Completeness4/5

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

    Given the tool has no parameters and an output schema, the description's enumeration of returned fields is sufficient for an agent to invoke it correctly. The explicit note about what is excluded adds important context. Minor omissions like error behavior or 'current snapshot' wording are not critical for a simple status tool.

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

    Parameters4/5

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

    The tool has zero parameters, so there is no parameter documentation burden. The description correctly omits parameter details, and the 100% schema coverage is trivially satisfied. Baseline 4 is appropriate for a no-parameter tool.

    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 starts with a specific verb 'Report' and lists exact data items (OS, hostname, cwd, Python version, tool PATH presence), making the tool's purpose unmistakable. It is clearly distinct from sibling tools like run or write_file without needing to name them.

    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 implicitly communicates when to use the tool: any time an agent needs environment context. It also provides a specific exclusion ('Does not return secrets, tokens, or a home-directory listing'), which prevents misuse. It does not explicitly compare to siblings, but that is unnecessary given the specialized scope.

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

  • Behavior4/5

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

    没有 annotations,因此描述承担了行为透明度责任。它披露了编码要求(UTF-8)、大小限制(1MB)、以及拒绝绝对路径和父目录段的限制,这些都是 schema 中不存在的行为约束。仅未提错误行为,但整体已较充实。

    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?

    整体极简:第一句给出核心操作与限制,第二句列出路径约束,每句话都有价值,没有冗余。关键约束前置,结构清晰。

    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?

    工具只有一个必填参数,复杂度低,且存在 output schema 无需重复返回值描述。描述已覆盖编码、大小、路径范围与拒绝规则,对智能体而言足以正确选择并调用该工具。

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

    Parameters4/5

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

    input schema 对 path 参数零描述,只有类型和变量名,因此描述必须补偿。描述中 'relative to the workspace root'、'Refuses absolute paths and parent-directory segments' 直接定义了 path 的语义和限制,价值明显。虽未进一步说明相对路径格式,但已足够指导调用。

    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?

    描述以具体动词+资源开头:"Read a UTF-8 file relative to the workspace root",明确说明了读文件这一操作。它与 write_file 形成清晰对照,且通过 'UTF-8'、'workspace root'、'Size limit 1MB' 等限定让工具用途非常具体。

    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?

    描述通过 'Read a UTF-8 file relative to the workspace root' 清晰表达了适用场景,即读取工作区根目录下的文本文件。虽然没有显式列出 alternatives 或排除条件,但结合 write_file 等兄弟工具,边界已经足够明确。

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

  • Behavior5/5

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

    No annotations are present, so the description carries the full burden, and it delivers: shlex parsing, timeout kill behavior with default and max, 1MB stdout/stderr limits, and ok=false on nonzero exit. This goes well beyond the raw schema.

    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?

    Compact and front-loaded, with a short intro and clearly separated argument/behavior notes. Every sentence contributes execution semantics or limits, with no filler.

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

    Completeness5/5

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

    Covers execution environment, argument parsing, timeout, output truncation, and error signaling. Combined with the presence of an output schema, an agent has enough to call the tool correctly without further context.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description fully documents both parameters: command as a single string split with shlex, and timeout_seconds with default and maximum. It adds real meaning beyond the property names 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?

    States exactly what it does: 'Run a command in the workspace root'. The parenthetical '(not a shell)' and the command/timeout arguments distinguish it from file-tool siblings, so an agent can select it correctly.

    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?

    Gives clear context (workspace root, non-shell execution, command string format) so an agent knows when to use it. It does not explicitly name alternatives or exclusion conditions, so it stops short of a full when-to-use/when-not-to-use guide.

    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

machine-mcp MCP server

Copy to your README.md:

Score Badge

machine-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/AndreaGriffiths11/machine-mcp'

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