MCP Catalog Skill
Purpose
Comprehensive reference for Model Context Protocol (MCP) servers — official, community, and Agent Studio integrated. Use this skill when selecting, configuring, or building MCP servers for Claude Code projects.
When to Invoke
Skill({ skill: 'mcp-catalog' });
Invoke when:
- Selecting an MCP server for a specific capability
- Configuring MCP servers in Claude Code settings
- Building a new MCP server integration
- Auditing existing MCP server usage
Official Anthropic / MCP Reference Servers
| Server | Package | Capability | Transport |
|---|---|---|---|
filesystem |
@modelcontextprotocol/server-filesystem |
Read/write local files with configurable roots | stdio |
github |
@modelcontextprotocol/server-github |
GitHub repos, PRs, issues, search | stdio |
gitlab |
@modelcontextprotocol/server-gitlab |
GitLab projects, MRs, pipelines | stdio |
google-drive |
@modelcontextprotocol/server-gdrive |
Google Drive file access and search | stdio |
google-maps |
@modelcontextprotocol/server-google-maps |
Geocoding, directions, place search | stdio |
postgres |
@modelcontextprotocol/server-postgres |
PostgreSQL read access with schema inspection | stdio |
sqlite |
@modelcontextprotocol/server-sqlite |
SQLite read/write with business intelligence | stdio |
slack |
@modelcontextprotocol/server-slack |
Slack channels, messages, user management | stdio |
memory |
@modelcontextprotocol/server-memory |
KV-based persistent memory graph | stdio |
puppeteer |
@modelcontextprotocol/server-puppeteer |
Browser automation and web scraping | stdio |
brave-search |
@modelcontextprotocol/server-brave-search |
Brave Search API — web and local results | stdio |
fetch |
@modelcontextprotocol/server-fetch |
HTTP fetch with robots.txt compliance | stdio |
sequential-thinking |
@modelcontextprotocol/server-sequential-thinking |
Dynamic chain-of-thought reasoning | stdio |
aws-kb-retrieval |
@modelcontextprotocol/server-aws-kb-retrieval |
AWS Knowledge Base retrieval via Bedrock | stdio |
Community MCP Servers (Curated)
Developer Tools
| Server | Source | Capability |
|---|---|---|
exa |
exa-labs/exa-mcp-server |
AI-powered web search (semantic) |
linear |
linear-mcp-server |
Linear issue tracking and project management |
jira |
community | Jira issue read/write, sprint management |
notion |
community | Notion pages, databases, search |
obsidian |
community | Obsidian vault read/write |
sentry |
community | Sentry error tracking, issues, events |
datadog |
community | Datadog metrics, logs, monitors |
figma |
community | Figma design file access, component export |
Data & Analytics
| Server | Source | Capability |
|---|---|---|
bigquery |
community | Google BigQuery read queries |
mongodb |
community | MongoDB document CRUD and aggregation |
redis |
community | Redis key operations, pub/sub |
elasticsearch |
community | Elasticsearch search, index management |
snowflake |
community | Snowflake SQL queries |
Cloud & Infrastructure
| Server | Source | Capability |
|---|---|---|
aws |
community | AWS resource management (EC2, S3, Lambda) |
gcp |
community | Google Cloud resource management |
cloudflare |
@cloudflare/mcp-server-cloudflare |
Workers, KV, R2, D1 management |
vercel |
community | Vercel deployments, projects, domains |
kubernetes |
community | Kubernetes cluster management |
Communication
| Server | Source | Capability |
|---|---|---|
discord |
community | Discord server management and messaging |
telegram |
community | Telegram bot messaging |
twilio |
community | SMS, voice, WhatsApp via Twilio |
sendgrid |
community | Email sending via SendGrid |
Claude Code Settings Configuration
stdio Transport (Most Common)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/directory"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_URL": "${DATABASE_URL}"
}
}
}
}
SSE Transport (HTTP-based)
{
"mcpServers": {
"remote-server": {
"type": "sse",
"url": "https://your-mcp-server.example.com/sse",
"headers": {
"Authorization": "Bearer ${API_TOKEN}"
}
}
}
}
Environment Variable Injection Pattern
Never hardcode credentials in settings.json. Use environment variable references:
{
"env": {
"API_KEY": "${MY_SERVICE_API_KEY}"
}
}
Variables are resolved from the shell environment where Claude Code runs.
Agent Studio MCP Integration
Agent Studio skills that wrap MCP servers:
| Skill | Underlying MCP | Agent Studio Path |
|---|---|---|
github-ops |
@modelcontextprotocol/server-github |
.claude/skills/github-ops/ |
github-mcp |
@modelcontextprotocol/server-github |
.claude/skills/github-mcp/ |
figma |
Figma MCP server | .claude/skills/figma/ |
google-workspace |
Google Drive + Sheets MCP | .claude/skills/google-workspace/ |
slack-notifications |
Slack MCP | .claude/skills/slack-notifications/ |
linear-pm |
Linear MCP | .claude/skills/linear-pm/ |
jira-pm |
Jira MCP | .claude/skills/jira-pm/ |
arxiv-mcp |
ArXiv search | .claude/skills/arxiv-mcp/ |
webmcp-browser-tools |
Browser tools MCP | .claude/skills/webmcp-browser-tools/ |
Adding a New MCP Server
Step 1: Identify the Server
# Search npm registry
npm search "@modelcontextprotocol/server-"
# Browse community list
# https://github.com/modelcontextprotocol/servers
Step 2: Configure in settings.json
Edit .claude/settings.json to add the mcpServers entry (see templates above).
Step 3: Test the Connection
# Verify Claude Code loads the MCP server
claude --mcp-debug
Step 4: Create an Agent Studio Skill (Optional)
If the MCP server is used frequently, wrap it in an Agent Studio skill:
# Use the skill-creator skill
Skill({ skill: 'skill-creator' })
The skill should:
- Document the MCP server's tools and resources
- Provide usage examples
- Define when to invoke
- List required environment variables
Security Considerations
Credential Management
- Store all secrets in
.env(never insettings.jsondirectly) - Use
${ENV_VAR}interpolation in settings.json - Rotate tokens regularly; use minimal-scope PATs
File System Access
- Restrict
filesystemserver to specific directories only - Never grant root (
/) or home (~) access - Use read-only mode when write access is not needed
Network MCP Servers
- Validate SSL certificates on SSE connections
- Use bearer token auth for remote MCP servers
- Audit tool calls from remote servers — treat as untrusted input
Least Privilege
- Only register MCP servers that the agent actually needs
- Remove unused MCP server registrations
- Prefer local stdio over remote SSE when possible
MCP Protocol Reference
Tool vs Resource vs Prompt
| Concept | Purpose | Agent Interaction |
|---|---|---|
| Tool | Execute actions (write file, call API) | Agent calls mcp__serverName__toolName() |
| Resource | Read data (file contents, DB records) | Agent reads mcp://serverName/resource/path |
| Prompt | Reusable prompt templates | Agent requests prompt template by name |
Naming Convention in Claude Code
MCP tools appear as: mcp__<serverName>__<toolName>
Example: mcp__github__create_issue, mcp__filesystem__read_file
Discovery
To list all available MCP tools in a session:
// Agents can discover available MCP tools via AvailableAgents() or tool search
Skill({ skill: 'tool-search' });
Related Skills
mcp-builder— Build a new MCP server from scratchgithub-ops— GitHub workflow using MCPgithub-mcp— Direct GitHub MCP operationsfigma— Figma design access via MCPwebmcp-browser-tools— Browser automation MCP