Intelligent MCP server recommendation engine based on quantitative domain analysis. Maps project domains (Frontend %, Backend %, Database %, etc.) to appropriate MCP servers using tier-based priority system (Mandatory > Primary > Secondary > Optional). Performs health checking, generates setup instructions, provides fallback chains. Use when: analyzing project needs, configuring MCPs, checking MCP health, recommending alternatives.
View on GitHubkrzemienski/shannon-framework
shannon
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/krzemienski/shannon-framework/blob/main/skills/mcp-discovery/SKILL.md -a claude-code --skill mcp-discoveryInstallation paths:
.claude/skills/mcp-discovery/# MCP Discovery - Intelligent MCP Recommendation Engine
## Overview
**Purpose**: Provide quantitative, domain-driven MCP server recommendations using tier-based prioritization. Transform domain percentages (from spec-analysis) into actionable MCP setup strategies with health checking, fallback chains, and setup instructions.
**Key Innovation**: Only framework with quantitative domain-to-MCP mapping (not guesswork).
---
## Anti-Rationalization (From Baseline Testing)
**CRITICAL**: Agents systematically rationalize vague MCP recommendations without structured analysis. Below are the 5 most common rationalizations detected in baseline testing, with mandatory counters.
### Rationalization 1: "You might want these MCPs..."
**Example**: User asks for MCPs → Agent responds "You might want Puppeteer, PostgreSQL, GitHub..."
**COUNTER**:
- ❌ **NEVER** suggest MCPs with uncertain language ("might", "probably", "consider")
- ✅ Use quantitative thresholds: "Frontend 40% >= 20% → Puppeteer is PRIMARY"
- ✅ Every MCP has tier designation (MANDATORY, PRIMARY, SECONDARY, OPTIONAL)
- ✅ Every recommendation includes rationale based on domain percentage
**Rule**: No uncertain recommendations. State tier + rationale explicitly.
### Rationalization 2: "All would be helpful"
**Example**: Agent lists 8 MCPs and says "All of these would be helpful for your project"
**COUNTER**:
- ❌ **NEVER** treat all MCPs as equally important
- ✅ Apply tier structure from domain-mcp-matrix.json
- ✅ Serena MCP = MANDATORY (always first)
- ✅ Domain MCPs = PRIMARY (domain >= 20%) or SECONDARY (domain >= 10%)
- ✅ Support MCPs = SECONDARY/OPTIONAL
**Rule**: Tier ALL recommendations. No flat lists.
### Rationalization 3: "I don't have access to check MCPs"
**Example**: User asks "What MCPs am I missing?" → Agent says "I can't check what you have installed"
**COUNTER**:
- ❌ **NEVER** skip health checking workflow
- ✅ Provide health check commands for each MCP
- ✅ Guide user through health check pr