Blog · · 8 min
Claude Code plugins, skills and MCP servers
A Claude Code plugin is a folder with a manifest that bundles slash commands, subagents, skills, hooks and MCP servers, installed from a marketplace repository. A skill is instructions the model reads. An MCP server is a process that runs and returns things the model did not have. The plugin is the envelope, and only the server inside it can hand over a file.
By uxgen
A plugin is packaging. It is a directory holding .claude-plugin/plugin.json, and inside that directory you can ship five different kinds of thing: slash commands, subagents, skills, hooks, and a .mcp.json that connects one or more MCP servers. Installing a plugin installs whichever of the five it happens to contain. So asking whether you want a plugin or an MCP server is asking whether you want a box or the thing in the box.
That distinction decides what an extension can actually do for you, and it is worth ten minutes before you install anything.

What is inside a plugin
We read Anthropic's official marketplace on 31 August 2026. It lists 291 plugins. Of those, 71 mention an MCP server in their description and 89 mention skills, so the two are neither the same population nor mutually exclusive.
Look at what the substantial ones ship. The Vercel plugin's directory carries commands/, agents/, skills/, hooks/ and a .mcp.json. The Stripe plugin carries four of the five. Both bundle a server, and neither is only a server.
| Piece | Lives in | What it is | What it cannot do |
|---|---|---|---|
| Slash command | commands/*.md | a prompt you trigger by name | run when you did not type it |
| Subagent | agents/*.md | a separate context with its own tool list | share your conversation |
| Skill | skills/*/SKILL.md | instructions loaded on demand by description | return data it was not written with |
| Hook | hooks/hooks.json | a shell command fired on an event | reason |
| MCP server | .mcp.json | a running process exposing tools | be read as text |
The manifest itself is small. Name, version, description, author, repository, license, keywords, and lists pointing at the commands and agents. Everything else is discovered by convention from the folder layout.
Installing one
Two commands, and the first is the one people miss.
/plugin marketplace add owner/repo
/plugin install name@marketplace
A marketplace is a git repository containing .claude-plugin/marketplace.json, which lists plugins with a source pointing at where each one lives. There is nothing central about it. Anthropic's directory is one such repository, and any repo with that file is another, which is why a company can publish its own plugin without asking anyone.
/plugin on its own opens the browser for what you have already added.
Skill or server, the question that actually matters
A skill is a Markdown file. Claude Code reads its front matter, decides from the description whether the situation calls for it, then loads the body into context. It is very good at changing how the model writes, and it costs nothing until it fires.
An MCP server is a process. It exposes tools, the model calls them, and they return whatever the process can compute or fetch. It can hold a database, sign a request, render an image, read a file the model has never seen.
The line between them is sharp once you say it out loud. A skill can tell an agent what a good thing looks like. A server can hand it the thing.
Take the case we work on. A skill can describe a three-tier quantity block in detail: the middle tier preselected, the saving shown in money, one button carrying the total. The agent then writes that component from its own priors, which means it writes a slightly different one every time and a wrong one whenever the description is ambiguous. A server returns the file, already written, with the props that make the wrong version unrepresentable, and it can also return a photograph of the actual product because it can call an image model and a skill cannot. We wrote out the ceiling this puts on the instruction-only approach in Claude Code design skills, and what they miss.
Neither replaces the other. The best plugins ship both, because the skill teaches the judgement and the server supplies the parts.
The cost nobody mentions on the marketplace page
Skills are cheap until used. Their front matter sits in context, the body loads only when the description matches, so twenty installed skills cost roughly twenty short lines.
MCP tools are not. Every tool a connected server exposes puts its name, description and full input schema into context at the start of the session, whether or not you ever call it. Ten servers with fifteen tools each is a hundred and fifty schemas the model reads before you have typed anything, and the visible symptom is an agent that gets vaguer as you add capability.
This is the argument for servers that expose a handful of broad tools rather than one tool per feature. Our own catalogue holds well over a hundred components and the agent never sees a list of them. It searches, by words or by an image, and the search is a tool. Three or four entry points instead of a hundred and sixty.
Connect what the project needs rather than what you own. Project-scoped configuration exists precisely so the commerce server is absent from the repository where you write a compiler.
What a plugin cannot do on its own
Worth naming, because the marketplace listing does not.
It cannot keep state. Files on disk, read at load. Anything that remembers, meters, or changes between sessions is the server inside it.
It cannot fetch. No remote assets, no API calls, no generated image. A plugin that appears to do those things contains a server or a hook that shells out.
It cannot be metered or revoked. Once cloned, the folder is yours. This is fine for instructions and wrong for anything with a running cost behind it, which is why every paid extension in that marketplace is a thin plugin wrapping a hosted server.
It cannot know your data. A skill saying "use the brand's real product photography" has no photography. Where the material comes from is the whole subject of how to give a coding agent design taste.
Which one to reach for
| What you want | What to build |
|---|---|
| Change how the agent writes, phrases, formats or reviews | a skill |
| A repeatable procedure you trigger yourself | a slash command |
| A long job that should not pollute your context | a subagent |
| Something that fires whether or not anyone remembers | a hook |
| Data, a file, an image, a signature, a running cost | an MCP server |
| Ship several of the above to other people as one install | a plugin |
An ecommerce build touches four of the six. Judgement about what sells is a skill. The components are files, so they come from a server. The product photography is generated, so it is the same server. And the whole set travels as one plugin, because asking a merchant to install five things separately is asking them to install three of them.
The inventory of what exists on the commerce side today, and the hole in it, is in MCP server for ecommerce UI components. The measurement side is a different family with a different ceiling, written up in MCP server for conversion rate optimization.
Disclosure. We build uxgen, an MCP server that hands a coding agent tested commerce components and the images to fill them. The components are shown running here, and the plans are in the pricing section.
FAQ
What is a Claude Code plugin?
A directory containing .claude-plugin/plugin.json, which can bundle slash commands, subagents, skills, hooks and MCP server connections. Installing it installs whichever of those five it contains. The plugin is a distribution format rather than a capability of its own.
What is the difference between a Claude Code plugin and a skill?
A skill is one kind of content a plugin can carry. It is a Markdown file whose instructions load when its description matches the situation. A plugin is the envelope, and it can also carry commands, subagents, hooks and MCP servers alongside the skills.
Should I use a skill or an MCP server?
A skill when you want to change how the agent writes. An MCP server when the agent needs something it does not have: a file, a dataset, a generated image, an authenticated call. A skill describes. A server delivers.
How do I install a Claude Code plugin?
Add the marketplace, then install from it. /plugin marketplace add owner/repo followed by /plugin install name@marketplace. A marketplace is any git repository containing .claude-plugin/marketplace.json, so there is no central approval step.
Do MCP servers slow down Claude Code?
They consume context. Every tool a connected server exposes loads its name, description and input schema at the start of the session even if you never call it, so ten chatty servers can cost more attention than they return. Prefer servers with a few broad tools, and connect them per project rather than globally.