Skip to content

docs:Refined MCP Testing idea and PoC as per feedback#1336

Open
souvikDevloper wants to merge 1 commit intofoss42:mainfrom
souvikDevloper:feat/mcp-testing-suite-gsoc
Open

docs:Refined MCP Testing idea and PoC as per feedback#1336
souvikDevloper wants to merge 1 commit intofoss42:mainfrom
souvikDevloper:feat/mcp-testing-suite-gsoc

Conversation

@souvikDevloper
Copy link
Contributor

@souvikDevloper souvikDevloper commented Mar 13, 2026

🎬 Demo Video

https://youtu.be/GAZrTeIq_M0


PR Description

This PR is a follow-up to #1284 and directly addresses the GSoC project scope in discussion #1225.

Two deliverables are included:

1. Interactive UI Mockup (gsoc/mcp-testing/mockup/index.html)

Open in any browser — no build step, no server needed.

Five pages covering the full MCP testing workflow:

Page What it demonstrates
Overview Before/After user pain · 5-step flow · GSoC milestones
Session Setup Configure MCP targets like API Dash collections · transport layer diagram
Scenario Runner Step-by-step execution · live JSON-RPC output · _meta.ui.resourceUri auto-detection
Trace Inspection 4-layer failure classification: transport · protocol · tool-exec · ui-handshake
Replay & Compare Run history · baseline snapshots · syntax-highlighted payload diff
MCP Apps Preview Working PoC: sandboxed iframe performs real ui/initialize handshake via postMessage · host injects hostContext CSS variables · app re-themes live · full message log

The MCP Apps Preview page is a functional proof of concept built directly from the MCP Apps spec shared in gsoc-announcements by @ashitaprasad: https://dev.to/ashita/a-practical-guide-to-building-mcp-apps-1bfm

2. Working PoC (gsoc/mcp-testing/poc/poc.js)

Single file. Zero dependencies beyond Node.js built-ins.

node gsoc/mcp-testing/poc/poc.js

Spawns a real MCP server as a child process, connects via stdio JSON-RPC 2.0, runs 8 tests:

✓ All 8 tests passed  (7ms total)

Layer Breakdown:
■ Transport  ── OK       stdio spawn + stdin/stdout  
■ Protocol   ── OK       JSON-RPC initialize · serverInfo  
■ Tool Exec  ── OK       tools/call · contentType assert  
■ MCP Apps   ── DETECTED _meta.ui.resourceUri

Related Issues


Checklist

  • I have gone through the contributing guide
  • I have updated my branch and synced it with project main branch before making this PR
  • I am using the latest Flutter stable branch (run flutter upgrade and verify)
  • I have run the tests (flutter test) and all tests are passing

Added/updated tests?

  • Yes — gsoc/mcp-testing/poc/poc.js contains 8 automated tests covering transport, protocol, tool execution, MCP Apps detection, and baseline snapshot comparison. Run with node gsoc/mcp-testing/poc/poc.js.

OS on which you have developed and tested the feature?

  • Windows
  • macOS
  • Linux

- Interactive 5-page UI mockup (HTML, no build step)
- Working stdio MCP PoC: 8 tests, JSON-RPC 2.0, zero deps
- Covers: transport / protocol / tool-exec / ui-handshake layers
- MCP Apps: ui/initialize handshake + hostContext injection (Ashita's spec)
- _meta.ui.resourceUri detection per MCP Apps guide

Closes/references foss42#1225
Previous work: foss42#1284
@souvikDevloper
Copy link
Contributor Author

@animator hey love to hear from you Sir for feedback!

@souvikDevloper souvikDevloper changed the title docs:Refined MCP Testing idea as per feedback docs:Refined MCP Testing idea and PoC as per feedback Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants