mcp-setup
Set up and manage Model Context Protocol (MCP) servers to extend assistant capabilities.
Install
mkdir -p .claude/skills/mcp-setup && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1001" && unzip -o skill.zip -d .claude/skills/mcp-setup && rm skill.zipInstalls to .claude/skills/mcp-setup
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Configure popular MCP servers for enhanced agent capabilitiesKey capabilities
- →Validates MCP server configuration syntax
- →Stages menu-driven tool additions
- →Maps server choices to CLI commands
- →Resets faulty configuration states
How it works
Executes a staged AskUserQuestion flow to sequentially build tool definitions for the Claude MCP config.
Inputs & outputs
When to use mcp-setup
- →Configure a new MCP server
- →Set up Exa web search for the agent
- →Add GitHub integration via MCP
- →Reset or update existing MCP configurations
About this skill
MCP Setup
Configure Model Context Protocol (MCP) servers to extend Claude Code's capabilities with external tools like web search, file system access, and GitHub integration.
Overview
MCP servers provide additional tools that Claude Code agents can use. This skill helps you configure popular MCP servers using the claude mcp add command-line interface.
Step 1: Choose a Setup Path
Use AskUserQuestion with one question at a time and no more than 3 options per question. Recent Claude Code builds reject larger option payloads as invalid tool parameters, so keep the MCP selection flow staged.
Step 1.1: First menu
Question: "What kind of MCP setup would you like?"
Options:
- Recommended starter setup - Fast path for the most common OMC MCP additions
- Individual popular server - Pick one built-in server from a short follow-up menu
- Custom server - Add your own stdio or HTTP MCP server
Step 1.2: If the user chooses "Recommended starter setup"
Ask a follow-up AskUserQuestion:
Question: "Which recommended MCP bundle should I configure?"
Options:
- Context7 only (Recommended) - Zero-config docs/context server
- Context7 + Exa - Docs/context plus enhanced web search
- Full recommended bundle - Context7, Exa, Filesystem, and GitHub
Map that choice to the server list you will configure.
Step 1.3: If the user chooses "Individual popular server"
Ask a follow-up AskUserQuestion:
Question: "Which server should I configure first?"
Options:
- Context7 (Recommended) - Documentation and code context from popular libraries
- Exa Web Search - Enhanced web search (replaces built-in websearch)
- More server choices - Filesystem, GitHub, or the full recommended bundle
If the user chooses More server choices, ask one more AskUserQuestion:
Question: "Which additional MCP option do you want?"
Options:
- Filesystem (Recommended) - Extended file system access with additional capabilities
- GitHub - GitHub API integration for issues, PRs, and repository management
- Full recommended bundle - Configure Context7, Exa, Filesystem, and GitHub together
Step 1.4: If the user chooses "Custom server"
Skip directly to the Custom MCP Server section below.
Step 2: Gather Required Information
For Context7:
No API key required. Ready to use immediately.
For Exa Web Search:
Ask for API key:
Do you have an Exa API key?
- Get one at: https://exa.ai
- Enter your API key, or type 'skip' to configure later
For Filesystem:
Ask for allowed directories:
Which directories should the filesystem MCP have access to?
Default: Current working directory
Enter comma-separated paths, or press Enter for default
For GitHub:
Ask for token:
Do you have a GitHub Personal Access Token?
- Create one at: https://github.com/settings/tokens
- Recommended scopes: repo, read:org
- Enter your token, or type 'skip' to configure later
Step 3: Add MCP Servers Using CLI
Use the claude mcp add command to configure each MCP server. The CLI automatically handles settings.json updates and merging.
Context7 Configuration:
claude mcp add context7 -- npx -y @upstash/context7-mcp
Exa Web Search Configuration:
claude mcp add -e EXA_API_KEY=<user-provided-key> exa -- npx -y exa-mcp-server
Filesystem Configuration:
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem <allowed-directories>
GitHub Configuration:
Option 1: Docker (local)
claude mcp add -e GITHUB_PERSONAL_ACCESS_TOKEN=<user-provided-token> github -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
Option 2: HTTP (remote)
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
Note: Docker option requires Docker installed. HTTP option is simpler but may have different capabilities.
Step 4: Verify Installation
After configuration, verify the MCP servers are properly set up:
# List configured MCP servers
claude mcp list
This will display all configured MCP servers and their status.
Step 5: Show Completion Message
MCP Server Configuration Complete!
CONFIGURED SERVERS:
[List the servers that were configured]
NEXT STEPS:
1. Restart Claude Code for changes to take effect
2. The configured MCP tools will be available to all agents
3. Run `claude mcp list` to verify configuration
USAGE TIPS:
- Context7: Ask about library documentation (e.g., "How do I use React hooks?")
- Exa: Use for web searches (e.g., "Search the web for latest TypeScript features")
- Filesystem: Extended file operations beyond the working directory
- GitHub: Interact with GitHub repos, issues, and PRs
TROUBLESHOOTING:
- If MCP servers don't appear, run `claude mcp list` to check status
- Ensure you have Node.js 18+ installed for npx-based servers
- For GitHub Docker option, ensure Docker is installed and running
- Run /oh-my-claudecode:omc-doctor to diagnose issues
MANAGING MCP SERVERS:
- Add more servers: /oh-my-claudecode:mcp-setup or `claude mcp add ...`
- List servers: `claude mcp list`
- Remove a server: `claude mcp remove <server-name>`
Custom MCP Server
If user selects "Custom":
Ask for:
- Server name (identifier)
- Transport type:
stdio(default) orhttp - For stdio: Command and arguments (e.g.,
npx my-mcp-server) - For http: URL (e.g.,
https://example.com/mcp) - Environment variables (optional, key=value pairs)
- HTTP headers (optional, for http transport only)
Then construct and run the appropriate claude mcp add command:
For stdio servers:
# Without environment variables
claude mcp add <server-name> -- <command> [args...]
# With environment variables
claude mcp add -e KEY1=value1 -e KEY2=value2 <server-name> -- <command> [args...]
For HTTP servers:
# Basic HTTP server
claude mcp add --transport http <server-name> <url>
# HTTP server with headers
claude mcp add --transport http --header "Authorization: Bearer <token>" <server-name> <url>
Company-context convention
If the custom server is meant to provide organization-specific reference material to OMC workflows, prefer a single tool named get_company_context that returns markdown via { context: string }.
Example local registration:
claude mcp add company-context -- node examples/vendor-mcp-server/server.mjs
Then point OMC at the full tool name in .claude/omc.jsonc or ~/.config/claude-omc/config.jsonc:
{
"companyContext": {
"tool": "mcp__company-context__get_company_context",
"onError": "warn"
}
}
This remains advisory prompt context, not runtime enforcement.
Common Issues
MCP Server Not Loading
- Ensure Node.js 18+ is installed
- Check that npx is available in PATH
- Run
claude mcp listto verify server status - Check server logs for errors
API Key Issues
- Exa: Verify key at https://dashboard.exa.ai
- GitHub: Ensure token has required scopes (repo, read:org)
- Re-run
claude mcp addwith correct credentials if needed
Agents Still Using Built-in Tools
- Restart Claude Code after configuration
- The built-in websearch will be deprioritized when exa is configured
- Run
claude mcp listto confirm servers are active
Removing or Updating a Server
- Remove:
claude mcp remove <server-name> - Update: Remove the old server, then add it again with new configuration
When not to use it
- →Direct manual modification of config files
- →Environment where stdio access is restricted
Prerequisites
Limitations
- →Limited to predefined menu options
- →Cannot troubleshoot external API network failures
How it compares
Avoids invalid parameter payloads by enforcing a one-question-at-a-time configuration menu.
Compared to similar skills
mcp-setup side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| mcp-setup (this skill) | 5 | 3mo | Review | Beginner |
| using-superpowers | 95 | 3mo | No flags | Beginner |
| ultrawork | 11 | 2mo | No flags | Advanced |
| clawhub | 25 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Yeachan-Heo
View all by Yeachan-Heo →You might also like
using-superpowers
obra
Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists
ultrawork
Yeachan-Heo
Parallel execution engine for high-throughput task completion
clawhub
openclaw
Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawhub CLI.
skill-installer
openai
Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).
continuous-learning
affaan-m
Automatically extract reusable patterns from Claude Code sessions and save them as learned skills for future use.
memory-keeper-proactive-context-maintenance
b4CU-R4U
Automatically detect and maintain memory freshness by monitoring context staleness, significant code changes, task completions, and phase transitions. Proactively suggests and executes memory sync operations with user confirmation. Use when the user says "sync memory", "update context", or when the Skill detects that context is stale (>2 hours), significant changes have occurred (new commits), tasks completed, or major milestones reached. Replaces passive "context is stale" warnings with active maintenance.