agent-harnesses MCP server

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

Connect your client

Local (PyPI)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add agent-harnesses -- uvx agent-harnesses-mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "agent-harnesses": {
      "command": "uvx",
      "args": [
        "agent-harnesses-mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-harnesses": {
      "command": "uvx",
      "args": [
        "agent-harnesses-mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "agent-harnesses": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "agent-harnesses-mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.agent-harnesses]
command = "uvx"
args = ["agent-harnesses-mcp"]
Gemini CLITerminal
gemini mcp add --scope user agent-harnesses uvx -- agent-harnesses-mcp

Settings 1

GH_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. For pick_infrastructure.

What it does

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).

What it needs

RuntimePython 3.10+
Runs onmacOS, Windows, Linux
Also
  • uv, for the uvx command

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.

Limits

  • Not covered Picks come only from the maintainer's curated list and its scores, and star counts carry a capture date, so they can be stale
  • Limit Live discovery results in pick_infrastructure are labelled unvetted. Set include_live_search to false for a curated-only answer
  • Size cap compare takes 2 to 4 harnesses. compare_for compares 3 by default, clamped to 2 to 4 by limit
  • Size cap search_harnesses returns 10 results by default, and pick_harness and pick_infrastructure 5, each changed with limit
  • Size cap whats_new returns the latest 4 weeks by default. With since set it returns every week after that date and ignores limit
  • Limit Guides, templates, skills and the weekly digest are fetched from the main branch, so content can change without a new release
  • Limit The list data is loaded once per process in the released version. Restart the server to pick up list updates
  • Early release The README's HTTP mode (--http) and hosted address are on main only: the released server.py runs over stdio and has no --http switch

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.

Who it suits

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.

Tools 17

17 only read. A ? marks an optional parameter.

recommend
Gives one top harness pick for a need, up to two alternatives, projects to avoid and the guide to read nextneed: stringlanguage?: stringmust_run_unattended?: booleanopen_source_only?: boolean
pick_harness
Ranks harnesses for a use case with complexity, autonomy, recovery and open-source filtersuse_case: stringmax_complexity?: stringmin_autonomy?: stringmin_recovery?: stringopen_source_only?: booleanlimit?: integer
pick_infrastructure
Picks tools at any stack level, plus optional unvetted GitHub and Hacker News discoveryneed: stringlevel?: stringinclude_live_search?: booleanopen_source_only?: booleanlimit?: integer
compare
Puts 2 to 4 named harnesses side by side and says which leads on each axisgithub_ids: array
compare_for
Ranks the best options for a task and compares the top 2 to 4use_case: stringlimit?: integeropen_source_only?: boolean
search_harnesses
Keyword search over names, descriptions, tags and categoriesquery: stringlimit?: integer
get_harness
Returns the full record for one project by GitHub idgithub_id: string
list_categories
Lists the list's categories, use-case intents and rating scales
whats_new
Returns the list's weekly change log: additions, removals, star gains, archived repos and new contentsince?: stringlimit?: integer
list_comparisons
Lists the head-to-head decision guides with summaries
get_comparison
Returns the full markdown of one decision guideslug: string
list_templates
Lists the setup templates and the files each contains
get_template
Returns a template's README and every file's content with its target pathslug: string
list_playbooks
Lists the step-by-step setup guides
get_playbook
Returns one setup guide in fullslug: string
list_skills
Lists the agent skills with their install commands
get_skill
Returns every file of one skill with paths under .claude/skills or .agents/skillsname: stringtarget?: string

Similar servers