Architecture guide

MCP vs. Agent Skills: What Each One Does

Choose between MCP servers and Agent Skills by separating live capabilities and authorization from reusable instructions, workflow policy, templates, and examples.

Updated · 4 min read

The useful distinction

An Agent Skill tells an agent how to perform a repeatable workflow. An MCP server gives an agent live capabilities and context through a standard connection.

That boundary is more useful than asking which technology is “better.” Many reliable systems use both: the MCP server exposes controlled data and actions, while the skill explains when to call those tools, in what order, what to verify, and how to present the result.

The MCP introduction defines MCP as an open standard for connecting AI applications to external systems. The Agent Skills specification defines a filesystem format for reusable instructions and supporting resources.

The OpenAI MCP guide describes the same boundary for Codex and ChatGPT: MCP connects models to tools and context, while a skill can teach a repeatable workflow around those capabilities.

Side-by-side

QuestionAgent SkillMCP server
Primary jobReusable instructions and workflow knowledgeLive data, tools, resources, prompts, and actions
Main artifactA directory with SKILL.mdA running local process or remote service
ActivationUser invocation or task matchClient connects, discovers capabilities, then invokes them
State and freshnessUsually bundled or read from local filesCan query current external state
AuthenticationNormally delegated to tools or the clientOften part of the server connection or upstream service
Main riskUntrusted instructions, scripts, and broad workflow behaviorData exposure, credential misuse, arbitrary actions, server compromise
Best fitRepeatable review, writing, analysis, or orchestration procedureDatabase queries, SaaS APIs, browsers, filesystems, deployment systems

Choose a skill when the workflow is the product

A skill is usually enough when the agent already has the required local capabilities and needs consistent procedure. Examples include:

  • A code-review checklist with severity and evidence rules.
  • A release-note format that reads the current repository diff.
  • A document workflow that uses bundled templates.
  • A research procedure that requires primary sources and a fixed citation format.

Skills are especially effective for decision points, output contracts, examples, and “do not infer” rules. They can include scripts for deterministic processing, but an instruction-only skill remains valid.

Choose MCP when the connection is the product

Use MCP when the agent must reach a live system or invoke capabilities that its host does not already provide. Examples include:

  • Querying a database schema and current rows.
  • Reading issues from a project tracker.
  • Operating a browser or design application.
  • Retrieving deployment logs.
  • Creating or updating records through an authenticated API.

An MCP server can expose tools, resources, and prompts. It also owns important runtime concerns such as transport, authentication, authorization, error handling, and the boundary around upstream systems.

Use both when a capability needs a dependable workflow

Suppose an engineering team wants a weekly incident review:

  1. An MCP server provides read-only access to incidents, logs, and deployments.
  2. A skill defines the time window, evidence order, severity rules, missing-data handling, and report template.
  3. The host retains approval around any follow-up mutation, such as creating an issue.

The OpenAI skills guidance describes this complement directly: servers provide live data, authorization, and controlled actions; skills provide tool sequences, decision points, output requirements, examples, and templates.

Do not hide permissions in prose

A skill can say “deploy the release,” but that sentence should not be the only control around a production deployment tool. Authorization and enforcement belong at the capability boundary:

  • Give the MCP server or underlying credential only the required scopes.
  • Mark read, write, and destructive tools clearly.
  • Keep host approval prompts for consequential operations.
  • Make the skill stop when evidence or authorization is missing.

Instructions guide behavior; they are not a substitute for access control.

Do not build a server for static guidance

An MCP server adds deployment, transport, authentication, and operational overhead. If the content changes with the repository and needs no live service, a skill or ordinary project guidance may be simpler.

Likewise, do not embed a large procedural manual in every MCP tool description. Keep tool schemas focused on the operation. Put multi-step user goals in a skill or server instructions where the client supports them.

A selection checklist

Ask these questions in order:

  1. Does the task need current external data or a new action surface? If yes, consider MCP.
  2. Does the task need a repeatable sequence, policy, or output format? If yes, consider a skill.
  3. Can existing host tools perform the task safely? If yes, avoid adding a server only for novelty.
  4. Does the capability need authentication or enforced authorization? Put that control in the server or upstream service.
  5. Will the workflow be shared across clients? Keep the skill's core portable and document client-specific setup separately.
  6. Can users understand and revoke the access? If not, redesign the boundary before deployment.

The result may be a skill, an MCP server, both, or neither. Choose the smallest architecture that preserves source visibility and control.

Continue with verified discovery