Agent Harness Kit
Local MCP server that tracks specs, tasks, handoffs and health-gated completion for coding agents
Recommends, compares and searches agent harnesses from the curated best-of-Agent-Harnesses list
By Ryan Alexander Alberts (individual) Python Local · stdio Developer toolsAI and ML
45 popularity score ★ 1.5k ↓ 601/mo
Opens the app, which asks before it adds the server.
claude mcp add agent-harnesses -- uvx agent-harnesses-mcp{
"mcpServers": {
"agent-harnesses": {
"command": "uvx",
"args": [
"agent-harnesses-mcp"
]
}
}
}{
"mcpServers": {
"agent-harnesses": {
"command": "uvx",
"args": [
"agent-harnesses-mcp"
]
}
}
}{
"servers": {
"agent-harnesses": {
"type": "stdio",
"command": "uvx",
"args": [
"agent-harnesses-mcp"
]
}
}
}[mcp_servers.agent-harnesses]
command = "uvx"
args = ["agent-harnesses-mcp"]gemini mcp add --scope user agent-harnesses uvx -- agent-harnesses-mcpGH_TOKEN secret |
Optional: Optional GitHub token, sent only to api.github.com to raise the rate limit for live discovery. GITHUB_TOKEN is read when GH_TOKEN is unset. |
|---|
This is the query side of the best-of-Agent-Harnesses list, a hand-curated catalogue of agent harnesses (the tooling and permissions wrapped around a model's tool loop). Instead of reading the list's tables, an assistant can ask it for one opinionated pick for a stated need, a ranked shortlist filtered by complexity and autonomy tiers, or a side-by-side of two to four projects with notes on which leads on sandboxing, memory, hooks and other axes. It also flags projects to avoid, such as archived repos or ones the list marks for star manipulation.
Beyond harness picks, it serves the list's head-to-head decision guides, setup templates, step-by-step playbooks and agent skills as full file contents with target paths, so the assistant can write them into a project. The server returns the files and leaves the writing to the assistant. pick_infrastructure covers other layers of the stack (sandboxing, browsers, memory, evals, observability and more) and by default adds an unvetted live discovery pass from GitHub repository search and Hacker News. The newest tool, whats_new, returns the list's weekly change log: which projects came and went, who gained stars, and what got archived upstream or added as a guide.
It is a single Python file run over stdio. At startup it loads harnesses.json from the repository's main branch on GitHub, or from a local checkout when one sits beside it. The released package registers 17 tools, all annotated read-only, and reads an optional GH_TOKEN or GITHUB_TOKEN setting that the README does not mention. That token goes only to api.github.com, to raise the search rate limit (mcp/server.py).
| Runtime | Python 3.10+ |
|---|---|
| Runs on | macOS, Windows, Linux |
| Also |
|
Install uv, which fetches a Python 3.10 or later for uvx. It needs internet access to raw.githubusercontent.com to load the list data unless it runs from a local clone of the repository. Live discovery also reaches api.github.com and hn.algolia.com. No account or key is needed.
Recommendations come only from the maintainer's curated list and its scores; star counts carry a capture date and can be stale. Live discovery results in pick_infrastructure are labelled unvetted and are leads, not picks; set include_live_search to false for an offline, curated-only answer. compare takes 2 to 4 harnesses, and compare_for returns 3 by default, clamped to between 2 and 4 by limit. search_harnesses returns 10 results by default. Guides, templates and skills are fetched from the main branch, so content can change between calls of the same installed version.
Suits developers choosing or comparing agent harnesses and related infrastructure who want their coding assistant to answer from a curated, opinionated source, and those who want a template or skill dropped into a project by their assistant. It reads only public data and needs no account. Pick something else if you need neutral, exhaustive coverage of every project, or a general web or code search: answers here reflect one maintainer's list and rankings.
17 only read. A ? marks an optional parameter.
recommendneed: stringlanguage?: stringmust_run_unattended?: booleanopen_source_only?: booleanpick_harnessuse_case: stringmax_complexity?: stringmin_autonomy?: stringmin_recovery?: stringopen_source_only?: booleanlimit?: integerpick_infrastructureneed: stringlevel?: stringinclude_live_search?: booleanopen_source_only?: booleanlimit?: integercomparegithub_ids: arraycompare_foruse_case: stringlimit?: integeropen_source_only?: booleansearch_harnessesquery: stringlimit?: integerget_harnessgithub_id: stringlist_categorieswhats_newsince?: stringlimit?: integerlist_comparisonsget_comparisonslug: stringlist_templatesget_templateslug: stringlist_playbooksget_playbookslug: stringlist_skillsget_skillname: stringtarget?: string