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.
Available components
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 10 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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
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
{
"mcpServers": {
"ryanalberts-agent-harnesses": {
"command": "uvx",
"args": [
"agent-harnesses-mcp"
]
}
}
} {
"servers": {
"ryanalberts-agent-harnesses": {
"command": "uvx",
"args": [
"agent-harnesses-mcp"
]
}
}
} codex mcp add ryanalberts-agent-harnesses -- uvx agent-harnesses-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ryanalberts-agent-harnesses": {
"type": "local",
"command": [
"uvx",
"agent-harnesses-mcp"
],
"enabled": true
}
}
} openclaw mcp add ryanalberts-agent-harnesses --command uvx --arg agent-harnesses-mcp
mcp_servers:
ryanalberts-agent-harnesses:
command: "uvx"
args: ["agent-harnesses-mcp"] {
"McpServers": {
"ryanalberts-agent-harnesses": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"agent-harnesses-mcp"
]
}
}
} assistant mcp add ryanalberts-agent-harnesses -t stdio -c uvx -a agent-harnesses-mcp
{
"mcpServers": {
"ryanalberts-agent-harnesses": {
"command": "uvx",
"args": [
"agent-harnesses-mcp"
]
}
}
} 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
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 →
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.
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.
| 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.
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.
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.