Claude Skills vs MCP — which one, when?
Both extend an AI agent. But they solve different problems. Here's the honest breakdown, with examples, so you pick the right one for what you're building.
The one-sentence version
Skills package instructions the agent reads on demand. MCP exposes live tools the agent calls at runtime. Skills are static files. MCP is a running server.
Claude Skills — what they are
A Claude Skill is a folder containing a SKILL.md with YAML frontmatter (name, description) and Markdown instructions. Optionally it ships scripts or reference files. The agent loads a skill only when the user's request matches its description — so a hundred installed skills cost you almost nothing token-wise.
Use skills when the value is knowledge and workflow: "how do we structure a Stripe checkout in this project?", "how do we write commit messages here?", "what's our brand voice?". Instructions + a few files, no infrastructure.
MCP — what it is
The Model Context Protocol is an open standard for connecting agents to external systems. An MCP server exposes tools (functions the agent can call) and resources (data it can read). The agent talks to the server over JSON-RPC while the conversation is happening.
Use MCP when the value is live access: querying a database, hitting an API, reading files in a filesystem, controlling a running app. The data changes and needs to be fresh at the moment of the call.
Side-by-side
| Claude Skills | MCP | |
|---|---|---|
| Format | SKILL.md + folder | Running server (stdio / HTTP) |
| Contains | Instructions, references, scripts | Tools, resources, prompts |
| Loaded | On demand, by description match | Connected for whole session |
| Data | Static (what you shipped) | Live (fetched at call time) |
| Auth | None needed | Handled by server |
| Effort to build | Write a Markdown file | Implement a server |
| Share by | .zip upload, GitHub | Deploy the server |
When to pick which
Pick a Skill when…
- You're encoding a workflow ("how we deploy", "how we write PRs").
- The context is stable text or code snippets.
- You want to distribute it easily — no infra required.
- You need it to load only when relevant, to save tokens.
Pick MCP when…
- The agent needs real data at the moment it asks (open PRs, current DB row, live inventory).
- You need to do something in an external system (create an issue, run a query, refund a charge).
- Access must be gated by user identity and auth.
Use both when…
Most real setups combine them. The skill teaches the agent how to work with something (say, your Stripe conventions) and MCP gives it the live handle to Stripe. Skill = playbook. MCP = phone line.
A concrete example
Say you want the agent to handle refunds inside your SaaS.
- Skill (
refund-flow): "When the user asks for a refund, always verify plan tier and refund window from our policy. Never refund above the plan's max amount. Log the refund with reason to the audit table. Escalate anything over $500 to Slack." - MCP (Stripe): exposes
refund_charge(charge_id, amount)andget_charge(charge_id). - MCP (your DB): exposes
get_customer_plan(user_id)andinsert_audit_log(...).
The skill teaches the rules. MCP provides the hands. Neither works as well alone.
Where Lovable fits
Lovable installs Claude Skills natively — any folder with a SKILL.md can be dropped in as a .zip and it's available immediately. For live integrations (Stripe, GitHub, Supabase, etc.), Lovable ships built-in connectors so you don't have to run your own MCP servers just to reach popular APIs.
Start with a skill. Add live tools when you truly need live data.
Keep reading
More guides on Lovable & Claude Skills, picked to complement this one.
Long-form reference: structure, install, author, publish.
Ranked picks, updated quarterly.
When to use each — with real examples.
The curated stack for B2B builders.
Step-by-step authoring tutorial.
Side-by-side comparison.
Browse the full catalog
Curated Lovable Skills for design, backend, AI, payments, auth and more.