Files
gh-rafaelcalleja-claude-mar…/skills/mcp-management/README.md
2025-11-30 08:48:52 +08:00

5.6 KiB

MCP Management Skill

Intelligent management and execution of Model Context Protocol (MCP) servers.

Overview

This skill enables Claude to discover, analyze, and execute MCP server capabilities without polluting the main context window. Perfect for context-efficient MCP integration using subagent-based architecture.

Features

  • Multi-Server Management: Connect to multiple MCP servers from single config
  • Intelligent Tool Discovery: Analyze which tools are relevant for specific tasks
  • Progressive Disclosure: Load only necessary tool definitions
  • Execution Engine: Call MCP tools with proper parameter handling
  • Context Efficiency: Delegate MCP operations to mcp-manager subagent

Quick Start

1. Install Dependencies

cd .claude/skills/mcp-management/scripts
npm install

2. Configure MCP Servers

Create .claude/.mcp.json:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"]
    }
  }
}

See .claude/.mcp.json.example for more examples.

3. Test Connection

cd .claude/skills/mcp-management/scripts
npx ts-node cli.ts list-tools

Usage Patterns

Pattern 1: Discover Available Tools

npx ts-node scripts/cli.ts list-tools
npx ts-node scripts/cli.ts list-prompts
npx ts-node scripts/cli.ts list-resources

Pattern 2: LLM-Driven Tool Selection

The LLM reads assets/tools.json and intelligently selects tools. No separate analysis command needed - the LLM's understanding of context and intent is superior to keyword matching.

Pattern 3: Execute MCP Tools

npx ts-node scripts/cli.ts call-tool memory add '{"key":"name","value":"Alice"}'

Pattern 4: Use with Subagent

In main Claude conversation:

User: "I need to search the web and save results"
Main Agent: [Spawns mcp-manager subagent]
mcp-manager: Discovers brave-search + memory tools, reports back
Main Agent: Uses recommended tools for implementation

Architecture

Main Agent (Claude)
    ↓ (delegates MCP tasks)
mcp-manager Subagent
    ↓ (uses skill)
mcp-management Skill
    ↓ (connects via)
MCP Servers (memory, filesystem, etc.)

Benefits:

  • Main agent context stays clean
  • MCP discovery happens in isolated subagent context
  • Only relevant tool definitions loaded when needed
  • Reduced token usage

File Structure

mcp-management/
├── SKILL.md                    # Skill definition
├── README.md                   # This file
├── scripts/
│   ├── mcp-client.ts          # Core MCP client manager
│   ├── analyze-tools.ts       # Intelligent tool selection
│   ├── cli.ts                 # Command-line interface
│   ├── package.json           # Dependencies
│   ├── tsconfig.json          # TypeScript config
│   └── .env.example           # Environment template
└── references/
    ├── mcp-protocol.md        # MCP protocol reference
    └── configuration.md       # Config guide

Scripts Reference

mcp-client.ts

Core client manager class:

  • Load config from .claude/.mcp.json
  • Connect to multiple MCP servers
  • List/execute tools, prompts, resources
  • Lifecycle management

cli.ts

Command-line interface:

  • list-tools - Show all tools and save to assets/tools.json
  • list-prompts - Show all prompts
  • list-resources - Show all resources
  • call-tool <server> <tool> <json> - Execute tool

Note: Tool analysis is performed by the LLM reading assets/tools.json, which provides better context understanding than algorithmic matching.

Configuration

Environment Variables

Scripts check for variables in this order:

  1. process.env (runtime)
  2. .claude/skills/mcp-management/.env
  3. .claude/skills/.env
  4. .claude/.env

MCP Config Format

{
  "mcpServers": {
    "server-name": {
      "command": "executable",          // Required
      "args": ["arg1", "arg2"],        // Required
      "env": {                          // Optional
        "VAR": "value",
        "API_KEY": "${ENV_VAR}"        // Reference env vars
      }
    }
  }
}

Common MCP Servers

Install with npx:

  • @modelcontextprotocol/server-memory - Key-value storage
  • @modelcontextprotocol/server-filesystem - File operations
  • @modelcontextprotocol/server-brave-search - Web search
  • @modelcontextprotocol/server-puppeteer - Browser automation
  • @modelcontextprotocol/server-fetch - HTTP requests

Integration with mcp-manager Agent

The mcp-manager agent (.claude/agents/mcp-manager.md) uses this skill to:

  1. Discover: Connect to MCP servers, list capabilities
  2. Analyze: Filter relevant tools for tasks
  3. Execute: Call MCP tools on behalf of main agent
  4. Report: Send concise results back to main agent

This architecture keeps main context clean and enables efficient MCP integration.

Troubleshooting

"Config not found"

Ensure .claude/.mcp.json exists and is valid JSON.

"Server connection failed"

Check:

  • Server command is installed (npx packages installed?)
  • Server args are correct
  • Environment variables are set

"Tool not found"

List available tools first:

npx ts-node scripts/cli.ts list-tools

Resources

License

MIT