
Mcp Integration
Wire HTTP, SSE, and stdio MCP servers into Claude plugins with correct headers, env vars, and transport types.
Overview
mcp-integration is an agent skill for the Build phase that shows how to configure HTTP, SSE, and stdio MCP servers for Claude plugins.
Install
npx skills add https://github.com/anthropics/claude-plugins-official --skill mcp-integrationWhat is this skill?
- Example HTTP MCP blocks with Bearer auth and API version headers
- SSE patterns for hosted services (e.g. Asana, GitHub-style URLs)
- Stdio patterns via npx, custom Node servers, and Python module launches
- Env substitution for tokens, DATABASE_URL, and CLAUDE_PROJECT_DIR
- JSON-only config templates aligned with Claude plugin MCP manifests
- 3 transport example families: HTTP, SSE, and stdio
Adoption & trust: 3.1k installs on skills.sh; 29.6k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You know which MCP server you need but lack correct transport URLs, headers, args, and env wiring in your plugin config.
Who is it for?
Solo builders shipping Claude plugins who need authoritative MCP config snippets for HTTP APIs, hosted SSE services, or local stdio tools.
Skip if: Teams that only need generic MCP theory without Claude plugin manifests, or shops that already maintain a generated config pipeline.
When should I use this skill?
When adding or fixing MCP server entries in Claude plugin configuration for HTTP, SSE, or stdio transports.
What do I get? / Deliverables
You get validated JSON MCP server entries ready to drop into Claude plugin configuration so agents can invoke remote and local tools.
- MCP server JSON config blocks
- Header and env wiring for each transport type
Recommended Skills
Journey fit
MCP server wiring is core agent integration work during product build, before agents can call external tools. Configurations map directly to third-party and local MCP endpoints—the integrations shelf.
How it compares
Use for Claude-plugin MCP manifest patterns instead of improvising server blocks from scattered MCP docs.
Common Questions / FAQ
Who is mcp-integration for?
Indie and solo developers using Anthropic Claude plugins or Claude Code who integrate external tools via the Model Context Protocol.
When should I use mcp-integration?
During Build when wiring integrations—HTTP REST MCP, SSE hosted services, or stdio local servers—or when debugging auth headers and env vars in agent tooling.
Is mcp-integration safe to install?
Review the Security Audits panel on this Prism page; treat example configs as templates and never commit real API tokens or database URLs.
SKILL.md
READMESKILL.md - Mcp Integration
{ "_comment": "Example HTTP MCP server configuration for REST APIs", "rest-api": { "type": "http", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${API_TOKEN}", "Content-Type": "application/json", "X-API-Version": "2024-01-01" } }, "internal-service": { "type": "http", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${API_TOKEN}", "X-Service-Name": "claude-plugin" } } } { "_comment": "Example SSE MCP server configuration for hosted cloud services", "asana": { "type": "sse", "url": "https://mcp.asana.com/sse" }, "github": { "type": "sse", "url": "https://mcp.github.com/sse" }, "custom-service": { "type": "sse", "url": "https://mcp.example.com/sse", "headers": { "X-API-Version": "v1", "X-Client-ID": "${CLIENT_ID}" } } } { "_comment": "Example stdio MCP server configuration for local file system access", "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "${CLAUDE_PROJECT_DIR}"], "env": { "LOG_LEVEL": "info" } }, "database": { "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server.js", "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config/db.json"], "env": { "DATABASE_URL": "${DATABASE_URL}", "DB_POOL_SIZE": "10" } }, "custom-tools": { "command": "python", "args": ["-m", "my_mcp_server", "--port", "8080"], "env": { "API_KEY": "${CUSTOM_API_KEY}", "DEBUG": "false" } } } # MCP Authentication Patterns Complete guide to authentication methods for MCP servers in Claude Code plugins. ## Overview MCP servers support multiple authentication methods depending on the server type and service requirements. Choose the method that best matches your use case and security requirements. ## OAuth (Automatic) ### How It Works Claude Code automatically handles the complete OAuth 2.0 flow for SSE and HTTP servers: 1. User attempts to use MCP tool 2. Claude Code detects authentication needed 3. Opens browser for OAuth consent 4. User authorizes in browser 5. Tokens stored securely by Claude Code 6. Automatic token refresh ### Configuration ```json { "service": { "type": "sse", "url": "https://mcp.example.com/sse" } } ``` No additional auth configuration needed! Claude Code handles everything. ### Supported Services **Known OAuth-enabled MCP servers:** - Asana: `https://mcp.asana.com/sse` - GitHub (when available) - Google services (when available) - Custom OAuth servers ### OAuth Scopes OAuth scopes are determined by the MCP server. Users see required scopes during the consent flow. **Document required scopes in your README:** ```markdown ## Authentication This plugin requires the following Asana permissions: - Read tasks and projects - Create and update tasks - Access workspace data ``` ### Token Storage Tokens are stored securely by Claude Code: - Not accessible to plugins - Encrypted at rest - Automatic refresh - Cleared on sign-out ### Troubleshooting OAuth **Authentication loop:** - Clear cached tokens (sign out and sign in) - Check OAuth redirect URLs - Verify server OAuth configuration **Scope issues:** - User may need to re-authorize for new scopes - Check server documentation for required scopes **Token expiration:** - Claude Code auto-refreshes - If refresh fails, prompts re-authentication ## Token-Based Authentication ### Bearer Tokens Most common for HTTP and WebSocket servers. **Configuration:** ```json { "api": { "type": "http", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${API_TOKEN}" } } } ``` **Environment variable:** ```bash export API_TOKEN="your-secret-token-here" ``` ### API Keys Alternative to Bearer tokens, often in custom headers. **Configuration:** ```json { "api": { "type": "http", "url": "https://api.ex