Skip to content

test: add quarantine QA testing suite with test MCP servers#337

Merged
Dumbris merged 7 commits intomainfrom
quarantine-qa-testing
Mar 11, 2026
Merged

test: add quarantine QA testing suite with test MCP servers#337
Dumbris merged 7 commits intomainfrom
quarantine-qa-testing

Conversation

@Dumbris
Copy link
Contributor

@Dumbris Dumbris commented Mar 11, 2026

Summary

  • Add two Node.js test MCP servers for quarantine QA testing:
    • tests/malicious-mcp-server/ - 3 tools with intentionally malicious TPA descriptions (data exfil, SSH key theft, prompt injection)
    • tests/echo-rugpull-server/ - 2 tools that mutate descriptions after calls (rug pull simulation via notifications/tools/list_changed)
  • Add tests/quarantine-test-config.json for MCPProxy quarantine test setup
  • Add tests/test-quarantine.sh - automated 16-scenario test script covering CLI, REST API, and MCP protocol
  • Add tests/README.md documenting test servers and reuse instructions
  • Add docs/qa/quarantine-test-report-2026-03-11.html - self-contained HTML report (16/16 pass, dark mode, search/filter, collapsible raw output)
  • Add docs/qa/quarantine-ux-walkthrough.gif - 30-frame Chrome UX walkthrough recording

Test Scenarios (16/16 passing)

# Scenario Surface
QT-01 List servers CLI + REST
QT-02a/b Inspect pending tools CLI
QT-03 Call blocked tool (server quarantine) MCP
QT-04 Search blocked tool MCP
QT-05 Approve tools via CLI CLI
QT-06 Approve tools via REST API REST
QT-07 Call approved echo tool MCP
QT-08 Restart server CLI
QT-09 Inspect changed tools (rug pull) CLI
QT-10 View tool diff REST
QT-11 Call changed tool (blocked) MCP
QT-12 Approve via MCP quarantine_security MCP
QT-13 Export tool approvals REST
QT-14 Activity log check CLI

UX Findings

  • Health indicators, warning prominence, approval flow: Good
  • Diff readability: Needs improvement (no inline diff in Web UI)
  • Minor friction: No confirmation dialog, stale counts after individual approvals

Test plan

  • Run bash tests/test-quarantine.sh — 16/16 passing
  • Chrome UX walkthrough recorded as GIF
  • Verify test servers install dependencies: cd tests/malicious-mcp-server && npm install

🤖 Generated with Claude Code

claude added 7 commits March 11, 2026 07:39
Design for end-to-end testing of MCPProxy's quarantine UX across CLI,
REST API, MCP protocol, and Web UI. Includes two test MCP servers
(malicious + rug-pull echo), automated test script, and Chrome
walkthrough plan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Semi-automated test plan covering two test MCP servers, 14 test
scenarios across CLI/REST/MCP, Chrome UX walkthrough, and HTML report
generation. Addresses reviewer feedback: HTTP status codes, UX
evaluation checklist, GIF embedding workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add README documenting the two test MCP servers (malicious TPA vectors
and rug-pull simulator) and the 16-scenario quarantine test script.
Update test config to enable socket and pre-quarantine servers. Include
generated HTML test report and Chrome UX walkthrough GIF.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 9cb93a3
Status: ✅  Deploy successful!
Preview URL: https://85ec7d3f.mcpproxy-docs.pages.dev
Branch Preview URL: https://quarantine-qa-testing.mcpproxy-docs.pages.dev

View logs

@github-actions
Copy link

📦 Build Artifacts

Workflow Run: View Run
Branch: quarantine-qa-testing

Available Artifacts

  • archive-darwin-amd64 (25 MB)
  • archive-darwin-arm64 (23 MB)
  • archive-linux-amd64 (14 MB)
  • archive-linux-arm64 (13 MB)
  • archive-windows-amd64 (25 MB)
  • archive-windows-arm64 (22 MB)
  • frontend-dist-pr (0 MB)
  • installer-dmg-darwin-amd64 (28 MB)
  • installer-dmg-darwin-arm64 (25 MB)

How to Download

Option 1: GitHub Web UI (easiest)

  1. Go to the workflow run page linked above
  2. Scroll to the bottom "Artifacts" section
  3. Click on the artifact you want to download

Option 2: GitHub CLI

gh run download 22944571077 --repo smart-mcp-proxy/mcpproxy-go

Note: Artifacts expire in 14 days.

@Dumbris Dumbris merged commit 9cb93a3 into main Mar 11, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants