suede-mcp-qa

Validates an MCP server release by running JSON-RPC lifecycle checks against the live stdio server.

123|10|Updated May 24, 2026
One-click install
npx skills add https://github.com/JasonColapietro/suede-creator-skills --skill suede-mcp-qa-jasoncolapietro
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: suede-mcp-qa
Source: https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-mcp-qa
Command: npx skills add https://github.com/JasonColapietro/suede-creator-skills --skill suede-mcp-qa-jasoncolapietro

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Releasing an MCP server without verifying its live behavior risks shipping broken tools, drifting catalogs, or corrupted stdio transport. This Skill runs a full release QA pass against the actual running server so every check is backed by real output, not assumptions from specs or previous runs. ## Core Features & Use Cases - Full JSON-RPC lifecycle testing: Exercises initialize, notifications/initialized, ping, tools/list, tools/call, resources/list, resources/read, prompts/list, and prompts/get in one session, including protocol version negotiation and malformed-input probes. - Catalog-to-server drift detection: The bundled snapshot script diffs the live tools, resources, and prompts against mcp/catalog.json and exits non-zero on any mismatch. - Contract and transport validation: Confirms closed input/output schemas, read-only annotations, structuredContent with text fallbacks, clean stderr, and newline-delimited JSON on stdout. - Use Case: Before publishing an MCP release, run this Skill to verify the server starts, all 9 tools respond correctly, the catalog matches the live surface, and install documentation leads with the public GitHub route, then receive a ship, ship-with-caveats, or hold recommendation. ## Quick Start Use the suede-mcp-qa skill to run a full release QA pass against the MCP server in mcp/suede-skills-mcp.mjs and report a ship verdict.

Frequently Asked Questions about suede-mcp-qa

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test an MCP server before release?

Run the full JSON-RPC lifecycle against the live server: initialize, notifications/initialized, ping, tools/list, tools/call, resources/list, resources/read, prompts/list, and prompts/get in one process. Record the exact command and output for each check, and treat any check that cannot run as a failure rather than a skip.

How to verify MCP catalog matches the live server?

Run the mcp-surface-snapshot.sh script, which starts one stdio session, lists the tools, resources, and prompts the server actually serves, and diffs them against the mcp block in catalog.json. Exit code 1 means drift, and the live server output is the ground truth for correcting the catalog.

What MCP protocol errors should a server return?

Standard codes include -32700 for parse errors, -32600 for invalid requests or duplicate initialization, -32601 for unknown methods, -32602 for invalid params, and -32000 for requests before session readiness. A parse error correctly uses id null, and any raw stack trace on stdout is a failure.

Can this QA process test a third-party MCP server?

No, the checks are hardcoded to this pack's own server surface defined in mcp/catalog.json. A generic third-party MCP server has not been checked against this surface, so verdicts do not extend to it.

Why does a standalone tools/call test fail on a fresh MCP process?

Each new server process starts a new MCP session, and requests before notifications/initialized completes return error -32000. Initialization and subsequent requests must stay in the same process for a valid test.