Catalog
fauziyasin-s2m4qw/mcp-qa

QA MCP tool changes with local CLI and real agent clients. Use when explicitly invoked via /mcp-qa or when asked to QA MCP tool changes end-to-end.

v1.0LATEST
NewUpdated Oct 5, 2026

Verify MCP tool behavior end-to-end before committing or creating a PR. Prefer agent-callable paths over browser or inspector workflows.

1. Quality Gate

pnpm run tsc && pnpm run lint && pnpm run test

Fix any failures before proceeding.

2. Stdio CLI

This is the primary QA path for tool behavior. Stdio runs the local MCP server against prod Sentry without depending on the Cloudflare worker, local /mcp route, or Cloudflare OAuth configuration. When validating code or tool changes, build first because the test client launches packages/mcp-server/dist/index.js:

pnpm -w run build

Check auth first:

pnpm --filter @sentry/mcp-server start auth status

If no cache exists, warm the device-code cache:

pnpm --filter @sentry/mcp-server start auth login

Device-code auth uses the bundled stdio public client ID, requires no client secret, is separate from the Cloudflare OAuth app, and caches the token in ~/.sentry/mcp.json.

First prove startup and auth:

pnpm -w run cli --transport stdio --list-tools
pnpm -w run cli --transport stdio "who am I?"

Then prove the changed behavior with a realistic prod prompt. Choose a prompt that requires the new or modified tool path, uses real org/project/resource inputs, and asks for enough detail to prove the endpoint response is usable.

pnpm -w run cli --transport stdio \
  "<prompt that exercises the changed MCP behavior against prod data>"

Passing QA means the local CLI prints Connected to MCP server (stdio), uses the expected MCP tool path, and returns real prod data that demonstrates the behavior. For catalog tools, expect search_sentry_tools followed by execute_sentry_tool(name: <changed_tool>). For direct tools, expect the tool name in the transcript. --list-tools alone is not QA.

For mutating catalog-only tools, avoid live prod changes unless there is a disposable resource prepared for the test. Add or run a server-level execute_sentry_tool dispatch test with MSW coverage to prove catalog discovery, generated schema exposure, constraint injection, and tool dispatch without changing real Sentry data.

For output-format changes, also inspect the raw MCP tool result when possible, not only the LLM's final answer. The final answer can add model-specific text that is not part of the tool response. Review raw tool output against docs/contributing/tool-responses.md: it should be user-facing, structured, and free of raw API JSON, internal implementation IDs, empty placeholders, and unrelated instructions.

3. Real Agent Clients

Use these when validating Claude Code, Codex, or behavior that only reproduces in a real agent client:

pnpm -w run build

What this verifies:

  • The CLI is installed and can see the named MCP server
  • The provider can run a connectivity prompt against Sentry MCP
  • The final answer includes the authenticated email from whoami

For agent-client-specific behavior, replace the default harness prompt with the same realistic prod prompt used for stdio QA. Passing QA requires the same changed-tool transcript evidence, not only whoami.

as an isolated auth cache. Real clients do not give stdio subprocesses a TTY, so warm the cache before running the harness. It also runs the built packages/mcp-server/dist/index.js, so build first to avoid stale code.

4. Cloudflare HTTP Only When Relevant

Run this only when changes touch Cloudflare, HTTP transport, /mcp routing, OAuth, web UI, or hosted-server compatibility. It is not required for ordinary tool handler changes.

Start the dev server in a separate terminal or background process:

pnpm dev

Then verify it is reachable:

curl -s -o /dev/null -w "%{http_code}" http://localhost:5173/

If pnpm dev fails because local Cloudflare/Wrangler is not configured, note the failure and continue with stdio QA for tool behavior.

pnpm -w run cli "who am I?"
pnpm -w run cli "list all available tools"
pnpm -w run cli "<same realistic prod prompt used for stdio QA>"
pnpm -w run cli --mcp-host=http://localhost:5173/mcp/<org> \
  "<same realistic prod prompt used for stdio QA>"
pnpm -w run cli --mcp-host=http://localhost:5173/mcp/<org>/<project> \
  "<same realistic prod prompt used for stdio QA>"

Look for Connected to MCP server (<resolved MCP URL>) to confirm HTTP transport, plus the same changed-tool transcript evidence required for stdio QA. Use scoped /mcp/<org> or /mcp/<org>/<project> URLs when validating routing, OAuth, or resource-scope behavior. Use --setup repo --server sentry to test the hosted server instead.

5. Source Build Stdio Only When Relevant

Use this when specifically checking the built local stdio server rather than dev-time source execution:

pnpm -w run build
pnpm --filter @sentry/mcp-server start auth status
pnpm -w run cli --transport stdio "who am I?"

Look for Connected to MCP server (stdio) to confirm stdio transport.

Overall Score

76/100

Grade

B

Good

Grades are signals, not a certification. Always review a skill yourself before use.

Safety

72

Quality

80

Clarity

82

Completeness

68

Summary

This skill guides QA testing of MCP tool changes end-to-end using local CLI and real agent clients. It provides a structured workflow for validating tool behavior against production Sentry data without requiring browser-based testing, using stdio transport for primary validation and optional Cloudflare/HTTP transport for infrastructure-specific changes.

Detected Capabilities

shell execution (pnpm, npm commands)local CLI invocationdevice-code authenticationtoken caching (~/.sentry/mcp.json)localhost HTTP requests (curl)dev server startupMCP tool listing and invocationreal Sentry API calls against production

Trigger Keywords

Phrases that agents use to match this skill to user intent.

mcp tool testingvalidate mcp changestest agent tool behaviorqa mcp before prverify sentry api integration

Risk Signals

WARNING

Real Sentry API calls against production data (prod prompt execution)

Section 2 and 4 — stdio and HTTP QA paths
INFO

Token caching to user home directory (~/.sentry/mcp.json)

Section 2 — Device-code auth cache
INFO

Localhost HTTP server startup (pnpm dev)

Section 4 — Cloudflare dev server
WARNING

User-supplied prompt execution against prod Sentry

Section 2 and 4 — '<prompt that exercises...' templates
INFO

No explicit cleanup of test resources or cached tokens after QA

Throughout — no teardown steps documented

Referenced Domains

External domains referenced in skill content, detected by static analysis.

localhost

Use Cases

  • /mcp-qa invocation for end-to-end tool testing
  • Validate MCP tool behavior before PRs or commits
  • Test CLI transport and authentication workflows
  • Verify tool catalog discovery and execution paths
  • Validate output format against documentation standards
  • Test Cloudflare HTTP transport and routing
  • Real agent client validation (Claude Code, Codex)

Quality Notes

  • Well-structured with clear, hierarchical sections (Quality Gate → Stdio CLI → Real Agents → Cloudflare → Source Build)
  • Clear distinction between required and optional QA paths based on change scope (tool changes vs. infrastructure changes)
  • Practical guidance on what constitutes 'passing QA' with concrete evidence requirements (tool transcript, MCP tool name)
  • Good reference to external standard (docs/contributing/tool-responses.md) for output validation
  • Caveat: instructions mention 'avoid live prod changes' for mutating tools but do not provide concrete alternative testing strategies or mock/disposable resource setups
  • Missing explicit warnings or cleanup steps for cached authentication tokens
  • The skill assumes familiarity with Sentry's MCP architecture and pnpm workspaces — context is implicit rather than explained
  • Device-code auth cache persists to ~/.sentry/mcp.json without documented expiration or cleanup; could lead to stale/expired tokens
  • No explicit guidance on what to do if auth fails or if cache is corrupted
Model: claude-haiku-4-5-20251001Analyzed: Oct 5, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Use fauziyasin-s2m4qw/mcp-qa in your dev environment

Command Palette

Search for a command to run...