butchr
Enables orchestrating Jira-driven software workflows by watching tickets, running herdr agents on active issues, and pushing updates to those agents over MCP.
README
butchr
The software factory, rewritten. A single local daemon that:
- Watches your Jira — the tickets assigned to the account that owns the API token, and the items they link to.
- Runs an agent per active ticket — when a ticket is In Progress or In Review, it spins up a herdr agent (via
@brooswit/herdr-sdk). - Pushes updates to those agents — over MCP (
@brooswit/thatch): agents connect to the daemon identifying which issue they work on, and the daemon channels ticket/comment/link changes to the right one. - Shows a live view — a webapp listing the active agents; click one and butchr opens a terminal window running
herdr agent attachon it, so you drop straight into that agent's shell. No browser extension, no embedded terminal — terminals are real herdr terminals.
Change detection is @brooswit/sundry's watch over a Jira JQL feed. Blocking agent prompts are handled through herdr's own blocked detection + send_keys (herdr owns the terminal; butchr reads and answers).
Architecture
one Elysia process
├── /mcp agents connect here (thatch), identifying via x-issue header
├── /agents,/health read-only live view
└── loops (landing incrementally)
├── jira-watch sundry.watch over `assignee = currentUser() AND updated >= cursor`
├── reconcile desired (In Progress/In Review) ↔ herdr agents: spawn / stop
└── notify ticket/comment/link change → thatch channel → the agent on that issue
src/: config · atlassian (Jira client) · daemon (the app + notify) · web (live view). More loops land as their own modules.
Install & run
On each machine:
npm i -g @brooswit/butchr # or pin a version
cp .env.example .env # fill in ATLASSIAN_SITE / EMAIL / TOKEN_FILE
butchr # reads .env / the environment
From source (development):
bun run start
Development
bun run check # generate + typecheck + tests + coverage ≥90% (what CI runs)
Every src/ change needs a CHANGELOG.md entry and a version bump (CI enforces it).
Predecessor (300 releases of history) preserved at brooswit/butchr-legacy.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.