Comprehensive MCP server configuration templates, .mcp.json management, API key handling, and server installation helpers. Use when configuring MCP servers, managing .mcp.json files, setting up API keys, installing MCP servers, validating MCP configs, or when user mentions MCP setup, server configuration, MCP environment, API key storage, or MCP installation.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
examples/api-key-management.mdexamples/basic-setup.mdexamples/multiple-servers.mdexamples/production-config.mdexamples/troubleshooting.mdscripts/add-mcp-server.shscripts/init-mcp-config.shscripts/install-mcp-server.shscripts/manage-api-keys.shscripts/registry-add.shscripts/registry-init.shscripts/registry-list.shscripts/registry-sync.shscripts/transform-claude.shscripts/transform-vscode.shscripts/validate-mcp-config.shtemplates/basic-mcp-config.jsontemplates/http-server.jsontemplates/multi-server-config.jsontemplates/python-fastmcp.jsonThis skill provides comprehensive tooling for managing MCP (Model Context Protocol) server configurations, including templates, validation scripts, API key management, and installation helpers.
Registry Management (v2.1+):
scripts/registry-init.sh - Initialize universal MCP registry at ~/.claude/mcp-registry/scripts/registry-add.sh - Add server to universal registryscripts/registry-list.sh - List all servers in registryscripts/registry-sync.sh - Sync registry to target format(s)scripts/transform-claude.sh - Transform registry → .mcp.json (Claude Code format)scripts/transform-vscode.sh - Transform registry → .vscode/mcp.json (VS Code format)Configuration Management:
scripts/init-mcp-config.sh - Initialize .mcp.json with proper structurescripts/add-mcp-server.sh - Add new MCP server to existing configscripts/validate-mcp-config.sh - Validate .mcp.json structure and server definitionsscripts/manage-api-keys.sh - Securely manage API keys in project .env files (v2.1: .env-only mode)scripts/install-mcp-server.sh - Install and configure MCP server packagesServer Type Templates:
templates/basic-mcp-config.json - Basic .mcp.json structuretemplates/stdio-server.json - stdio MCP server configurationtemplates/http-server.json - HTTP MCP server configurationtemplates/python-fastmcp.json - Python FastMCP server setuptemplates/typescript-server.json - TypeScript MCP server setuptemplates/multi-server-config.json - Multiple MCP servers configurationRegistry Templates (v2.1+):
templates/.env.example - Complete .env template with all known MCP API keys~/.claude/mcp-registry/marketplace.json - VS Code marketplace servers referenceDocumentation:
examples/basic-setup.md - Basic MCP configuration setupexamples/api-key-management.md - Secure API key handling patternsexamples/multiple-servers.md - Managing multiple MCP serversexamples/troubleshooting.md - Common issues and solutionsexamples/production-config.md - Production-ready MCP configurationsBest Practice: Use the universal registry for managing MCP servers across multiple formats (Claude Code, VS Code, Gemini, Qwen, Codex).
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-init.sh
Creates:
~/.claude/mcp-registry/servers.json - Universal server definitions~/.claude/mcp-registry/marketplace.json - VS Code marketplace reference~/.claude/mcp-registry/backups/ - Automatic backups~/.claude/mcp-registry/README.md - Documentation# stdio server example (most common)
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-add.sh context7 \
--transport stdio \
--command npx \
--args "-y,@upstash/context7-mcp" \
--env "CONTEXT7_API_KEY=\${CONTEXT7_API_KEY}" \
--description "Up-to-date library documentation"
# http-remote server example
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-add.sh supabase \
--transport http-remote \
--url "https://mcp.supabase.com/mcp" \
--description "Supabase database access"
# http-remote-auth server example (VS Code only)
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-add.sh github \
--transport http-remote-auth \
--url "https://api.githubcopilot.com/mcp/" \
--header "Authorization: Bearer \${GITHUB_TOKEN}" \
--description "GitHub Copilot MCP API"
# Sync to Claude Code format (.mcp.json)
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-sync.sh claude
# Sync to VS Code format (.vscode/mcp.json)
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-sync.sh vscode
# Sync to both formats
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-sync.sh both
# Add API keys to project .env
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/manage-api-keys.sh \
--action add \
--key-name CONTEXT7_API_KEY
# Use templates/.env.example as reference
# List all servers
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/registry-list.sh
# Or use jq directly
jq -r '.servers | to_entries[] | "\(.key) - \(.value.transport) - \(.value.description)"' \
~/.claude/mcp-registry/servers.json
When user wants to set up MCP configuration:
Check for existing configuration:
.mcp.json in project root or ~/.claude/ directoryInitialize configuration:
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/init-mcp-config.sh [path]
Use appropriate template:
templates/ directoryTo add a new MCP server to existing configuration:
Execute add-mcp-server script:
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/add-mcp-server.sh \
--name "server-name" \
--type "stdio|http" \
--command "python" \
--args "-m server_module" \
--config-path ".mcp.json"
Server types supported:
Common stdio configurations:
python -m fastmcp server_namenode dist/index.jsbash ./server.shFor servers requiring API keys or secrets:
Create/update .env file:
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/manage-api-keys.sh \
--action add \
--key-name "OPENAI_API_KEY" \
--env-file ".env"
Reference in MCP config:
${API_KEY} syntax in .mcp.jsonSecurity best practices:
Before using MCP configuration:
Run validation script:
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/validate-mcp-config.sh .mcp.json
Validation checks:
Auto-fix common issues:
To install MCP server packages:
Use installation script:
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/mcp-configuration/scripts/install-mcp-server.sh \
--type "python|typescript|npm" \
--package "fastmcp" \
--global
Installation types:
Post-installation:
{
"mcpServers": {
"server-name": {
"type": "stdio",
"command": "python",
"args": ["-m", "server_module"],
"env": {
"API_KEY": "${API_KEY}"
}
}
}
}
MCP configs support variable substitution:
${VAR_NAME} - Reads from environment or .env file# Initialize config
bash scripts/init-mcp-config.sh ~/.claude/.mcp.json
# Add filesystem server
bash scripts/add-mcp-server.sh --name filesystem --type stdio \
--command npx --args "@modelcontextprotocol/server-filesystem /path/to/files"
# Validate
bash scripts/validate-mcp-config.sh ~/.claude/.mcp.json
# Add API key to .env
bash scripts/manage-api-keys.sh --action add --key-name OPENAI_API_KEY
# Add server with API key
bash scripts/add-mcp-server.sh --name openai --type http \
--url "https://api.openai.com" --env-var OPENAI_API_KEY
# Install FastMCP
bash scripts/install-mcp-server.sh --type python --package fastmcp
# Use Python template
# Read: templates/python-fastmcp.json
# Customize and add to .mcp.json
| Template | Purpose | Use When |
|---|---|---|
| basic-mcp-config.json | Minimal structure | Starting fresh |
| stdio-server.json | Local process | Most MCP servers |
| http-server.json | Remote API | Cloud services |
| python-fastmcp.json | Python FastMCP | Python MCP dev |
| typescript-server.json | TypeScript MCP | TS/Node MCP dev |
| multi-server-config.json | Multiple servers | Complex setups |
When configuration is complete:
Common issues and solutions:
Invalid JSON:
Command not found:
which python or which node/usr/bin/pythonAPI key errors:
Server not loading:
| Feature | Claude Code (.mcp.json) | VS Code (.vscode/mcp.json) |
|---|---|---|
| Root key | mcpServers | servers |
| stdio support | ✅ Best | ✅ Good |
| http-local support | ⚠️ Manual start required | ✅ Full support |
| http-remote support | ✅ Partial | ✅ Full |
| http-remote-auth support | ❌ Not supported | ✅ Full support |
| Environment variables | ${VAR} required | Direct or ${VAR} |
| Marketplace servers | Not applicable | Pre-installed |
From templates/.env.example:
project-detection - Detect project type for appropriate MCP serversenvironment-setup - Verify tools and environment variablesversion-management - Manage MCP server versionsPlugin: foundation Skill Type: Configuration Management + Validation + Registry Version: 2.1.0 (Registry support added) Auto-invocation: Yes (via description matching)