Model Context Protocol (MCP)

Overview

The Model Context Protocol (MCP) is an open-standard communication protocol designed to provide AI models with seamless, secure access to external tools, data sources, and services. It functions as a “Universal Connector” (often compared to USB-C) for the AI ecosystem.

Core Components

  • Host: The environment where the AI lives (e.g., Claude Code, Cursor).
  • Client: The software component that interacts with MCP servers.
  • Server: Exposes specific capabilities (Tools, Resources, Prompts).
  • Transport: Standardized communication via JSON-RPC over Stdio or HTTP.

Key Features

  1. Dynamic Discovery: The host can query the server to find what tools are available without hard-coding integrations.
  2. Resource Retrieval: Allows models to read raw data (files, DB records) as “Resources”.
  3. Tool Execution: Allows models to perform actions (creating PRs, running SQL) via “Tools”.
  4. Structured Prompts: Servers can provide reusable prompt templates to the host.

MCP in the Digital Brain

We leverage MCP to bridge the gap between our Agentic Loops and external infrastructure.

  • Librarian (Context7): Uses documentation MCP servers to fetch live specs.
  • Researcher (Tavily/Exa): Uses search MCP servers for deep grounding.
  • DevOps: Future integration with GitHub/K8s MCP servers for autonomous deployment management.

Subagent-Scoped MCP Servers

Custom subagents can have MCP servers scoped exclusively to them via the mcpServers frontmatter field. This prevents an MCP server’s tool descriptions from consuming context in the parent conversation:

---
name: browser-tester
description: Tests features in a real browser using Playwright
mcpServers:
  - playwright:
      type: stdio
      command: npx
      args: ["-y", "@playwright/mcp@latest"]
---

The subagent gets the tools; the parent conversation does not. This is the recommended pattern for heavy MCP servers (browser automation, database clients) that should only activate when the relevant worker is running.

See Claude SubAgents for full custom subagent configuration reference.

Reference

Top 10 Production MCP Servers

ServerPurposeTransport
SQLite/DatabaseNatural language database queries across SQLite, MySQL, PostgreSQLStdio
FigmaDesign-to-code workflow; reads Figma wireframes and generates HTML/CSS/JSPlugin (HTTP)
GitHubRepository queries, issue tracking, PR creation/merge automationHTTP
Context7Live, up-to-date documentation for any library/frameworkHTTP
JiraPull tickets, find bugs, implement features from Jira task contextHTTP
NotionRead product specs and API design docs directly from Notion workspaceHTTP
SlackPost PR links, check incident channels, read production error reportsHTTP
AWSDeploy to EC2, check CloudWatch logs, manage cloud infrastructureHTTP
DockerGenerate optimized Dockerfiles, analyze image size, container managementStdio

See Claude + MCP Explained for full walkthrough.

MCP Context Bloat: The Anti-Pattern

A critical operational risk with MCP is context pollution. Each connected MCP server loads its tool descriptions into the context window at session start. With many servers active, this description text consumes significant context tokens and degrades model performance.

Mitigation: Keep MCP server usage minimal. Only retain servers you actively use. Remove inactive servers via claude mcp remove <server-name>. Inspect server capabilities via /mcp → “View Tools” before connecting.

This aligns with the Minimalist Agent Design philosophy: give agents only what they need, nothing more.

Plugins Architecture

Plugins are a packaging mechanism that bundles multiple capabilities together:

  • MCP servers — external tool connections
  • Skills — task-specific instruction sets
  • Agents — custom subagent definitions
  • Hooks — lifecycle validation scripts

The Figma plugin demonstrates this pattern: a single installation provides both the MCP server for reading designs and Skills for common Figma-to-code workflows. See Claude Skills for how Skills integrate with plugins.

MCP Server Management

CommandAction
/mcpList all connected MCP servers and status (Connected/Failed)
claude mcp remove <name>Remove an MCP server from the configuration
View Tools (in /mcp UI)Inspect available tools and their descriptions per server
ReconnectRetry a failed server connection from the /mcp UI