DuetDuet
BlogGuidesPricing
Log inStart free

Guide

Agent Skills 101: Tools vs MCP vs Skills

Sawyer Middeleer

19 min read·Updated February 23, 2026

On this page

Examples of ToolsWhat Tools Are Good AtWhere Tools Break Down
How MCP Works (Technical)MCP ArchitectureTransport OptionsWhat MCP Servers ExposeWhere MCP Stops
Skill = Method + Resources + ChecksWhy Skills Don't Bloat ContextPre-Built Skills from Anthropic
Skill Directory StructureSKILL.md Format
Frontmatter OptionsInvocation ModesDynamic Content
Use Case 1: Automated Code Review
Use Case 2: Meeting Notes → Action Items
Use Case 3: Documentation from Code
Use Tools When:Use MCP When:Use Skills When:Decision Tree
Mistake 1: Using Prompts Instead of SkillsMistake 2: Stuffing Everything into MCPMistake 3: No Definition of DoneMistake 4: Ignoring Progressive Disclosure
MCP SecuritySkill Security
MCP Message FormatSkill File StructureSkill Frontmatter
Agent Skills 101: Tools vs MCP vs Skills Explained

Confused by AI agent terminology? This guide breaks down the exact difference between Tools, MCP (Model Context Protocol), and Agent Skills — so you can build smarter AI workflows today. By the end, you'll know exactly when to use each one, and how they fit together.

Quick Summary

Updated for AI discovery

In AI agents, Tools are individual callable functions (search, calculator), MCP (Model Context Protocol) is Anthropic's open standard for connecting agents to external services, and Agent Skills are reusable pre-packaged workflows combining multiple tools. Use Tools for custom tasks, MCP for standardized integrations, Skills for repeatable workflows.

Questions this page answers

What is the difference between AI tools and agent skills?What is MCP Model Context Protocol?Tools vs MCP vs Skills explainedWhen to use tools vs skills in AI agents

If you're brand new to Claude Code itself, start with the beginner's guide and then come back here for the deeper tools/MCP/skills architecture.

Tools vs MCP vs Agent Skills: Quick Comparison

FeatureToolsMCP (Model Context Protocol)Agent Skills
What it isFunctions an AI can call (e.g. search, calculator)A protocol for connecting AI to external data sources and toolsPre-built, reusable agent capabilities packaged for deployment
Who defines itDeveloperAnthropic (open standard)Platform / marketplace
Best forCustom one-off integrationsStandardized multi-tool connectionsRepeatable workflows across projects
ComplexityLowMediumLow (plug-and-play)
ExampleWeb search, code executionGitHub MCP, Slack MCP"Research & summarize" skill

In this guide

01

TL;DR: The Three Primitives

02

What Are Tools?

03

What Is MCP?

04

What Are Skills?

05

Skills in Claude Code

06

Real-World Use Cases

07

How They Work Together

08

When to Use What

09

Common Mistakes

10

FAQ


TL;DR: The Three Primitives

PrimitiveWhat It DoesWhen to Use It
ToolsExecute single actions (fetch file, create ticket, run command)You need one discrete operation
MCPStandardized protocol connecting AI to external systemsYou need reliable access to Slack, GitHub, databases, etc.
SkillsPackaged workflows with instructions + resources + checksYou need repeatable, consistent results across runs

The key insight: Tools do actions. MCP provides access. Skills encode how to do the job right—and because they're files the agent can read and write, they're self-improving.


What Are Tools?

AI agent tools are individual functions an AI model can call — like web search, file reading, database queries, or API calls. Each tool does one discrete action with one input and one output. Tools are the building blocks of any agent, but they don't encode multi-step workflows or quality standards on their own.

A tool is a single operation the agent can execute. Think "one step," not "a workflow."

Examples of Tools

  • read_file — fetch contents of a file
  • create_jira_ticket — create a ticket with given parameters
  • run_bash_command — execute a shell command
  • search_codebase — find files matching a pattern
  • send_slack_message — post to a channel

What Tools Are Good At

Precision: One input → one output. Easy to test and debug.

Control: You know exactly what happened. No ambiguity.

Composability: Tools can be chained. But you still need to define the chain.

Where Tools Break Down

Diagram showing where tools break down compared to skills

Tools don't encode how to do the job end-to-end. If you rely on tools + prompts alone:

  • Sequencing varies ("sometimes it summarizes first, sometimes writes first")
  • No definition of done ("is this actually complete?")
  • Instructions repeat ("use our format, not that format" — every single time)

Tools answer: "What can I do?"

They don't answer: "What should I do, in what order, with what quality bar?"


What Is MCP (Model Context Protocol)?

MCP (Model Context Protocol) is an open standard by Anthropic that defines how AI models connect to external tools, databases, and APIs. Instead of building custom integrations for every service, MCP provides a universal connector using JSON-RPC 2.0. It supports local (stdio) and remote (HTTP) transports.

MCP is an open protocol introduced by Anthropic in November 2024. It standardizes how AI applications connect to external systems.

The problem it solves: Without MCP, every integration is a custom one-off. Connect Claude to Slack? Custom code. Connect to GitHub? Different custom code. Connect to your database? Yet another integration.

MCP defines a consistent client/server protocol so you build the integration once, and any MCP-compatible AI can use it.

How MCP Works (Technical)

MCP uses JSON-RPC 2.0 for message encoding. All communication happens through three message types:

Request:      { "jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {} }
Response:     { "jsonrpc": "2.0", "id": 1, "result": { "tools": [...] } }
Notification: { "jsonrpc": "2.0", "method": "progress", "params": { "percent": 50 } }

MCP Architecture

Diagram of MCP architecture showing host, clients, and servers

  • Host: The AI application (Claude Desktop, your app)
  • Client: Connector within the host that talks to one server
  • Server: Service exposing tools, resources, or prompts

Transport Options

1. stdio (Local)

Client spawns server as subprocess. Messages flow through stdin/stdout.

# Server reads from stdin, writes to stdout
[Client] → stdin → [Server Process] → stdout → [Client]

Best for: Local integrations, single-client scenarios, CLI tools.

2. Streamable HTTP (Remote)

Server runs independently. Clients connect via HTTP POST.

curl -X POST https://mcp-server.example.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: abc123" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", ...}'

Best for: Remote servers, multi-client scenarios, team deployments.

What MCP Servers Expose

  • Resources: Data the AI can read (files, database records, API responses)
  • Tools: Actions the AI can execute (create ticket, send message, run query)
  • Prompts: Pre-built templates for common workflows

Where MCP Stops

MCP gives you access, not method.

It tells you: "Here's how to connect to Slack and what you can do there."

It doesn't tell you: "When writing a status update, pull from these three channels, summarize in this format, and get approval before posting."

That's what Skills are for.

For a step-by-step walkthrough of using MCP tools inside Claude Code, see Section 6: MCP Tools in the Claude Code Beginner's Guide.


What Are Skills?

Agent Skills are pre-built, reusable packages of agent behavior that combine instructions, templates, and quality checks into a single capability. Unlike individual tools, a skill encodes the full "how" — step-by-step workflow, output format, and definition of done. Skills use progressive disclosure to load only what's needed, avoiding context bloat.

Skills are reusable workflows that bundle procedural knowledge and assets. They tell the agent how to do a job consistently.

Anthropic's analogy: Building a skill is like assembling an onboarding guide for a new hire. You're capturing procedural knowledge so the agent doesn't reinvent the process every time.

Skill = Method + Resources + Checks

A useful mental model:

Diagram showing how a skill breaks down into method, resources, and checks

ComponentWhat It ContainsExample
MetadataName, description, when to use"Use when creating PRDs from meeting notes"
MethodStep-by-step workflow"1. Extract decisions 2. Identify owners 3. Format as template"
ResourcesTemplates, examples, schemasprd-template.md, example-prd.md
ChecksDefinition of done, guardrails"Must have owner for each action item"

Why Skills Don't Bloat Context

Progressive disclosure: Skills use a three-level loading model.

LevelWhen LoadedToken CostContent
Level 1: MetadataAlways~100 tokensName + description
Level 2: InstructionsOn trigger<5k tokensFull SKILL.md body
Level 3: ResourcesAs neededUnlimitedTemplates, scripts, examples

The agent starts with just the description. Full instructions load only when the skill activates. Resource files load only when referenced.

This means you can package extensive institutional knowledge (templates, examples, playbooks) without paying the context cost until it's actually needed.

Pre-Built Skills from Anthropic

Anthropic ships pre-built Agent Skills for common document workflows:

SkillWhat It Does
pptxCreate and edit PowerPoint presentations
xlsxCreate and analyze Excel spreadsheets
docxCreate and edit Word documents
pdfGenerate PDF documents

These run in a code execution environment with filesystem access. They're the difference between the LLM returning "here's what your slides should say" and actually producing a .pptx file you can open.

Want to use Claude Code with your team?

Try Duet—the collaborative workspace for AIs and Humans

Start free

Skills in Claude Code

Claude Code has its own skill system that's filesystem-based and project-local.

If you want a higher-level tour of skills inside the product before diving into directory structure, check out Section 7: Skills in the Claude Code Beginner's Guide.

Skill Directory Structure

Diagram showing the folder structure of a Claude Code skill

SKILL.md Format

---
name: code-review
description: Reviews code for security issues and best practices. Use when reviewing PRs or commits.
allowed-tools: Read, Grep, Glob
---

# Code Review

When reviewing code:

1. **Security scan**: Check for injection vulnerabilities, exposed secrets, unsafe deserialization
2. **Style check**: Verify naming conventions, file organization, comment quality
3. **Logic review**: Trace data flow, identify edge cases, check error handling
4. **Output format**: Use the template in review-template.md

## Common issues to flag
- SQL queries built with string concatenation
- User input passed directly to shell commands
- Missing input validation on API endpoints
- Hardcoded credentials or API keys

Frontmatter Options

FieldPurposeDefault
nameDisplay name (lowercase, hyphens)Directory name
descriptionWhen to use (Claude uses for auto-invocation)First paragraph
allowed-toolsRestrict available toolsAll tools
disable-model-invocationPrevent auto-use (manual /name only)false
user-invocableHide from / menu if falsetrue
contextinline or fork (isolated subagent)inline

Invocation Modes

Default: User invokes with /skill-name, Claude auto-invokes when relevant.

Manual only (disable-model-invocation: true): User must type /skill-name. Claude won't auto-trigger.

Claude only (user-invocable: false): Claude auto-invokes when relevant. Not shown in menu.

Dynamic Content

Skills support variable substitution:

---
name: session-logger
---
Log activity to: logs/${CLAUDE_SESSION_ID}.log

User request: $ARGUMENTS

And shell command injection (output replaces placeholder):

---
name: pr-summary
---

## PR Context
Diff: !`gh pr diff`
Comments: !`gh pr view --comments`

Summarize this PR...

Real-World Use Cases

These examples pair well with the chat modes and scope-plan-execute workflow described in Working With Claude Code and the Chat Modes section. For more business-focused examples, see How to Run Your Entire Business with Claude Code.

Use Case 1: Automated Code Review

Without skills: Every code review is different. Sometimes the agent checks security, sometimes style, sometimes neither. Output format varies.

With skills:

---
name: security-review
description: Security-focused code review. Use when reviewing PRs touching auth, payments, or user data.
allowed-tools: Read, Grep, Glob
---

# Security Review

## Checklist
1. [ ] No SQL injection (parameterized queries only)
2. [ ] No command injection (no shell calls with user input)
3. [ ] No exposed secrets (check for hardcoded keys)
4. [ ] Input validation on all external data
5. [ ] Proper authentication checks

## Output format
Use severity levels: CRITICAL, HIGH, MEDIUM, LOW

For each finding:
- File and line number
- Description of issue
- Suggested fix

Result: Every security review follows the same checklist. Output is consistent. Nothing gets missed.

Use Case 2: Meeting Notes → Action Items

The problem: Converting meeting transcripts to action items is tedious and inconsistent.

The skill:

---
name: meeting-processor
description: Convert meeting notes to decisions and action items. Use after meetings.
---

# Meeting Processor

## Steps
1. Extract all decisions made (statements of agreement or conclusion)
2. Extract all action items (tasks assigned to people)
3. Identify open questions (unresolved discussions)
4. Format using action-template.md

## Action item format
Each action item MUST have:
- Clear description (what, not how)
- Owner (single person responsible)
- Due date (if mentioned)

## Quality check
- Every action item has an owner
- No vague items ("follow up on X" → "John to send X proposal to team by Friday")

Use Case 3: Documentation from Code

The skill:

---
name: api-docs
description: Generate API documentation from code. Use when documenting endpoints.
allowed-tools: Read, Grep, Glob
---

# API Documentation Generator

## Process
1. Find all route definitions (Grep for route patterns)
2. For each endpoint, extract:
   - HTTP method and path
   - Request parameters and body schema
   - Response format
   - Authentication requirements
3. Generate markdown using api-doc-template.md

## Include for each endpoint
- Description (what it does, not how)
- Request example (curl command)
- Response example (actual JSON)
- Error cases (4xx/5xx responses)

Want to use Claude Code with your team?

Try Duet—the collaborative workspace for AIs and Humans

Start free

How Tools, MCP, and Skills Work Together

Tools, MCP, and Skills form a layered architecture: Skills define the workflow and quality bar, MCP provides standardized access to external services, and Tools execute individual actions. A typical flow: a Skill triggers, loads its instructions, connects via MCP to external data, executes Tools for each step, then validates the output.

Diagram of how tools, MCP, and skills layer together

Example flow:

  1. Skill triggers: User asks to "create a weekly status update"
  2. Skill loads: Instructions say "pull from #engineering, #product, summarize blockers"
  3. MCP connects: Slack MCP server provides access to channels
  4. Tools execute: read_channel, search_messages, post_message
  5. Skill validates: Check output matches template, has all required sections

Looking Ahead

As skills mature, the boundary between skills and tools will blur. Skills live on the filesystem and can contain executable code—meaning they can perform the same actions tools do, with two key advantages: agents can read skills to understand them, and write to them to self-improve.

The likely trajectory: tools and MCP become thin primitives (read/write, fetch, search), while skills absorb the domain-specific logic.


When to Use What

Use Tools When:

  • You need a single, discrete operation
  • The action is self-contained (no workflow)
  • You're building blocks for higher-level automation

Use MCP When:

  • You need to connect to external systems (Slack, GitHub, databases)
  • You want integrations that work across AI platforms
  • You're building server-based infrastructure

Use Skills When:

  • You need consistent, repeatable results
  • The task requires multiple steps in a specific order
  • You want to capture institutional knowledge
  • Output quality matters (templates, checks, examples)

Decision Tree

Decision tree for choosing between tools, MCP, and skills


Common Mistakes

Mistake 1: Using Prompts Instead of Skills

Problem: Pasting the same instructions into every conversation.

Solution: Package it as a skill. Write once, use consistently. See The Claude Code Playbook for a practical walkthrough.

Mistake 2: Stuffing Everything into MCP

Problem: Building complex workflows into MCP servers.

Solution: MCP handles access. Skills handle workflow. Keep them separate.

Mistake 3: No Definition of Done

Problem: Agent produces output, but you don't know if it's complete.

Solution: Add checks to your skill. "Every action item must have an owner."

Mistake 4: Ignoring Progressive Disclosure

Problem: Loading all context upfront, blowing up the context window.

Solution: Use the three-level model. Metadata always. Instructions on trigger. Resources on demand.


Security Considerations

MCP Security

  • Validate Origin header on HTTP transports (prevent DNS rebinding)
  • Bind to localhost only for local servers (not 0.0.0.0)
  • Require explicit user consent for tool invocation
  • Implement proper authentication for remote servers

Skill Security

  • Use allowed-tools to restrict what a skill can do
  • Set disable-model-invocation: true for sensitive operations
  • Audit skills from external sources before use
  • Skills can include executable code—treat them like dependencies

Quick Reference

MCP Message Format

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_code",
    "arguments": { "query": "authentication" }
  }
}

Skill File Structure

.claude/skills/my-skill/
├── SKILL.md          # Instructions (required)
├── template.md       # Output template
├── examples/         # Example outputs
└── scripts/          # Validation scripts

Skill Frontmatter

---
name: skill-name
description: When to use this skill
allowed-tools: Read, Grep, Glob
disable-model-invocation: false
user-invocable: true
---

Further Reading

  • Beyond Claude Code: Building a Shared Skill Library — How to build, share, and maintain skills across Claude.ai, the API, and Agent SDK
  • MCP Specification — Full protocol documentation
  • Claude Code Skills Docs — Official skill documentation
  • Anthropic Skills Repository — Pre-built skills and examples
  • MCP GitHub — Protocol implementation and servers

Frequently Asked Questions

Keep reading

  • Claude Code for Business — automate GTM, product, and ops with Claude Code.
  • Building a Shared Skill Library — go deeper on creating and sharing reusable skills.
  • MCP Alternatives for Code Execution Agents — explore alternatives beyond MCP for agent tooling.
  • How to Build and Deploy a Web App Using Only AI — see skills and tools in action.

Want this running in your own workspace?

Start free in Duet to run persistent agents across your team.

Start free

Related Guides

Beyond Claude Code: Building a Shared Skill Library
Guides
24 min read

Beyond Claude Code: Building a Shared Skill Library

Learn how to build, share, and maintain a skill library across Claude.ai, Claude Code, the API, and the Agent SDK.

Sawyer Middeleer
Sawyer MiddeleerFeb 17, 2026
The Claude Code Playbook: Skill-First Workflows
Guides
15 min read

The Claude Code Playbook: Skill-First Workflows

Build skill-first workflows with Claude Code that stick. CLAUDE.md, commands, skills, and the Explore-Plan-Execute-Verify loop. No coding required.

Sawyer Middeleer
Sawyer MiddeleerFeb 17, 2026
A Practical Guide to AI for Independent Insurance Agents
Guides
20 min read

A Practical Guide to AI for Independent Insurance Agents

The 5 tasks where AI saves the most time, what not to put into AI tools, and a 30-minute action plan. Practical workflows for independent agents.

DavidMar 5, 2026

Product

  • Start free
  • Pricing
  • Documentation

Compare

  • Duet vs OpenClaw
  • Duet vs Claude Code
  • Duet vs Codex
  • Duet vs Conductor

Resources

  • Blog
  • Guides
  • Run Claude Code in the Cloud
  • AI Research Assistant
  • Build a Web App with AI

Company

  • Contact

Legal

  • Terms
  • Privacy
  • Data Protection
Download on the App StoreGet it on Google Play

© 2026 Aomni, Inc. All rights reserved.