
Mcp Integration
Wire external APIs and services into Claude Code plugins via Model Context Protocol servers and `.mcp.json` bundles.
Overview
MCP Integration is an agent skill most often used in Build (also Operate integrations) that configures Model Context Protocol servers in Claude Code plugins so external tools and services are available to the agent.
Install
npx skills add https://github.com/anthropics/claude-code --skill mcp-integrationWhat is this skill?
- Documents two bundle patterns: dedicated `.mcp.json` at plugin root (recommended) vs inline plugin config
- Supports MCP server transports including SSE, stdio, HTTP, and WebSocket
- Shows `${CLAUDE_PLUGIN_ROOT}` paths and env vars for packaged server binaries and config
- Covers OAuth and complex authentication flows for third-party services
- Designed to expose many related tools (10+) from a single external service connection
- Two MCP server configuration methods documented (dedicated `.mcp.json` recommended vs alternatives)
- Four MCP transport types called out: SSE, stdio, HTTP, and WebSocket
- Single service integration can provide 10+ related MCP tools
Adoption & trust: 10k installs on skills.sh; 131k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your Claude Code plugin needs reliable access to external APIs or data stores, but you are unsure how to bundle MCP servers, env vars, and auth correctly.
Who is it for?
Indie developers publishing Claude Code plugins that must talk to databases, OAuth-backed SaaS, or custom local servers via MCP.
Skip if: Teams that only need a one-off REST script with no plugin packaging, or builders not using Claude Code’s plugin and MCP bundling model.
When should I use this skill?
User asks to add or integrate an MCP server, configure `.mcp.json`, set up Model Context Protocol, connect external services, or mentions `${CLAUDE_PLUGIN_ROOT}` with MCP/OAuth.
What do I get? / Deliverables
You get a maintainable `.mcp.json` (or equivalent) layout with working server launches and env wiring so the agent can call bundled MCP tools during development and ongoing use.
- Root or plugin `.mcp.json` server entries with command, args, and env
- Documented auth/OAuth flow for the external service
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
MCP setup is the canonical build-phase work of connecting agent runtimes to databases, OAuth APIs, and other backends before shipping. Integrations subphase covers structured tool exposure from external services—not generic frontend or docs work.
Where it fits
Bundle a database MCP server with args pointing at `${CLAUDE_PLUGIN_ROOT}/config.json` before first deploy.
Expose a dozen related CRM tools from one MCP connection instead of scattered prompt instructions.
Rotate `${DB_URL}` or OAuth credentials in `.mcp.json` env without rewriting agent prompts.
How it compares
Structured MCP plugin wiring—not a generic REST client skill or a hosted MCP marketplace listing alone.
Common Questions / FAQ
Who is MCP Integration for?
Solo and indie builders creating Claude Code plugins who want external services exposed as MCP tools with bundled server config and authentication guidance.
When should I use MCP Integration?
During build when adding `.mcp.json`, integrating SSE/stdio/HTTP/WebSocket servers, or connecting OAuth APIs; also during operate when extending an existing plugin’s tool surface.
Is MCP Integration safe to install?
Review the Security Audits panel on this Prism page before enabling skills that reference env secrets, network, and external APIs in your plugin bundle.
SKILL.md
READMESKILL.md - Mcp Integration
# MCP Integration for Claude Code Plugins ## Overview Model Context Protocol (MCP) enables Claude Code plugins to integrate with external services and APIs by providing structured tool access. Use MCP integration to expose external service capabilities as tools within Claude Code. **Key capabilities:** - Connect to external services (databases, APIs, file systems) - Provide 10+ related tools from a single service - Handle OAuth and complex authentication flows - Bundle MCP servers with plugins for automatic setup ## MCP Server Configuration Methods Plugins can bundle MCP servers in two ways: ### Method 1: Dedicated .mcp.json (Recommended) Create `.mcp.json` at plugin root: ```json { "database-tools": { "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server", "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"], "env": { "DB_URL": "${DB_URL}" } } } ``` **Benefits:** - Clear separation of concerns - Easier to maintain - Better for multiple servers ### Method 2: Inline in plugin.json Add `mcpServers` field to plugin.json: ```json { "name": "my-plugin", "version": "1.0.0", "mcpServers": { "plugin-api": { "command": "${CLAUDE_PLUGIN_ROOT}/servers/api-server", "args": ["--port", "8080"] } } } ``` **Benefits:** - Single configuration file - Good for simple single-server plugins ## MCP Server Types ### stdio (Local Process) Execute local MCP servers as child processes. Best for local tools and custom servers. **Configuration:** ```json { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"], "env": { "LOG_LEVEL": "debug" } } } ``` **Use cases:** - File system access - Local database connections - Custom MCP servers - NPM-packaged MCP servers **Process management:** - Claude Code spawns and manages the process - Communicates via stdin/stdout - Terminates when Claude Code exits ### SSE (Server-Sent Events) Connect to hosted MCP servers with OAuth support. Best for cloud services. **Configuration:** ```json { "asana": { "type": "sse", "url": "https://mcp.asana.com/sse" } } ``` **Use cases:** - Official hosted MCP servers (Asana, GitHub, etc.) - Cloud services with MCP endpoints - OAuth-based authentication - No local installation needed **Authentication:** - OAuth flows handled automatically - User prompted on first use - Tokens managed by Claude Code ### HTTP (REST API) Connect to RESTful MCP servers with token authentication. **Configuration:** ```json { "api-service": { "type": "http", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${API_TOKEN}", "X-Custom-Header": "value" } } } ``` **Use cases:** - REST API-based MCP servers - Token-based authentication - Custom API backends - Stateless interactions ### WebSocket (Real-time) Connect to WebSocket MCP servers for real-time bidirectional communication. **Configuration:** ```json { "realtime-service": { "type": "ws", "url": "wss://mcp.example.com/ws", "headers": { "Authorization": "Bearer ${TOKEN}" } } } ``` **Use cases:** - Real-time data streaming - Persistent connections - Push notifications from server - Low-latency requirements ## Environment Variable Expansion All MCP configurations support environment variable substitution: **${CLAUDE_PLUGIN_ROOT}** - Plugin directory (always use for portability): ```json { "command": "${CLA