← All guides

MCP vs Skills for Agent Tools: Use This Rule

Choose a skill when the agent already has the capability and needs a reliable procedure. Choose MCP when the agent needs a capability it does not have.

The answer

Use a skill when the agent can already perform every required action. The skill gives those actions a stable procedure.

Use MCP when the agent needs a new connection to a service, data source, or application action.

Use both when the new capability also needs a controlled workflow. MCP supplies the tool. The skill tells the agent when and how to use it.

Pick a skill for procedure

A skill is stored guidance plus optional scripts and resources. It turns a repeated method into a reusable unit.

OpenAI’s Codex skills documentation describes skills as reusable workflows. Claude Code also exposes skills as reusable instructions through its skills system.

A skill is the right choice for tasks such as:

  • run a repository release checklist;
  • audit a page against a known rubric;
  • turn one input format into a defined output;
  • apply the same safe command sequence each week.

Do not build an MCP server just to wrap commands the agent can already run. That adds another process, transport, and failure surface.

Pick MCP for capability

MCP connects an agent client to tools and resources. The server can expose database queries, issue-tracker actions, files, or remote APIs.

The official MCP transport specification defines the connection layer. OpenAI’s Codex MCP guide shows stdio and HTTP server configuration.

MCP is the right choice when the agent must:

  • read a private service through an approved interface;
  • call an application action that has no built-in tool;
  • use one shared tool contract from several compatible clients;
  • keep credentials and service logic outside the prompt procedure.

If your stdio server disconnects after it logs, use the MCP stdout failure guide. Protocol messages belong on stdout. Logs belong on stderr.

The boundary test

Ask one question: Does the agent lack a capability, or lack a procedure?

Missing partUseExample
ProcedureSkillReview a pull request with the same gates
CapabilityMCPRead and update a ticket system
BothMCP plus skillExpose tickets, then enforce an owner-approved triage sequence
NeitherExisting instructionsOne short task that will not repeat

This boundary prevents two common mistakes.

The first mistake is a large instruction file that tries to simulate a missing integration. Instructions cannot create service access.

The second mistake is a server for a workflow that needs no new tool. A server cannot make an unclear procedure reliable.

A practical combined design

Suppose an agent must prepare support tickets for review.

  1. An MCP server exposes list_tickets and draft_reply.
  2. A skill defines which tickets qualify and which evidence to collect.
  3. The skill requires a human check before any external send.
  4. The MCP tool returns the draft without publishing it.

The capability stays reusable. The procedure stays reviewable. The approval boundary remains explicit.

What to choose now

Start with a skill if the agent already has every needed tool. You can add MCP later when a real capability gap appears.

Start with MCP only when the task cannot happen through current tools. Keep the first server narrow and test one action at a time.

For adjacent instruction choices, read AGENTS.md vs CLAUDE.md and Claude Code hooks vs skills. For an OpenClaw implementation, use the OpenClaw MCP server guide.

Need OpenClaw fixed live?

Remote rescue sessions for gateway, auth, tunnel, VPS, and model access problems.

See Rescue Session

Read next

AGENTS.md vs CLAUDE.md: Pick One Source of Truth
Use AGENTS.md for portable repository rules. Use CLAUDE.md for Claude-specific behavior. Keep shared rules in one file to prevent drift.
Claude Code Hooks vs Skills: Enforce or Instruct
Use a hook for automatic lifecycle enforcement. Use a skill for a reusable workflow the agent invokes. Here is the exact choice boundary.
When Should You Use a Subagent? Check Isolation First
Use a subagent for independent read-heavy work. Keep one agent for coupled edits, and isolate parallel writers by file or worktree.
Which Coding Agent Should You Use? A Workflow Decision
Choose Codex, Claude Code, or Cursor from the work surface, control layer, and task shape. The interactive guide gives one recommendation.