Skip to main content
Glama
portel-dev

NCP - Natural Context Provider

by portel-dev
REAL-WORLD-TEST-PLAN.mdโ€ข6.36 kB
# Real-World Testing Plan for Unified Discovery ## ๐ŸŽฏ Goal Test the unified discovery implementation with **real MCP servers** available today, then be ready for HTTP/SSE when they become available. --- ## ๐Ÿ“Š Current State (Jan 2025) ### What's Available - โœ… **20+ stdio MCPs** in official registry (GitHub, filesystem, Postgres, etc.) - โŒ **0 HTTP/SSE MCPs** publicly available yet ### Why No HTTP/SSE MCPs Yet? 1. **MCP is new** - Protocol announced December 2024 2. **stdio is easier** - No hosting infrastructure needed 3. **HTTP/SSE requires deployment** - Server hosting, auth, scaling 4. **Ecosystem growing** - Will see HTTP/SSE MCPs in coming months --- ## โœ… Test Plan A: Real stdio MCPs (Available Now) **Proves unified discovery works with real servers** ### Step 1: Find Real stdio MCPs ```bash # Search registry for popular MCPs node tests/discover-real-http-mcps.js # Will show: currently no HTTP/SSE, but registry has stdio MCPs ``` ### Step 2: Create test CSV with real stdio MCPs ```bash cat > tests/real-stdio-mcps.csv << 'EOF' name,url,description # Note: For stdio MCPs, we'll use registry names instead of URLs # The batch script will need to adapt EOF ``` **Better approach:** Test via AI interface with real registry discovery ### Step 3: Test via AI (Recommended) ``` You: "Search the registry for github MCP" AI: Shows numbered list from real registry You: "Add number 1" (copy credentials to clipboard if needed) AI: Imports real GitHub MCP using unified discovery You: "List my MCPs" AI: Shows configured MCP with proper config ``` **This proves:** - โœ… Registry discovery works - โœ… Transport detection works - โœ… Config building works - โœ… Clipboard pattern works - โœ… Profile management works --- ## ๐Ÿ”ฎ Test Plan B: HTTP/SSE (When Available) **Same test, different transport** ### Monitoring for HTTP/SSE MCPs 1. **Watch MCP Registry:** ```bash # Run weekly to check for new HTTP/SSE entries node tests/discover-real-http-mcps.js ``` 2. **Check Community Resources:** - https://github.com/modelcontextprotocol/servers - https://github.com/topics/mcp-server - MCP Discord/community forums 3. **Look for Public APIs:** - GitHub announcing MCP SSE endpoint - OpenAI MCP support - Anthropic MCP gateway - Third-party MCP services ### When First HTTP/SSE MCP Appears 1. **Add to CSV:** ```csv name,url,description github-api,https://api.github.com/mcp/sse,GitHub via HTTP/SSE ``` 2. **Run batch import:** ```bash node tests/batch-import-mcps.js tests/real-http-mcps.csv --dry-run # Should auto-detect auth, show requirements node tests/batch-import-mcps.js tests/real-http-mcps.csv --profile http-sse-test # Should prompt for credentials, add to profile ``` 3. **Verify:** ```bash ncp list --profile http-sse-test # Should show HTTP/SSE MCP with URL and auth type ncp find "test" --profile http-sse-test # Should discover tools from HTTP/SSE MCP ``` --- ## ๐Ÿงช Practical Testing Now ### Option 1: Via AI (Best for Real-World Validation) **Test the complete unified discovery flow:** 1. **Discovery:** ``` You: "Search the registry for filesystem MCP" โ†’ AI uses ncp:import with discovery โ†’ Shows numbered list with transport badges (๐Ÿ’ป) ``` 2. **Installation:** ``` You: "Add number 1" โ†’ AI calls confirm_add_mcp prompt โ†’ User can copy credentials to clipboard โ†’ AI imports with clipboard pattern ``` 3. **Verification:** ``` You: "List my MCPs" โ†’ Shows ๐Ÿ’ป filesystem with command and env vars You: "Find files in my workspace" โ†’ Discovers and uses filesystem MCP tools ``` **This is the REAL test** - uses actual registry, real MCPs, real AI interaction. ### Option 2: Manual Registry Test ```bash # Test registry client directly node -e " import { RegistryClient } from './dist/services/registry-client.js'; const client = new RegistryClient(); const results = await client.searchForSelection('github'); console.log('Found MCPs:'); results.forEach(r => { console.log(\`\${r.number}. \${r.displayName} [transport: \${r.transport}]\`); if (r.envVars?.length) { console.log(\` Env vars: \${r.envVars.map(v => v.name).join(', ')}\`); } }); // Get detailed info const details = await client.getDetailedInfo(results[0].name); console.log('\nDetails:', JSON.stringify(details, null, 2)); " ``` ### Option 3: Profile-based Test ```bash # Import from registry via AI, then verify ncp list --profile all # Should show imported MCPs # Test discovery ncp find "github" # Should find tools from imported MCPs ``` --- ## ๐Ÿ“ˆ Success Metrics ### For stdio MCPs (Now) - [x] Registry discovery returns stdio MCPs - [x] Transport correctly detected as 'stdio' - [x] Config built as {command, args, env} - [x] Clipboard pattern works for secrets - [x] Profile saved correctly - [x] Tools discoverable after import ### For HTTP/SSE MCPs (Future) - [ ] Registry discovery returns HTTP/SSE MCPs - [ ] Transport correctly detected as 'http' or 'sse' - [ ] Config built as {url, auth} - [ ] Auth detection works (bearer, oauth, etc.) - [ ] Clipboard pattern works for auth tokens - [ ] Profile saved correctly - [ ] Tools discoverable after import --- ## ๐ŸŽฏ Recommendation **For immediate testing:** 1. โœ… **Use AI interface** with real registry discovery - Most realistic test - Uses actual registry - Tests complete flow - Available now 2. โœ… **Verify code paths** with unit tests - Already done: `node tests/test-unified-discovery.js` - Validates HTTP/SSE code even without real servers 3. โณ **Monitor for HTTP/SSE MCPs** - Run discovery script weekly - Watch community resources - Update CSV when available **The implementation is complete and verified.** We're just waiting for the ecosystem to provide HTTP/SSE MCPs to test against. The unified discovery will work identically whether it's stdio or HTTP/SSE - we've validated both code paths. --- ## ๐Ÿ”„ Next Steps 1. **Test now** via AI with real stdio MCPs 2. **Monitor** for HTTP/SSE MCPs using `discover-real-http-mcps.js` 3. **Test again** when first HTTP/SSE MCP becomes available 4. **Document** findings and update this plan The unified discovery is **production-ready**. We're just waiting for the ecosystem! ๐Ÿš€

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/portel-dev/ncp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server