From experimental
Configure an MCP server for Claude Code by combining Anthropic's official MCP documentation with the MCP provider's own documentation
How this skill is triggered — by the user, by Claude, or both
Slash command
/experimental:mcp-configurationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are helping the user configure an MCP (Model Context Protocol) server for use with Claude Code.
You are helping the user configure an MCP (Model Context Protocol) server for use with Claude Code.
Before configuring any MCP server, you MUST perform two research steps:
Use WebFetch to retrieve the latest official Anthropic MCP documentation:
https://code.claude.com/docs/en/mcp
This documentation covers:
claude mcp add)local (default, just you in this project), project (shared via .mcp.json), user (all your projects)claude mcp add-json.mcp.json${CLAUDE_PLUGIN_ROOT}claude mcp list, claude mcp get, claude mcp removeUse WebFetch and/or WebSearch to find the official documentation for the specific MCP server being configured. Look for:
Combine the Anthropic documentation (how MCP works in Claude Code) with the provider documentation (how this specific MCP works) to produce a correct, complete configuration. Cross-reference:
Based on the Anthropic documentation, these are the primary patterns:
claude mcp add --transport http <name> <url>
# With authentication header
claude mcp add --transport http <name> <url> \
--header "Authorization: Bearer <token>"
# With OAuth (authenticate interactively after adding)
claude mcp add --transport http <name> <url>
# Then run /mcp in Claude Code to authenticate
claude mcp add --transport stdio <name> -- <command> [args...]
# With environment variables
claude mcp add --transport stdio --env KEY=value <name> -- <command> [args...]
claude mcp add-json <name> '<json-config>'
# local (default): just you, this project
claude mcp add --transport http <name> <url>
# project: shared via .mcp.json, checked into version control
claude mcp add --transport http <name> --scope project <url>
# user: available across all your projects
claude mcp add --transport http <name> --scope user <url>
The following examples demonstrate the research-then-configure process for two real MCP servers. Use these as templates when configuring other MCPs.
Research findings from provider documentation:
The GitHub MCP server is GitHub's official MCP server (https://github.com/github/github-mcp-server). Key findings:
https://api.githubcopilot.com/mcp//mcp authentication flow) and PAT-based auth@modelcontextprotocol/server-github should NOT be usedrepos, issues, pull_requests, actions, code_security, discussionsghcr.io/github/github-mcp-serverGITHUB_HOST env varResearch findings from Anthropic documentation:
/mcp command--header or -H for PAT-based authuser for cross-project availabilitySynthesized configuration:
Option A - OAuth (simplest, recommended):
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
Then authenticate in Claude Code:
/mcp
# Select "Authenticate" for GitHub
Option B - Personal Access Token:
claude mcp add --transport http github \
https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
Option C - JSON configuration with PAT:
claude mcp add-json github '{
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_GITHUB_PAT"
}
}'
Option D - Local Docker server (no remote dependency):
claude mcp add github \
-e GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_GITHUB_PAT \
-- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN \
ghcr.io/github/github-mcp-server
Option E - User scope (available in all projects):
claude mcp add -s user --transport http github \
https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
Verification:
claude mcp list
claude mcp get github
Research findings from provider documentation:
The Azure DevOps MCP server is Microsoft's official MCP server (https://github.com/microsoft/azure-devops-mcp). Key findings:
npx -y @azure-devops/mcp <OrgName>ADO_MCP_AUTH_TOKEN env var with --authentication envvar flagcore, work, work-items, search, test-plans, repositories, wiki, pipelines, advanced-security-d flag reduces loaded tools and avoids overwhelming the modelcore domain is recommended for all configurations@azure-devops/mcp@nextResearch findings from Anthropic documentation:
--transport, --env) must come before the server name-- separator prevents flag conflicts between Claude Code and the MCP server--env or -eSynthesized configuration:
Option A - Interactive OAuth (simplest):
claude mcp add azure-devops -- npx -y @azure-devops/mcp YourOrgName
On first tool use, a browser window opens for Microsoft account authentication.
Option B - With domain filtering (recommended to avoid tool overload):
claude mcp add azure-devops -- npx -y @azure-devops/mcp YourOrgName \
-d core work-items repositories
Option C - PAT authentication (for CI/automation):
claude mcp add --env ADO_MCP_AUTH_TOKEN=YOUR_PAT azure-devops \
-- npx -y @azure-devops/mcp YourOrgName --authentication envvar
Option D - PAT with domain filtering:
claude mcp add --env ADO_MCP_AUTH_TOKEN=YOUR_PAT azure-devops \
-- npx -y @azure-devops/mcp YourOrgName \
--authentication envvar -d core work-items repositories pipelines
Option E - JSON configuration:
claude mcp add-json azure-devops '{
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "YourOrgName", "-d", "core", "work-items", "repositories"],
"env": {}
}'
Verification:
claude mcp list
claude mcp get azure-devops
When the user asks you to configure an MCP server:
https://code.claude.com/docs/en/mcp for the latest Anthropic MCP documentationclaude mcp add command by combining both sourcesclaude mcp list and claude mcp get <name>--transport, --env, --scope, --header) must come BEFORE the server name-- to separate Claude Code flags from the MCP server command/args.env files added to .gitignore@modelcontextprotocol/server-github). Always check the provider's latest docsnpx claudepluginhub jared-henry/claude-marketplace --plugin experimentalGuides integration of Model Context Protocol (MCP) servers into Claude Code plugins via .mcp.json or plugin.json for external service tools, with scope management (local, project, user).
Handles Claude Code MCP integration: installs/manages servers (HTTP/SSE/stdio), scopes, enterprise configs, OAuth auth, resources/@mentions, prompts, limits, security; delegates to docs-management.
Manages Model Context Protocol (MCP) servers for Claude Code projects: installs/configures .mcp.json, OAuth remotes, runtime enable/disable, troubleshooting connections.