Claude Skills vs. MCP vs. agentic tooling · the 2026 stack
The agent-tooling layer finally settled into three jobs: skills (instructions + assets the model loads on demand), MCP (a portable protocol for tools and data), and agent frameworks (the loop that actually runs).
Use all three, but stop confusing them. Default to Claude Skills for any reusable, instruction-heavy capability you want to ship inside Claude Code or claude.ai · they are the cheapest unit of behaviour change. Use MCP as the wire protocol for any tool a non-Claude client might also need to call · it is now the de-facto standard. Use a thin agent framework (LangGraph, OpenAI Agents SDK, or a 200-line custom loop) only when you need branching, retries, and long-horizon control. We avoid heavy frameworks for anything under three turns.
When to pick which
Claude Skills
- 01Reusable instructions + scripts that should activate on demand
- 02You want the capability to live close to the model, not behind a server
- 03Markdown-first authoring beats YAML/JSON config for your team
- 04Distribution via Claude Code or claude.ai is the target
- 05You want skills to compose with MCP servers without rewriting
MCP / OpenAI tools / LangGraph agents
- 01MCP: any tool that more than one client (Claude, Cursor, Zed) will call
- 02MCP: stateful resources, prompts, or sampling that need a server
- 03Agent framework: multi-step plans, branching, parallel tool use
- 04Agent framework: durable execution, human-in-the-loop checkpoints
- 05Agent framework: cross-model orchestration (Claude + GPT + Gemini)
Factor-by-factor
| Factors to weigh | Claude Skills | MCP / OpenAI tools / LangGraph agents |
|---|---|---|
| Primary unit | A folder with a SKILL.md + assets | MCP: a server speaking JSON-RPC · Agents: a graph/loop in code |
| Best at | Loading domain knowledge + scripts on demand | MCP: tool/resource portability · Agents: control flow |
| Authoring cost | Lowest · markdown + a few scripts | MCP: medium (server scaffold) · Agents: highest (graph + state) |
| Portability across models | Claude-only today | MCP: cross-client · Agents: framework-locked but model-agnostic |
| Discovery / activation | Model-driven, lazy load | MCP: client lists tools · Agents: explicit in code |
| When to reach for it first | Capability extension inside Claude | MCP: shareable tool surface · Agents: orchestration logic |
| Anti-pattern | Stuffing live API calls into a skill instead of an MCP server | MCP: shipping a server for a one-shot Claude-only behaviour · Agents: a 6-node graph for what a skill could do |
| We recommend | Default for instruction + asset bundles | MCP for shared tools · Agents only when control flow demands it |
Let's get started.
Send an email or book a 30-minute call.