Plugins and MCPs solve different problems. An MCP adds tools. A plugin bundles tools + skills + hooks into a cohesive product. Picking the right one matters.
| Aspect | MCP | Plugin |
|---|---|---|
| What it is | A protocol-speaking program | A package that may include MCPs, skills, hooks |
| Scope | Narrow, just tools/resources | Broad, whole workflows |
| Install | Add to config, restart client | One-command install |
| Portability | Any MCP client | Claude Code-specific (for now) |
| Contains | Tools, resources, prompts | MCP servers, skills, hooks, config |
| Best for | Connecting one service | Shipping a complete feature |
Q1: Do you just need to expose tools from an existing service?
Q2: Do you need to bundle multiple things (MCP + skill + hook)?
Q3: Do you want a named, slash-invokable workflow (not an auto-used tool)?
Consider a "Send SMS to a number" feature:
send_sms tool. Agent can call it whenever it thinks it should. Useful./send-sms skill with instructions for composing a short, polite SMS. User invokes it explicitly./send-sms skill + a hook that logs every SMS sent to a database.The plugin is the "product" users install. The MCP and skill are the building blocks.