Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.RyanAlberts/agent-harnesses

PYPI · AGENT-HARNESSES-MCP · SCANNED SEP 20

Agent-harness picks and decision guides; pick_infrastructure adds live GitHub/HN discovery.

+5 this week 70 Trust /100
Trust breakdown (7 categories)

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 native-build step with no shell scripting around it. View diagnostics → Pass
  • 0 of 29 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency32
Schema Quality & AI Usability70
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1536 tokens (~153/item across 10 items; 10 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 Management37
  • Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 10 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
Install

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

# add to Claude Code
claude mcp add ryanalberts-agent-harnesses -- uvx agent-harnesses-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "ryanalberts-agent-harnesses": {
      "command": "uvx",
      "args": [
        "agent-harnesses-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ryanalberts-agent-harnesses": {
      "command": "uvx",
      "args": [
        "agent-harnesses-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add ryanalberts-agent-harnesses -- uvx agent-harnesses-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ryanalberts-agent-harnesses": {
      "type": "local",
      "command": [
        "uvx",
        "agent-harnesses-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ryanalberts-agent-harnesses --command uvx --arg agent-harnesses-mcp
# ~/.hermes/config.yaml
mcp_servers:
  ryanalberts-agent-harnesses:
    command: "uvx"
    args: ["agent-harnesses-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ryanalberts-agent-harnesses": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "agent-harnesses-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add ryanalberts-agent-harnesses -t stdio -c uvx -a agent-harnesses-mcp
// mcp.json
{
  "mcpServers": {
    "ryanalberts-agent-harnesses": {
      "command": "uvx",
      "args": [
        "agent-harnesses-mcp"
      ]
    }
  }
}
Changelog

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.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 +3
    • Stability: unverified → 0.27 functional
  • 9 Sept 26 +29
    • Injection markers: unverified → pass security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool safety: Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Tool coverage: unverified → 100 functional
    • MCP protocol: unverified → pass functional
    • First check of Tool coverage: 0 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Destructive annotations: pass functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 100 functional
    • Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
    • Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Package version: 0.5.1 → 0.5.2 functional
  • 29 Aug 26 0
    • Security disclosure: unverified → fail functional
  • 28 Aug 26 0
    • Security disclosure: fail → unverified functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 12 Aug 26 0
    • Security disclosure: unverified → fail functional
    • Package version: 0.4.0 → 0.5.1 functional
Diagnostics

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 20 Sept 2026 · Analysed pypi/agent-harnesses-mcp@0.5.2

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

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 29 packages
Packages resolved 29
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 10 exposed · ~1,536 tokens

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 →

Tool Tokens
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.

NameTypeReqDescription
github_idsarrayyes
NameTypeReqDescription
resultstringyes

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

NameTypeReqDescription
limitinteger
open_source_onlyboolean
use_casestringyes
NameTypeReqDescription
resultstringyes

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.

NameTypeReqDescription
slugstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

get_harness ~36

Full record for one project by github_id (e.g. "anomalyco/opencode").

NameTypeReqDescription
github_idstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

list_categories ~26

The list's 10 categories and 14 curated use-case intents, with project counts.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes

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.

NameTypeReqDescription
resultstringyes

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.

NameTypeReqDescription
limitinteger
max_complexitystring
min_autonomystring
min_recoverystring
open_source_onlyboolean
use_casestringyes
NameTypeReqDescription
resultstringyes

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.

NameTypeReqDescription
include_live_searchboolean
levelstring
limitinteger
needstringyes
open_source_onlyboolean
NameTypeReqDescription
resultstringyes

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

NameTypeReqDescription
languagestring
must_run_unattendedboolean
needstringyes
open_source_onlyboolean
NameTypeReqDescription
resultstringyes

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.

NameTypeReqDescription
limitinteger
querystringyes
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

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 and decision guides; pick_infrastructure adds 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 70 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. 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 10 tools: pick_harness, recommend, search_harnesses, get_harness, compare, and 5 more. Their descriptions and schemas cost roughly 1,536 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 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.