Skip to content

Claude Code Skills vs MCP vs Subagents: Which One to Use

Skills, MCP servers, and subagents solve different Claude Code problems. What each does, what it costs, and a clear decision guide for picking the right one.

MGMCSA Guru Team March 5, 2026 6 min read
A decision chart comparing Claude Code skills, MCP servers, and subagents

Three of Claude Code’s features get mixed up constantly: skills, MCP servers, and subagents. People build a skill when they needed a server, or stand up a server for something a skill does better, or never reach for a subagent when their context is drowning. The features look similar from a distance — they all “extend Claude Code” — but they solve genuinely different problems.

This is the decision guide. Three short definitions, a comparison table, the context-cost trade-off, and a flowchart-in-prose for picking the right one. If you want the full tour of every feature, the power-user guide is the hub; this article is just about telling these three apart.

The one-line version

  • MCP servers connect. They give Claude a live link to an external system — a database, GitHub, a browser, an internal API.
  • Skills teach. They package a procedure or body of knowledge Claude pulls in when relevant — a review checklist, your commit format, a release process.
  • Subagents delegate. They run a focused task in an isolated context window, optionally on a different model, and hand back a summary.

Connection, know-how, delegation. Hold those three words and most of the confusion clears.

Side by side

Skills vs MCP vs subagents

Skills
Job Encode a procedure or knowledge
Lives in .claude/skills/
Loaded On demand when relevant
Context cost Near-zero at rest
Reaches outside the repo? No
Best at Conventions, repeatable steps

The row that matters most is “loaded.” It’s the difference that drives the cost trade-off, and it’s the one people overlook when they default to MCP for everything.

The context-cost trade-off

Here’s the practical consequence that should shape your choices. A connected MCP server loads its tool definitions into the context window when the session starts — names, descriptions, parameter schemas — whether or not you use it. That’s a standing cost, paid every session, for every connected server.

A skill costs almost nothing until it’s relevant. Claude reads only the short description; the body loads on demand. So a dozen skills are cheap to keep around, while a dozen MCP servers quietly shrink the window you have to work in.

Subagents take a third approach: they isolate context. The subagent’s own reading and reasoning stay in its context window, and only the summary returns to the main thread, which keeps the primary conversation lean even for heavy work.

When to use each

A decision path you can run in your head.

Use a skill when…

The thing you want is knowledge or a procedure. You keep pasting the same instructions. You want Claude to follow your conventions — commit format, review checklist, the way your team writes tests. There’s no external system involved; it’s all “here’s how we do this.” Skills are the default for anything that’s really just repeated instructions. Start with skills explained.

Use an MCP server when…

Claude needs to reach something outside the codebase, live. Query a database, read GitHub issues, drive a browser, hit an internal API. The defining test: is there an external system it has to talk to in real time? If yes, that’s MCP. If you’re just encoding how to do something, it isn’t. Start with MCP explained and the best servers.

Use a subagent when…

You want to delegate a focused chunk of work without cluttering the main thread, or you want to run that work on a different model. Exploring a large codebase, reviewing a diff, writing tests — all good subagent jobs because the messy intermediate work stays isolated. The defining test: would this task generate a lot of context you don’t want in the main conversation? Then delegate it. Start with the subagents guide.

They compose

This isn’t a contest with one winner. The three layer together, and a real setup uses all of them:

  • A subagent for code review that uses an MCP server to read the GitHub PR and follows a skill that encodes your review standards.
  • A context-gatherer subagent on a cheap model that reads the codebase, while the main thread follows a skill for your architecture conventions.

So the question is rarely “which one” in the abstract — it’s “which one for this specific need,” and then they work side by side.

A worked example

Say you want Claude to review pull requests against your team’s standards. Walk it through:

  1. Does it need live external data? Yes — it has to read the PR from GitHub. So you need the GitHub MCP server.
  2. Is there a procedure to encode? Yes — your review checklist, the things your seniors always flag. That’s a skill.
  3. Do you want it isolated from the main thread? Yes — a review generates a lot of reading you don’t want cluttering your working session, and it suits a mid-tier model. So wrap it in a code-reviewer subagent.

The result uses all three: a subagent (delegation), pulling PR data through MCP (connection), applying a skill (know-how). Each does the part it’s best at.

Picking the right tool

  • Reaches a live external system? → MCP server
  • Knowledge or a repeatable procedure? → Skill
  • Focused work you want isolated or on another model? → Subagent
  • Watch context: MCP costs up front, skills are cheap, subagents isolate
  • Combine them — they're designed to work together

Wrapping up

Skills, MCP servers, and subagents aren’t competing tools; they’re answers to different questions. MCP is for connecting to systems, skills are for encoding procedures and knowledge, and subagents are for delegating isolated work. The mistakes come from blurring them — usually building an MCP server for something that’s really a skill, and paying context for it every session.

Match each to its job, watch the context cost, and let them compose. For where these sit among hooks, plugins, and the rest, head back to the power-user guide; for the plugin-specific version of this comparison, see MCP vs plugins.

Frequently asked questions

What's the simplest way to remember the difference?

MCP connects Claude to external systems, skills teach it a procedure or knowledge, and subagents delegate focused work to an isolated context. Connection, know-how, delegation. Most confusion comes from using one where another fits.

If I just want Claude to follow a checklist, which do I use?

A skill. A checklist or repeatable procedure is exactly what skills are for, and they cost almost no context until they're relevant. You don't need an MCP server unless the procedure has to reach an external system live.

When do I actually need an MCP server?

When Claude needs to read from or act on something outside the codebase in real time — a live database, the GitHub API, a browser, an internal service. If there's no external system to talk to, you probably want a skill instead.

What problem do subagents solve that the others don't?

Context isolation and delegation. A subagent runs a focused task in its own context window so the noisy work doesn't clutter your main conversation, and it can run on a cheaper model. Skills and MCP don't isolate context the way subagents do.

Can I use all three together?

Yes, and a mature setup usually does. A subagent can use MCP servers for its tools and follow skills for conventions. They compose — the point is matching each to the job it's best at, not choosing only one.

Which costs the most context?

Connected MCP servers, because their tool definitions load up front every session. Skills are near-free until triggered. Subagents keep the main thread lean by isolating their own context. If context is tight, MCP servers are the first place to look.

Sources & further reading

Official vendor documentation referenced while writing this guide.

MG

MCSA Guru Team

IT & Systems Administration

We are working IT pros and system administrators who spend our days in Windows Server, Microsoft 365, and the wider Microsoft stack. MCSA Guru is where we write down the fixes and walkthroughs we wish we had found the first time.

MCSA Guru provides independent, educational IT guidance. Microsoft, Windows, Windows Server, Microsoft 365, Exchange, and Microsoft Teams are trademarks of Microsoft Corporation; Docker is a trademark of Docker, Inc. MCSA Guru is not affiliated with or endorsed by Microsoft or Docker. Always test changes in a safe environment before applying them in production.

Related guides

Fixing something right now?

Jump straight into the guide library or search for the exact error or task you are dealing with.