io.github.RyanAlberts/agent-harnesses
PYPI · AGENT-HARNESSES-MCP
Agent-harness picks, decision guides, setup templates, and skills; live GitHub/HN discovery.
Available components
Last scanned (20 hours ago)
Scores higher than 95% of PyPI servers
Category AI and Machine Learning
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 0 of 28 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to RyanAlberts/best-of-Agent-Harnesses). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 11 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2056 tokens (~120/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 30 Oct 26 +1
- Stability: 0.97 → pass security
- 29 Oct 26 −1
- Stability: pass → 0.97 functional
- 24 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 23 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → pass security
- Package version: 0.7.1 → 0.8.0 functional
- 22 Oct 26 0
- Stability: pass → 0.97 functional
- 16 Oct 26 0
- Stability: 0.97 → pass security
- 15 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 +42
- Injection markers: unverified → pass ▲ security
- Schema quality: 1751 → 1947 ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.93 ▲ functional
- Package version: 0.6.0 → 0.7.1 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed pypi/agent-harnesses-mcp@0.8.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | RyanAlberts/best-of-Agent-Harnesses |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/RyanAlberts/best-of-Agent-Harnesses/.github/workflows/publish-mcp.yml@refs/tags/mcp-v0.8.0 |
| Rekor log index | 3422976868 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:42ebc24f7ff6853ac6dd6f7760505d03629ed041ab22a4efad48301b2bcd3e4c |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 28 packages
| Packages resolved | 28 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare ~216
Side-by-side comparison of 2-4 harnesses by github_id — for "should I use X or Y?". Answers the head-to-head question with the list's curation intelligence instead of a raw spec dump: each project's record aligned on the list's axes, an edge summary naming which project leads on stars / adoption simplicity / autonomy / failure recovery, a warning when a requested id is in the graveyard (archived or integrity-flagged), and the decision guide covering this matchup when one exists. github_ids: 2-4 ids, e.g. ["openclaw/openclaw", "NousResearch/hermes-agent"] — use search_harnesses to find an id. Returns JSON: {projects, edges, warnings, see_also, source, stars_captured}. Edge values are lists of names (more than one = a tie); an axis is omitted when fewer than two of the compared projects are rated on it.
| Name | Type | Req | Description |
|---|---|---|---|
| github_ids | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
compare_for ~199
Pick the top harnesses for a use case or task and compare them side by side. One call for "compare the best options for X": candidates are ranked the same way pick_harness ranks them, the top 2-4 are compared head-to-head (per-axis edge lists incl. the researched deep-dive axes — sandboxing, context memory, lifecycle hooks, prompt optimization — plus each project's build-vs-buy tier), with each pick's ranking reason and the decision guide covering the matchup when one exists. use_case: the task, e.g. "sandboxed code execution for generated code". limit: how many top candidates to compare (2-4, default 3). Returns JSON: {use_case, projects, why_picked, edges, warnings, see_also, source}.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| open_source_only | boolean | – | – |
| use_case | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_comparison ~71
Full markdown of one decision guide by slug (see list_comparisons). Guides cover architecture trade-offs, field reports, and the post-June-2026 billing reality — use them when a user is choosing between specific harnesses, not just browsing.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_harness ~36
Full record for one project by github_id (e.g. "anomalyco/opencode").
| Name | Type | Req | Description |
|---|---|---|---|
| github_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_playbook ~30
Full markdown of one playbook by slug (see list_playbooks).
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_skill ~118
One skill by name (see list_skills): every file's content, each with the path to write it to. target picks the skills folder: "claude-code" writes to .claude/skills/<name>/, "agents" writes to .agents/skills/<name>/ (read by Codex, Gemini CLI, Cursor, and OpenCode). Write the files, then tell the user the skill is installed and how to ask for it.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| target | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_template ~66
One template by slug (see list_templates): its README plus the full content of every file, each with the path to write it to. Use this when a user asks you to set a harness up: write the files, then adapt them.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_categories ~22
The list's categories and curated use-case intents, with project counts.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_comparisons ~60
The list's head-to-head decision guides (e.g. "OpenClaw vs Hermes", "How to pick a harness") — slug, title, and summary for each. Fetch the full text of one with get_comparison(slug).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_playbooks ~53
Step-by-step guides for one setup task each (build your own harness, one AGENTS.md for every harness, ...): slug, title, and summary. Fetch the full text with get_playbook(slug).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_skills ~78
Agent skills that check a user's own harness setup (what the agent can reach, whether its 'tests pass' claims hold, where tokens go, which guardrails leak, ...): name, title, summary, description (when to use it), install command, and file list for each. Fetch one with get_skill(name).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_templates ~66
Copy-paste setup files for agent harnesses (an AGENTS.md that works in every harness, safe Claude Code settings, a minimal harness in Python, ...): slug, title, summary, and file list for each. Fetch the files of one with get_template(slug).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
pick_harness ~262
Recommend agent harnesses for a use case, ranked from a hand-curated list of 100+. use_case: what you want to do, e.g. "terminal coding agent", "drop-in memory layer", "evaluate agents on coding benchmarks". max_complexity: cap on adoption surface — one of "super simple", "mostly simple", "slightly complex", "complex" (default: no cap). min_autonomy: require at least this designed autonomy regime — one of "step-gated", "checkpoint-gated", "bounded", "headless" (e.g. "bounded" means "must be able to run a whole task unattended"; excludes n/a entries). min_recovery: require at least this failure-recovery tier — one of "none", "retry", "resumable", "durable" (excludes n/a entries). open_source_only: drop projects with restricted or unknown licenses. Returns JSON: ranked picks with a one-line reason each.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| max_complexity | string | – | – |
| min_autonomy | string | – | – |
| min_recovery | string | – | – |
| open_source_only | boolean | – | – |
| use_case | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
pick_infrastructure ~367
Pick agent infrastructure at any level of the stack: curated list first, live web discovery second, so the answer is never limited to the list. Where pick_harness ranks only the curated list, this tool adds a live discovery pass for capabilities newer than the list: a GitHub repository search (recently pushed, star-ranked, already-listed and graveyard repos removed) and a Hacker News search (recent stories, 20+ points). Live results are labeled "unvetted": they have NOT passed the list's curation bar, so treat them as leads to evaluate, not recommendations. need: plain language, e.g. "somewhere safe to run agent-written code", "trace and score my agent in production", "hosted browsers for a scraping agent", "stop tool schemas from eating my context window". level: optional stack level; inferred from the need when omitted. One of: model-access, harness, orchestration, sandboxing, browser, memory, context, tools, evals, observability, security, skills. include_live_search: set False for a fully offline, curated-only answer. Live search sends only the need text to api.github.com and hn.algolia.com; an optional GH_TOKEN/GITHUB_TOKEN env var raises the GitHub rate limit. Returns JSON: {need, level, curated_picks, avoid, decision_guides, live_discovery, source, stars_captured}. Degrades gracefully: when live search is off or unreachable, curated results still return and live_discovery.status says why.
| Name | Type | Req | Description |
|---|---|---|---|
| include_live_search | boolean | – | – |
| level | string | – | – |
| limit | integer | – | – |
| need | string | yes | – |
| open_source_only | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
recommend ~247
Opinionated single recommendation for a need — a decision, not a list. Where pick_harness returns a ranked shortlist, recommend commits: one top pick with the reason, up to two alternatives, any listed harnesses to AVOID for this need (archived, or flagged for star manipulation — with why), and the most relevant decision guide to read next. Use this when an agent or user asks "what should I actually use for X?". need: plain-language description of what you're building, e.g. "an always-on personal assistant in my chat apps" or "evaluate a coding agent on benchmarks". language: optional — restrict to a language/runtime tag (python, javascript, typescript, rust). must_run_unattended: require a harness designed to run a whole task with no human in the loop (autonomy bounded or headless). open_source_only: drop restricted or unknown-license projects. Returns JSON: {recommendation, alternatives, avoid, see_also, source}.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | – |
| must_run_unattended | boolean | – | – |
| need | string | yes | – |
| open_source_only | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
search_harnesses ~52
Keyword search across all 100+ projects (name, description, tags, category). Returns JSON: matching projects sorted by relevance then stars.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
whats_new ~113
What changed in the list, week by week: harnesses added or removed, the biggest star gains, the fastest growers, projects archived upstream, and new guides, skills, and templates. Pass since=YYYY-MM-DD for every week after that date, or omit it for the latest `limit` weeks. Use it to answer "what's new in agent harnesses" or to check whether an earlier recommendation is out of date.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| since | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
How do I install the io.github.RyanAlberts/agent-harnesses MCP server?
io.github.RyanAlberts/agent-harnesses runs locally as a PyPI package, launched with uvx agent-harnesses-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · agent-harnesses-mcp
claude mcp add ryanalberts-agent-harnesses -- uvx agent-harnesses-mcp
What is the io.github.RyanAlberts/agent-harnesses MCP server?
io.github.RyanAlberts/agent-harnesses is an MCP server listed in the public MCP registry as io.github.RyanAlberts/agent-harnesses. Agent-harness picks, decision guides, setup templates, and skills; live GitHub/HN discovery. This page covers its PyPI package (agent-harnesses-mcp).
Is the io.github.RyanAlberts/agent-harnesses MCP server safe to use?
io.github.RyanAlberts/agent-harnesses scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.RyanAlberts/agent-harnesses MCP server expose?
io.github.RyanAlberts/agent-harnesses exposes 17 tools: pick_harness, recommend, search_harnesses, get_harness, compare, and 12 more. Their descriptions and schemas cost roughly 2,056 tokens of context every time the server is loaded.
Is the io.github.RyanAlberts/agent-harnesses MCP server still maintained?
io.github.RyanAlberts/agent-harnesses is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.RyanAlberts/agent-harnesses MCP server under?
io.github.RyanAlberts/agent-harnesses declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.