Skip to main content
Glama
mcp-ashigaru

mcp-ashigaru

by crunchtools

ashigaru

Issues in, fixed bugs out. Ashigaru is a set of reusable GitHub Actions workflows that watch a repository's issues, sort bug-class work from feature work, and fix the bugs: it opens the pull request, answers the code review, and lets GitHub merge when the required checks pass. Feature requests are labeled and left for a maintainer. It runs on GitHub-hosted runners with Claude Code, on a Claude subscription token; there is no server to operate.

Named for the ashigaru (足軽), the foot soldiers a daimyo sent into the field.

Capabilities

  1. Triage: every new issue is read against the code and labeled. Bug, documentation and performance issues go to the code agent; features wait for a person. An issue from someone without write access is labeled too, but is fixed only when a maintainer says so.

  2. Code: a ready-to-code issue becomes a pull request from ashigaru/issue-N with auto-merge on. The repository's own pre-commit hooks run before the pull request opens, and failures go back to the same agent session.

  3. Fix: after each review of a pull request the code agent opened, every finding gets an answer in its thread and failed checks get fixed, for at most five rounds.

  4. Sweep: every hour the oldest untriaged issues across enrolled repositories are queued for triage, and up to five waiting fixes are started, so a backlog drains without spending the model budget.

  5. Release: a repository that asks for it with a topic gets its merged work released: a release pull request from the changelog, then the tag and the GitHub Release, so a fix does not sit merged and unshipped.

  6. Review: a pull request from an outside contributor gets one first-pass comment for the maintainers, and everything waiting on a person is listed in a single inbox issue.

  7. Authority and limits: the job that runs the model holds no credential that can write; the job that writes runs no model. One organization variable stops everything.

Related MCP server: devflow-mcp

Quick Start

Organization, once:

  • Create a GitHub App with repository permissions Contents, Issues and Pull requests set to read and write, install it on the organization, and store its private key as the secret ASHIGARU_APP_KEY and its client ID as the variable ASHIGARU_CLIENT_ID (create-github-app-token mints every token from the two).

  • Run claude setup-token and store the result as the secret CLAUDE_CODE_OAUTH_TOKEN.

  • Set the variable ASHIGARU_ENABLED to true.

  • Require your CI and review checks in a branch ruleset the app cannot bypass, and allow auto-merge.

Each repository:

mkdir -p .github/workflows
curl -fsSL https://raw.githubusercontent.com/crunchtools/ashigaru/v2/examples/ashigaru.yml \
  -o .github/workflows/ashigaru.yml

Details and the full list of inputs are in docs/enrollment.md.

Documentation

Page

What it covers

docs/triage.md

Categories, the confidence threshold, which labels mean what

docs/code.md

The two-job split, the pre-commit inner loop, what is refused

docs/fix.md

What triggers a round, how findings are answered, the round limit

docs/sweep.md

Backlog selection and the hourly budget

docs/release.md

Turning releases on per repository, how the version is chosen and rewritten, the releases record

docs/review.md

First-pass review of outside pull requests, and the inbox issue

docs/authority.md

Who holds which credential, untrusted input, the switch and the caps

docs/enrollment.md

Organization setup, enrolling a repository, inputs, releasing

Development

A developer machine needs git, podman, pre-commit and gh.

pre-commit install
podman run --rm -v .:/src:Z -w /src docker.io/library/python:3.12-slim \
  bash -c 'pip -q install pytest==9.1.1 pyyaml==6.0.3 ruff==0.16.9 && ruff check . && pytest -q'
podman run --rm -v .:/repo:Z -w /repo docker.io/rhysd/actionlint:1.7.12

Credits

The design follows Fullsend: labels as the state, a triage gate that routes bugs to a code agent and parks features, and deterministic scripts that hold push and merge authority. The label names are theirs, so a repository can move between the two.

License

AGPL-3.0-or-later

Available Tools

3 tools
promoteA

GATED. Promote a reviewed PR to production via the repo's deploy path.

Refuses unless approval_token matches the human-approval marker recorded for this PR (set only through a confirmed Signal approval). This is the hard gate on the one irreversible action — the coding agent never reaches it.

Inputs: pr (required), approval_token (required). Returns: object

statusA

Return an on-demand digest of a run: current phase, recent agent actions, gate result, and PR URL. This is what Kagetora answers from when you ask "what's the runner doing?".

Inputs: run_id (required). Returns: object

work_ticketA

Start a dev run: clone , fix GitHub issue # with Claude (Sonnet), run the repo's quality gates, and open a PR. Returns a run_id immediately; the run continues in the background. Poll status(run_id) for progress.

Inputs: repo (required), issue (required). Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool serves a unique purpose: starting a run, monitoring status, and promoting to production. There is no overlap in functionality.

    Naming Consistency4/5

    All names are simple and readable, but there is a slight inconsistency: 'promote' and 'status' are single words while 'work_ticket' is a compound. However, the style is uniform overall.

    Tool Count3/5

    With only 3 tools, the server feels minimal for a deployment pipeline. While it covers the essential steps, additional tools like cancellation or listing runs would be expected for broader utility.

    Completeness3/5

    The tool set covers the core workflow (start, check, promote), but lacks common operations such as canceling a run, retrying, or viewing history. The surface is functional but not comprehensive.

    Maintenance

    ActivityActive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      D
      maintenance
      An MCP server that automates the full software development lifecycle through an AI-driven TDD state machine. It handles everything from task decomposition and test-driven development to integration testing and automated pull request creation.
      4
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A production-ready MCP server that provides AI assistants with comprehensive GitHub developer tooling including PR analysis, code review, changelog generation, dependency auditing, commit summarization, and refactoring suggestions.
      7 npm
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables AI agents to directly manage GitHub repositories, including PRs, issues, and code search, using natural language.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      An MCP server that lets Claude Code manage GitHub issues, branches, and pull requests through natural language, automating the full development workflow from planning to closing.
      359 npm
      2
      MIT