Skip to content
Back to skills

556 Mcp Integration 29e711f3

ASecurity

Model Context Protocol (MCP) integration for connecting Claude Code to external tools and services.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
securityjavascriptpythonjavabashsqlnodetestinggitapidatabase

Works with

  • claude code
  • api
  • mcp

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 556-mcp-integration_29e711f3 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 556 Mcp Integration 29e711f3?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 556 Mcp Integration 29e711f3
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-556-mcp-integration-29e711f3/badge)](https://www.skillsdirectory.com/skills/tools-only-556-mcp-integration-29e711f3)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# MCP Integration

Model Context Protocol (MCP) integration for connecting Claude Code to external tools and services.

## What is MCP?

Model Context Protocol enables Claude Code to:
- Connect to external tools and services
- Access resources (files, databases, APIs)
- Use custom tools
- Provide prompts and completions

## Configuration

MCP servers are configured in `.claude/mcp.json`:

### Basic Configuration
```json
{
  "mcpServers": {
    "server-name": {
      "command": "command-to-run",
      "args": ["arg1", "arg2"],
      "env": {
        "VAR_NAME": "value"
      }
    }
  }
}
```

### Example Configuration
```json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"],
      "env": {}
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost:5432/db"
      }
    }
  }
}
```

## Common MCP Servers

### Filesystem Access
```json
{
  "filesystem": {
    "command": "npx",
    "args": [
      "-y",
      "@modelcontextprotocol/server-filesystem",
      "/path/to/allowed/files"
    ]
  }
}
```

**Capabilities:**
- Read/write files
- List directories
- File search
- Path restrictions for security

### GitHub Integration
```json
{
  "github": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "env": {
      "GITHUB_TOKEN": "${GITHUB_TOKEN}"
    }
  }
}
```

**Capabilities:**
- Repository access
- Issues and PRs
- Code search
- Workflow management

### PostgreSQL Database
```json
{
  "postgres": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-postgres"],
    "env": {
      "DATABASE_URL": "${DATABASE_URL}"
    }
  }
}
```

**Capabilities:**
- Query execution
- Schema inspection
- Transaction management
- Connection pooling

### Brave Search
```json
{
  "brave-search": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-brave-search"],
    "env": {
      "BRAVE_API_KEY": "${BRAVE_API_KEY}"
    }
  }
}
```

**Capabilities:**
- Web search
- News search
- Local search
- Result filtering

### Puppeteer (Browser Automation)
```json
{
  "puppeteer": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
  }
}
```

**Capabilities:**
- Browser automation
- Screenshots
- PDF generation
- Web scraping

## Remote MCP Servers

Connect to MCP servers over HTTP/SSE:

### Basic Remote Server
```json
{
  "mcpServers": {
    "remote-service": {
      "url": "https://api.example.com/mcp"
    }
  }
}
```

### With Authentication
```json
{
  "mcpServers": {
    "remote-service": {
      "url": "https://api.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${API_TOKEN}",
        "X-Custom-Header": "value"
      }
    }
  }
}
```

### With Proxy
```json
{
  "mcpServers": {
    "remote-service": {
      "url": "https://api.example.com/mcp",
      "proxy": "http://proxy.company.com:8080"
    }
  }
}
```

## Environment Variables

Use environment variables for sensitive data:

### .env File
```bash
# .claude/.env
GITHUB_TOKEN=ghp_xxxxx
DATABASE_URL=postgresql://user:pass@localhost/db
BRAVE_API_KEY=BSAxxxxx
API_TOKEN=token_xxxxx
```

### Reference in mcp.json
```json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}
```

## Testing MCP Servers

### Inspector Tool
```bash
npx @modelcontextprotocol/inspector
```

Opens web UI for testing MCP servers:
- List available tools
- Test tool invocations
- View resources
- Debug connections

### Manual Testing
```bash
# Test server command
npx -y @modelcontextprotocol/server-filesystem /tmp

# Check server output
echo '{"jsonrpc":"2.0","method":"initialize","params":{}}' | \
  npx -y @modelcontextprotocol/server-filesystem /tmp
```

## Creating Custom MCP Servers

### Python Server
```python
from mcp.server import Server
from mcp.server.stdio import stdio_server

server = Server("my-server")

@server.tool()
async def my_tool(arg: str) -> str:
    """Tool description"""
    return f"Result: {arg}"

if __name__ == "__main__":
    stdio_server(server)
```

### Configuration
```json
{
  "mcpServers": {
    "my-server": {
      "command": "python",
      "args": ["path/to/server.py"]
    }
  }
}
```

### Node.js Server
```javascript
import { Server } from "@modelcontextprotocol/server-node";

const server = new Server("my-server");

server.tool({
  name: "my-tool",
  description: "Tool description",
  parameters: { arg: "string" }
}, async ({ arg }) => {
  return `Result: ${arg}`;
});

server.listen();
```

## Security Considerations

### Filesystem Access
- Restrict to specific directories
- Use read-only access when possible
- Validate file paths
- Monitor access logs

### API Credentials
- Use environment variables
- Never commit credentials
- Rotate keys regularly
- Implement least-privilege access

### Network Access
- Whitelist allowed domains
- Use HTTPS only
- Implement timeouts
- Rate limit requests

### Remote Servers
- Validate server certificates
- Use authentication
- Implement request signing
- Monitor for anomalies

## Troubleshooting

### Server Not Starting
```bash
# Check server command
npx -y @modelcontextprotocol/server-filesystem /tmp

# Verify environment variables
echo $GITHUB_TOKEN

# Check logs
cat ~/.claude/logs/mcp-*.log
```

### Connection Errors
```bash
# Test network connectivity
curl https://api.example.com/mcp

# Verify proxy settings
echo $HTTP_PROXY

# Check firewall rules
```

### Permission Errors
```bash
# Verify file permissions
ls -la /path/to/allowed/files

# Check user permissions
whoami
groups
```

### Tool Not Found
- Verify server is running
- Check server configuration
- Inspect server capabilities
- Review tool registration

## Best Practices

### Configuration Management
- Use environment variables for secrets
- Document server purposes
- Version control mcp.json (without secrets)
- Test configurations thoroughly

### Performance
- Use local servers when possible
- Implement caching
- Set appropriate timeouts
- Monitor resource usage

### Maintenance
- Update servers regularly
- Monitor server health
- Review access logs
- Clean up unused servers

## See Also

- MCP specification: https://modelcontextprotocol.io
- Creating MCP servers: `references/api-reference.md`
- Security best practices: `references/best-practices.md`
- Troubleshooting: `references/troubleshooting.md`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.