Skip to content

Claude Code Plugins vs Skills vs MCP: The Layers Explained

Plugins, skills, and MCP servers sit at different layers in Claude Code. What each is, how they nest, and a clear guide to which one you actually need.

MGMCSA Guru Team June 10, 2026 5 min read
A layered diagram showing Claude Code plugins bundling skills, MCP servers, commands, and hooks

People treat plugins, skills, and MCP servers as three options on the same menu, then get confused when the comparison doesn’t quite work. The reason it doesn’t is that they’re not at the same level. Skills and MCP servers are individual capabilities. A plugin is a container that can bundle them — and slash commands, subagents, and hooks — into one installable package.

Once you see the layering, the “vs” dissolves. This article lays out the layers, shows how they nest, and gives a clear rule for when you want a single piece versus a whole bundle. If you’ve already got the skills-versus-MCP distinction down, this adds the plugin layer on top; if not, skills vs MCP vs subagents is the companion piece.

The layering

Think in two layers: the pieces, and the package that bundles them.

Pieces vs package

Layer What it is
Pieces Individual capabilities you add
Package A bundle of pieces installed together

A skill teaches a procedure. An MCP server connects to a system. A slash command runs a prompt. A subagent delegates work. A hook fires on an event. Each is a single, independent piece. A plugin is a box you put several of those pieces in so they install as a unit.

That’s the whole relationship. A plugin isn’t a competitor to a skill any more than a toolbox is a competitor to a hammer.

How they nest

A concrete example makes it click. Imagine a “code quality” plugin. Open it up and inside you might find:

  • A subagent — a code reviewer.
  • A skill — your team’s review conventions.
  • A slash command/review to trigger it on demand.
  • A hook — auto-format after edits.
  • An MCP server — GitHub, so the reviewer can read PRs.

Installing that one plugin sets up all five pieces. You could also assemble the same thing by hand: add the subagent, write the skill, create the command, configure the hook, connect the server. Same result, more steps. The plugin just packages the assembly.

The context-cost consequence

Because a plugin is the sum of its contents, its cost is too. This matters most for MCP servers, which load their tool definitions up front every session.

Where context goes

Skill (standalone or in a plugin) Near-zero until relevant
MCP server (standalone or in a plugin) Standing cost every session
Plugin Sum of what it bundles

A plugin that bundles three MCP servers costs you three servers’ worth of context whether or not you use all three. So “install this plugin” can quietly mean “connect three servers,” with the context hit that implies. Always look at what a plugin contains — the too-many-MCP-servers guide explains why this adds up.

When you want a single piece

Reach for an individual piece when your need is specific and you want control:

  • You need Claude to reach one system — add that MCP server directly.
  • You want to encode one procedure — write that skill.
  • You repeat one prompt — make a slash command.
  • You want one focused helper — define a subagent.

Adding a piece directly keeps your setup transparent: you know exactly what’s there and why. For a single capability, a plugin is overhead.

When you want a plugin

Reach for a plugin when:

  • You want a coordinated bundle — a whole code-quality or platform-integration setup, not one piece.
  • You’re distributing to a team — a plugin in a marketplace means everyone installs the same setup with one command, no step-by-step wiki.
  • You’re adopting someone’s setup — a maintained plugin that matches your stack saves you assembling it yourself.

The deciding question is simple: are you adding a capability, or a set? One piece, add it directly. A set, especially one others should share, use a plugin. For the how-to, see installing plugins and marketplaces.

The decision in one place

Which layer do you need?

  • Need one system connection? → Add an MCP server directly
  • Need one procedure encoded? → Write a skill
  • Need one reusable prompt? → Create a slash command
  • Need a coordinated set of pieces? → Use a plugin
  • Distributing a setup to a team? → Build a plugin in a marketplace
  • Always check a plugin's contents for context cost and reach

Wrapping up

Plugins, skills, and MCP servers aren’t three choices at the same level. Skills and servers are pieces; plugins are packages that bundle pieces together. Add a piece directly when you need one capability and want control. Reach for a plugin when you want a coordinated set or need a team to share one setup — and always check what a plugin bundles, because its context cost and reach are the sum of its parts.

For the related decision between connecting versus bundling, see MCP vs plugins — which to use, and for the full feature map, the power-user guide.

Frequently asked questions

Is a plugin the same as a skill or an MCP server?

No. A plugin is a package that can bundle skills, MCP servers, slash commands, subagents, and hooks together. Skills and MCP servers are individual pieces; a plugin is a container that ships several pieces at once. They're at different layers, not alternatives.

Can a plugin contain MCP servers and skills?

Yes, that's the point of plugins. A single plugin can include MCP server configs, skills, slash commands, subagents, and hooks. Installing the plugin sets up all of them in one step instead of configuring each by hand.

If I only need one capability, do I want a plugin?

Usually not. If you need one MCP server or one skill, add that directly — it's simpler and you keep control. Plugins make sense when you want a whole bundle, or when you're distributing a setup to a team.

Which layer costs the most context?

It depends on what's inside. MCP servers cost context up front whether they arrive standalone or inside a plugin. Skills are cheap until used. A plugin's cost is the sum of what it bundles, so a plugin with several servers is as heavy as those servers.

How do I decide between adding a piece directly or via a plugin?

Add directly for a single capability you want to control. Use a plugin when you want a coordinated set, or when a team should share one consistent setup. The deciding factor is whether you're assembling pieces yourself or adopting someone's bundle.

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.