Back to Learn

Skills vs MCP vs Sub-Agents

Three approaches to extending AI agent capabilities. Understanding the trade-offs helps you choose the right tool for each situation.

At a Glance

AspectSkillsMCP ServersSub-Agents
What it isInstructions in contextExternal serviceSeparate agent
ExecutionSame processSeparate processSeparate process
Context windowShared with agentN/A (tool calls)Own window
LLM modelUses agent's modelN/A (no model)Can use different model
ParallelismSequentialAsync tool callsCan run in parallel
Setup complexityLow (just a file)Medium (server)High (orchestration)

Skills

Skills are instructions injected into the agent's context. They're essentially enhanced prompts—structured guidance that tells the agent how to handle specific tasks.

Agent Context = System Prompt + Skill Instructions + User Message

Strengths

  • • Zero infrastructure—just a markdown file
  • • Portable across harnesses
  • • Human-readable and auditable
  • • Version controlled like code
  • • No network latency

Limitations

  • • Consumes context window tokens
  • • Can't access external data directly
  • • Limited by agent's existing tools
  • • Sequential execution only

Best For

Workflow guidance, coding standards, output formatting, domain knowledge, best practices, review checklists—anything that can be expressed as instructions.

MCP Servers

MCP (Model Context Protocol) servers are external services that provide tools. The agent calls these tools via a standardized protocol, and the server executes code and returns results.

Agent
Tool Call
MCP Server

Strengths

  • • Access to external APIs and databases
  • • Can execute arbitrary code
  • • Doesn't consume context tokens
  • • Standardized protocol (MCP)
  • • Async execution possible

Limitations

  • • Requires running a separate process
  • • Network latency on every call
  • • More complex deployment
  • • Security boundary to manage
  • • Not all harnesses support MCP

Best For

Database access, API integrations, file operations, web scraping, computations that require external data, or actions that need to happen outside the agent.

Sub-Agents

Sub-agents are fully independent agents spawned by a parent agent. Each has its own context window, can use its own LLM model, and operates autonomously on delegated tasks.

Parent Agent
Sub-Agent 1
Sub-Agent 2
Sub-Agent 3

Strengths

  • • Own context window (no sharing)
  • • Can use different/specialized models
  • • Parallel execution of tasks
  • • Isolated failures don't crash parent
  • • Can handle complex, long-running work

Limitations

  • • Higher cost (multiple LLM calls)
  • • Complex orchestration required
  • • Context doesn't transfer cleanly
  • • Harder to debug and audit
  • • Coordination overhead

Best For

Complex multi-step workflows, tasks requiring different expertise (code review + security audit), parallelizable work (testing multiple approaches), or when context isolation is needed.

Choosing the Right Approach

Use a Skill when...

You need to guide agent behavior, enforce standards, or provide domain expertise. The task can be solved with the agent's existing tools. You want portability and simplicity.

Use an MCP Server when...

You need to access external systems (databases, APIs, cloud services). The action requires code execution outside the agent's sandbox. You want to keep context tokens free for the conversation.

Use a Sub-Agent when...

The task is complex enough to need its own "thinking space". You want parallelism. Different parts of the task benefit from different models. Isolation between tasks is important.

Combining Approaches

These approaches aren't mutually exclusive. A sophisticated agent might:

  • Use Skills for coding standards and review guidelines
  • Call MCP Servers to query databases and deploy code
  • Spawn Sub-Agents to parallelize test execution
UNKNOWN ENV