A thin, auditable stdio MCP server that lets an agent vet an MCP server, Claude Code skill, or plugin for unsafe behavior BEFORE it gets installed. All analysis happens server-side at https://mcpvet.com — this process only forwards a target string and renders the verdict.
Single tool with clear naming (scan_extension) and reasonable description (156 chars). Input schema present with Zod validation and parameter description. However, output schema is undocumented, the render() function shows the response structure but it's not formally declared in the tool definition. Error handling is present but generic (timeout, API error messages). No parameter constraints (enums, ranges) beyond the description text. The tool is read-only and stateless, which is good, but lacks structured output documentation that LLMs need for downstream planning.
Vet an MCP server, Claude Code skill, or plugin for unsafe behavior (shell exec, secret access, data exfiltration, prompt injection, remote code) BEFORE installing it. Returns a graded safety verdict and a shareable report link from MCPVet.
Output schema not documented. The render() function shows response fields (overall_risk, target, files_scanned, summary, findings, report_url) but the tool definition does not declare a formal output schema. LLMs cannot plan downstream actions or extract structured data without knowing what fields to expect.
Parameter 'target' lacks format constraints. Description mentions 'GitHub repo', 'npm package name', or 'pasted skill/manifest text' but does not specify format rules (e.g., regex for GitHub URLs, npm package naming conventions). LLMs may pass invalid formats.
Error messages are generic. Timeout returns 'MCPVet scan timed out, try again' and API errors return the API message or HTTP status. No guidance on what the LLM should do next (retry? check network? contact support?). Error responses should classify as retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
No pagination or result limits documented. If MCPVet returns many findings (>25 are truncated in render()), the tool description does not explain how to retrieve the full report or paginate results. Users must visit report_url to see all findings.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. This is a hard architectural limitation, not a code quality issue, but it severely restricts deployment scenarios.