Stop reading the two as a cage match. An MCP server connects your agent to a system. An Agent Skill teaches your agent a workflow. One is a connection; the other is an instruction. Almost every "should I use X or Y" argument you've seen collapses once you hold that line — and the products that ship well tend to use both.

If you want the answer in a sentence: **if the agent needs to reach something outside itself, build a server; if it needs to know how to do something, write a skill.** The rest of this page is the token math and the four questions for the cases where that sentence isn't enough. (For the deeper conceptual split — connection vs. instruction vs. the context bill — see the companion, Claude Agent Skills vs MCP.)

The four questions that settle it#

Run your feature through these in order. The first "yes" usually decides it.

  1. Does it need live data or an external system? A database, a third-party API, a search index, a feed. → MCP server. A skill is text; it can't hold a connection open.
  2. Does it perform an action with side effects that must run server-side? Charging a card, sending mail, writing to shared state — anything you can't trust a per-user local script to do, or that multiple users hit at once. → MCP server.
  3. Is it a workflow, procedure, or body of knowledge the model should follow? A house style, a release checklist, a code-generation recipe, domain conventions. → Agent Skill.
  4. Is it both? (It usually is.) → A thin server for the connection and side effects, and skills that encode the workflow on top. Build the skill first when you can — see the cost argument below.

The token-cost math (this decides the borderline cases)#

The costs are shaped differently, and the shape is the deciding factor when a feature could plausibly go either way.

Practical read: if the thing is mostly knowledge — long, occasionally-needed, reference-heavy — a skill is strictly cheaper to keep around. If the thing is mostly capability — a live action the agent takes often — a server earns its schema.

Why "start with the skill" is the right default#

When a feature genuinely could be either, bias toward the skill, because the operational cost is lopsided:

Agent SkillMCP Server
To shipCommit a folderDeploy and secure a service
To versiongitDeploy pipeline + schema versioning
To killDelete the folderDecommission infrastructure
To make multi-userShare via plugin or managed settingsIt already is — but you own the scaling

A file in git is cheaper to write, review, and delete than a running service with auth, transport, and a scaling story. Ship the skill; graduate to a server only when questions 1 or 2 force your hand.

Where this is heading#

Both surfaces standardized in mid-2026, which is why this is now a clean decision rather than a bet. Skills became portable under the SKILL.md open standard — the same folder runs across Claude Code, claude.ai, Cursor, and ChatGPT. And MCP authorization went production with enterprise-managed, IdP-provisioned connector access, so a server is now sellable into enterprises without a bespoke auth story. You're no longer choosing between two moving targets — you're choosing between two stable primitives with different jobs.

When you've decided it's a skill, the build is short: how to turn a repeated prompt into a Claude Agent Skill walks it end to end. When it's a server, start with how to build an MCP server.