Skip to main content
Glama

fleet-of-one-mcp-server

Proof-of-production tools for AI coding agents — the core Fleet of One discipline as callable MCP tools. Make "done" earn itself.

Two tools, one job: stop trusting an agent's word for it.

Tool

What it does

verify_done

Runs your test command and, in a git repo, diffs the actual changes. Returns PASS only if tests pass (exit 0) and every claimed change is really there. The gate between "agent says done" and "I believe it."

check_repro

Bug-first discipline: runs a command you expect to fail and confirms it actually fails, so you've reproduced the bug before you start fixing it.

It only ever runs the command you pass, in the directory you specify. No network, no file changes of its own. Local stdio server.

Install

npm install
npm run build
npm test        # end-to-end smoke test against the built server

Related MCP server: sabba

Use it with Claude Code

Add to your MCP config (e.g. .mcp.json in your project, or the global config):

{
  "mcpServers": {
    "fleet-of-one": {
      "command": "node",
      "args": ["/absolute/path/to/fleet-of-one-mcp-server/dist/index.js"]
    }
  }
}

Then an agent can call verify_done before claiming a task is complete:

verify_done(test_command="npm test", expect_changed=["src/auth.ts"], claim="wired up login")
→ PASS / FAIL with the test exit code, the real git changes, and the evidence tail.

The free skills this is built from

proof-of-production-lite, bug-first-tdd, and agent-lane-operations-lite — the free MIT starter repo: https://github.com/Johnny-Martinez/fleet-of-one-free

The full operating system (95-page playbook, 27 skills, 13 tool dossiers) is Fleet of One.

MIT.

Available Tools

2 tools
check_reproCheck reproduction (bug-first)A

Bug-first discipline: before fixing a bug, confirm you actually reproduced it. Runs a command you expect to FAIL and returns PASS only if it genuinely fails (non-zero exit) — i.e., the bug is reproduced. If the command passes, you haven't reproduced the bug yet and shouldn't start 'fixing' it.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoAbsolute path to the project directory. Defaults to the server's working directory.
repro_commandYesA command (usually a failing test) that should FAIL while the bug exists, e.g. 'pytest tests/test_bug.py'.
timeout_secondsNoMax seconds before the command is killed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
reasonsYes
verdictYes
evidenceYes
exit_codeYes
timed_outYes
reproducedYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true), the description discloses critical behavior: it treats non-zero exit as PASS (bug reproduced) and zero exit as failure to reproduce. This is exactly the kind of non-obvious semantics that the annotation block does not convey, making the description highly transparent.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core concept 'Bug-first discipline', and every sentence adds value. It explains what the tool does, the expected input behavior, and the meaning of the result in a compact form.

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?

For a tool that executes a command and returns a pass/fail signal, the description fully captures the necessary context: the expectation of failure, the meaning of a non-zero exit, and the implication for the fixing workflow. The output schema likely covers return values, so nothing else is needed.

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

Parameters3/5

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

The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description reinforces that repro_command should fail while the bug exists, but it does not add new parameter-level semantics beyond what the schema already provides.

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 runs a command expected to fail and returns PASS only if it fails, which is a specific verb+resource combination. The 'bug-first discipline' framing immediately distinguishes it from the sibling tool verify_done, which is about verification of completion.

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

Usage Guidelines5/5

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

The description explicitly says to use it 'before fixing a bug' and warns that if the command passes, you haven't reproduced the bug yet and shouldn't start fixing. This provides clear when-to-use and when-not-to-use guidance, even though it doesn't name an alternative tool.

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

verify_doneVerify "done"A

Prove a task is actually complete before trusting an agent's "done" claim. Runs the given test command and, if the directory is a git repo, diffs the actual changes. Returns PASS only if the tests pass (exit 0) and — when expect_changed is provided — every claimed path actually changed. This is the gate between "agent says done" and "I believe it."

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNoAbsolute path to the project directory. Defaults to the server's working directory.
claimNoThe agent's stated 'done' claim, echoed back in the verdict for the human reviewer.
test_commandYesThe command that proves real behavior, e.g. 'npm test' or 'pytest -q'. Runs in the target directory.
expect_changedNoPaths the agent claims it changed; verify_done checks each actually appears in git status.
timeout_secondsNoMax seconds to allow the test command to run before it is killed and the verdict is FAIL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
reasonsYes
verdictYes
evidenceYes
timed_outYes
test_passedYes
changed_filesYes
test_exit_codeYes
missing_expected_changesYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate non-read-only, open-world, and non-idempotent behavior. The description adds valuable context by specifying the exact PASS/FAIL logic (test exit 0 plus all expect_changed paths appearing in git status) and the conditional git diff behavior. It does not contradict annotations and goes beyond what annotations provide.

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 three sentences, front-loaded with the core purpose, followed by the mechanism and a memorable metaphor. Every sentence earns its place with no redundancy or filler. Excellent structure.

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

Completeness4/5

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

Given the tool's complexity (5 parameters, output schema, annotations), the description covers the essential behavior: running tests, diffing changes, and the PASS condition. It correctly omits output schema details since an output schema exists. Minor gaps like handling non-git repos are implicitly covered ('if the directory is a git repo'). Complete enough for an agent to select and invoke 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?

Schema coverage is 100%, so the baseline is 3. The description adds significant meaning to 'expect_changed' by explaining that each claimed path must appear in git status for PASS, and clarifies the role of the test command. This goes beyond the schema's simple field descriptions, justifying a 4.

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 purpose: proving a task is complete by running tests and diffing changes. It uses a specific verb ('prove'), names the resource (task completion), and provides a vivid metaphor ('the gate between agent says done and I believe it'). While it doesn't explicitly distinguish from the sibling 'check_repro', its purpose is unambiguous and specific enough to stand alone.

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 clearly conveys when to use this tool: any time you need to validate an agent's 'done' claim. It provides strong context through the gate metaphor, but does not explicitly mention alternatives or exclusion criteria (e.g., when to use check_repro instead). Given clear context without exclusions, this aligns with a 4.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedcheck_repro
    • First observedverify_done

TDQS

A4.4/5.0
Disambiguation5/5

verify_done and check_repro serve entirely distinct purposes: one validates success (tests pass and changes made), while the other validates expected failure (reproduction of a bug). No overlap or confusion between them.

Naming Consistency5/5

Both tool names follow the same verb_noun pattern with lowercase and underscores: verify_done and check_repro. The naming is consistent and predictable.

Tool Count3/5

At 2 tools, the set is on the borderline of feeling thin, but it is acceptable for its narrow verification-focused domain. The tools cover the two primary verification gates without being excessive.

Completeness4/5

The two tools cover the core verification lifecycle: confirming task completion and confirming bug reproduction. Minor gaps exist, such as verifying partial changes or checking for regressions, but these are workable for the stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/Johnny-Martinez/fleet-of-one-mcp'

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