[IMPORTANT] Use TaskCreate to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ask user whether to skip.
Quick Summary
Goal: Discover, analyze, and execute MCP tools/prompts/resources from configured servers without polluting main context.
Workflow:
-
Config Management — Use .claude/.mcp.json , symlink to .gemini/settings.json for Gemini CLI
-
Capability Discovery — npx tsx scripts/cli.ts list-tools saves to assets/tools.json
-
Intelligent Selection — LLM analyzes tools.json for task-relevant capabilities
-
Execution — Primary: Gemini CLI with stdin piping; Secondary: Direct scripts; Fallback: general-purpose subagent
Key Rules:
-
Gemini CLI Primary: Use stdin piping (echo "task" | gemini ), NOT -p flag (skips MCP init)
-
GEMINI.md Auto-Load: Project root file enforces structured JSON responses from Gemini
-
Progressive Disclosure: Load only needed capabilities, subagents handle discovery
-
Persistent Catalog: list-tools saves complete schemas to assets/tools.json for fast reference
Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).
MCP Management
Skill for managing and interacting with Model Context Protocol (MCP) servers.
Prerequisites
⚠️ MUST READ references/configuration.md and references/gemini-cli-integration.md before executing — contain MCP server configuration format, Gemini CLI setup, execution patterns, and troubleshooting required by Core Capabilities and Implementation Patterns sections below. For protocol internals, also ⚠️ MUST READ references/mcp-protocol.md .
Overview
MCP is an open protocol enabling AI agents to connect to external tools and data sources. This skill provides scripts and utilities to discover, analyze, and execute MCP capabilities from configured servers without polluting the main context window.
Key Benefits:
-
Progressive disclosure of MCP capabilities (load only what's needed)
-
Intelligent tool/prompt/resource selection based on task requirements
-
Multi-server management from single config file
-
Context-efficient: subagents handle MCP discovery and execution
-
Persistent tool catalog: automatically saves discovered tools to JSON for fast reference
When to Use This Skill
Use this skill when:
-
Discovering MCP Capabilities: Need to list available tools/prompts/resources from configured servers
-
Task-Based Tool Selection: Analyzing which MCP tools are relevant for a specific task
-
Executing MCP Tools: Calling MCP tools programmatically with proper parameter handling
-
MCP Integration: Building or debugging MCP client implementations
-
Context Management: Avoiding context pollution by delegating MCP operations to subagents
Core Capabilities
- Configuration Management
MCP servers configured in .claude/.mcp.json .
Gemini CLI Integration (recommended): Create symlink to .gemini/settings.json :
mkdir -p .gemini && ln -sf .claude/.mcp.json .gemini/settings.json
See references/configuration.md and references/gemini-cli-integration.md.
GEMINI.md Response Format: Project root contains GEMINI.md that Gemini CLI auto-loads, enforcing structured JSON responses:
{"server":"name","tool":"name","success":true,"result":<data>,"error":null}
This ensures parseable, consistent output instead of unpredictable natural language. The file defines:
-
Mandatory JSON-only response format (no markdown, no explanations)
-
Maximum 500 character responses
-
Error handling structure
-
Available MCP servers reference
Benefits: Programmatically parseable output, consistent error reporting, DRY configuration (format defined once), context-efficient (auto-loaded by Gemini CLI).
- Capability Discovery
npx tsx scripts/cli.ts list-tools # Saves to assets/tools.json npx tsx scripts/cli.ts list-prompts npx tsx scripts/cli.ts list-resources
Aggregates capabilities from multiple servers with server identification.
- Intelligent Tool Analysis
LLM analyzes assets/tools.json directly - better than keyword matching algorithms.
- Tool Execution
Primary: Gemini CLI (if available)
IMPORTANT: Use stdin piping, NOT -p flag (deprecated, skips MCP init)
echo "Take a screenshot of https://example.com" | gemini -y -m gemini-2.5-flash
Secondary: Direct Scripts
npx tsx scripts/cli.ts call-tool memory create_entities '{"entities":[...]}'
Fallback: General-Purpose Subagent
See references/gemini-cli-integration.md for complete examples.
Implementation Patterns
Pattern 1: Gemini CLI Auto-Execution (Primary)
Use Gemini CLI for automatic tool discovery and execution. Gemini CLI auto-loads GEMINI.md from project root to enforce structured JSON responses.
Quick Example:
IMPORTANT: Use stdin piping, NOT -p flag (deprecated, skips MCP init)
Add "Return JSON only per GEMINI.md instructions" to enforce structured output
echo "Take a screenshot of https://example.com. Return JSON only per GEMINI.md instructions." | gemini -y -m gemini-2.5-flash
Expected Output:
{ "server": "puppeteer", "tool": "screenshot", "success": true, "result": "screenshot.png", "error": null }
Benefits:
-
Automatic tool discovery
-
Structured JSON responses (parseable by Claude)
-
GEMINI.md auto-loaded for consistent formatting
-
Faster than subagent orchestration
-
No natural language ambiguity
See references/gemini-cli-integration.md for complete guide.
Pattern 2: Subagent-Based Execution (Fallback)
Use general-purpose agent when Gemini CLI unavailable. Subagent discovers tools, selects relevant ones, executes tasks, reports back.
Benefit: Main context stays clean, only relevant tool definitions loaded when needed.
Pattern 3: LLM-Driven Tool Selection
LLM reads assets/tools.json , intelligently selects relevant tools using context understanding, synonyms, and intent recognition.
Pattern 4: Multi-Server Orchestration
Coordinate tools across multiple servers. Each tool knows its source server for proper routing.
Scripts Reference
scripts/mcp-client.ts
Core MCP client manager class. Handles:
-
Config loading from .claude/.mcp.json
-
Connecting to multiple MCP servers
-
Listing tools/prompts/resources across all servers
-
Executing tools with proper error handling
-
Connection lifecycle management
scripts/cli.ts
Command-line interface for MCP operations. Commands:
-
list-tools
-
Display all tools and save to assets/tools.json
-
list-prompts
-
Display all prompts
-
list-resources
-
Display all resources
-
call-tool <server> <tool> <json>
-
Execute a tool
Note: list-tools persists complete tool catalog to assets/tools.json with full schemas for fast reference, offline browsing, and version control.
Quick Start
Method 1: Gemini CLI (recommended)
npm install -g gemini-cli mkdir -p .gemini && ln -sf .claude/.mcp.json .gemini/settings.json
IMPORTANT: Use stdin piping, NOT -p flag (deprecated, skips MCP init)
GEMINI.md auto-loads to enforce JSON responses
echo "Take a screenshot of https://example.com. Return JSON only per GEMINI.md instructions." | gemini -y -m gemini-2.5-flash
Returns structured JSON: {"server":"puppeteer","tool":"screenshot","success":true,"result":"screenshot.png","error":null}
Method 2: Scripts
cd .claude/skills/mcp-management/scripts && npm install npx tsx cli.ts list-tools # Saves to assets/tools.json npx tsx cli.ts call-tool memory create_entities '{"entities":[...]}'
Method 3: General-Purpose Subagent
See references/gemini-cli-integration.md for complete guide.
Technical Details
See references/mcp-protocol.md for:
-
JSON-RPC protocol details
-
Message types and formats
-
Error codes and handling
-
Transport mechanisms (stdio, HTTP+SSE)
-
Best practices
Integration Strategy
Execution Priority
Gemini CLI (Primary): Fast, automatic, intelligent tool selection
-
Check: command -v gemini
-
Execute: echo "<task>" | gemini -y -m gemini-2.5-flash
-
IMPORTANT: Use stdin piping, NOT -p flag (deprecated, skips MCP init)
-
Best for: All tasks when available
Direct CLI Scripts (Secondary): Manual tool specification
-
Use when: Need specific tool/server control
-
Execute: npx tsx scripts/cli.ts call-tool <server> <tool> <args>
General-Purpose Subagent (Fallback): Context-efficient delegation
-
Use when: Gemini unavailable or failed
-
Keeps main context clean
Integration with Agents
The general-purpose agent uses this skill to:
-
Check Gemini CLI availability first
-
Execute via gemini command if available
-
Fallback to direct script execution
-
Discover MCP capabilities without loading into main context
-
Report results back to main agent
This keeps main agent context clean and enables efficient MCP integration.
Related
-
mcp-builder
-
claude-code
IMPORTANT Task Planning Notes (MUST FOLLOW)
-
Always plan and break work into many small todo tasks
-
Always add a final review todo task to verify work quality and identify fixes/enhancements