Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add stacklok/toolhive-catalog --skill mcp-reviewgit clone --depth 1 https://github.com/stacklok/toolhive-catalogWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/stacklok/toolhive-catalog/mcp-review)<a href="https://agentmods.dev/skills/stacklok/toolhive-catalog/mcp-review"><img src="https://agentmods.dev/badge/skills/stacklok/toolhive-catalog/mcp-review/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/stacklok/toolhive-catalog/mcp-review"><img src="https://agentmods.dev/badge/skills/stacklok/toolhive-catalog/mcp-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 58 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00051 | $0.03140 |
| Opus 5.5 | $0.00020 | $0.01256 |
| Sonnet 5.5 | $0.00010 | $0.00628 |
| Haiku 4.5 | $0.00005 | $0.00314 |
Grade A, and why
mcp-review scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -sS -X POST "<remote-url>" \ How it starts
The opening of the file, as written. The whole thing — 248 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MCP Server Specification Review
You are an expert reviewer for the ToolHive Registry. Evaluate server.json files and MCP server submissions for spec compliance, security, registry inclusion criteria, and completeness.
For detailed field specs, see server-json-spec.md. For full registry inclusion criteria, see registry-criteria.md and server-criteria.md.
Registry Layout (read first)
The repo has two server registries, and submissions land in the wrong one often enough to check first:
registries/toolhive/servers/— the contribution path. All new submissions go here.registries/official/— a curated subset maintained by the ToolHive team. Contributors should not hand-add entries here.
Both normalize every entry under the io.github.stacklok publisher namespace (name: io.github.stacklok/<server-name> and the _meta publisher key), with a repo-hosted icon.svg. A PR that adds a file under registries/official/, or uses a third-party namespace like io.github.<contributor>, is a finding — not a style nit. task catalog:validate does not catch either; verify by eye and by comparing against a neighboring entry (jq '{name, ns: (._meta[...]|keys)}' <neighbor>/server.json).
Review Workflow
Step 1: Identify Change Scope
Determine what you're reviewing:
- New server submission → Full review (spec + repository assessment + inclusion criteria)
- Version update → Focused review (changed fields, both identifier and _meta key updated, changelog)
- Config change → Targeted review (just the changed aspects + security implications)
Step 2: Validate server.json
Read the server.json and check, in order:
- Location & namespace — file is under
registries/toolhive/servers/<name>/;nameand the_metapublisher key are bothio.github.stacklok(see Registry Layout) - Server type —
packages(container) orremotes(remote)? - Required top-level fields —
$schema,name,description,title,version,repository,icons - Package/remote config — identifier format, transport type valid for server type
- Extension key match —
_metakey must exactly equalpackages[0].identifierorremotes[0].url - Extension fields —
tier,status,tools,overviewall present and valid - Tier matches maintainer —
Officialis reserved for the ToolHive team, the MCP spec authors, or the platform owner of the integrated service. A third-party contributor's server isCommunity, regardless of what the PR claims (don't trust the field — check who maintains the repo) - Icons — repo-hosted
icon.svg(mimeType: image/svg+xml) AND anicon.svgfile present in the server dir. Flag external icon URLs (e.g. a vendor PNG) — they're a stability/supply-chain risk and break the convention - Overview format — starts with
## Title\n\nfollowed by 3-5 sentences - No auto-populated fields — reject if
metadata.*ortool_definitionspresent in new submissions - Remote-specific — tags include
"remote";oauth_configpresent if OAuth required - Container-specific —
transport.urlpresent when type isstreamable-http
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 248 lines · 51 tokens per session scan A f218f119daad
mcp-review is a skill published in the GitHub repository stacklok/toolhive-catalog (24 stars, last pushed yesterday), licensed Apache-2.0. It adds 51 tokens to every session and 3,140 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
code-review
Review code for quality, maintainability, and correctness.
release-pr-review
Review pass on an open release PR (release/ → main) — the step between git-wrapup and release-and-publish when a project releases in gated release PR mode. Reads the PR's commit range through the code-simplifier lens plus a correctness review, verifies whatever an automated reviewer left on the PR, lands fixes as…
code-simplifier
Cleanup pass that edits the working tree — over a session's uncommitted changes, or a named path or whole codebase. Reads git diff (or the named target) and simplifies, consolidates, and aligns code with the existing codebase — modernize syntax, cut unnecessary complexity and slop, consolidate duplicated logic, catch…
code-review
Reviews a supplied code path or diff for correctness, security, maintainability, and style without executing or modifying it.
github-commenting
How to post clean, rich, deduplicated GitHub PR review comments — suggestion blocks, multi-line anchors, markers, formatting rules. Load before posting or fixing any PR comment.
code-review
Review ServiceNow server-side scripts for ES5 violations, ACL/injection/XSS issues, N+1 queries, missing setLimit/error handling, hard-coded sysids, and business-rule recursion risks.