Skill vs MCP Server — When to Use Each for AI Agents
The Quick Answer
Skills = instructions and knowledge (markdown files). MCP servers = tool access (runtime processes).
They solve different problems. You often want both.
Side-by-Side Comparison
| Aspect | Skills (SKILL.md) | MCP Servers |
|---|---|---|
| What it is | A markdown file with instructions | A JSON-RPC server process |
| Purpose | Teach agents how to do tasks | Give agents tools to interact with systems |
| Format | Markdown + YAML frontmatter | JSON-RPC protocol |
| Complexity | Low. Just a file. | Higher. Requires code + runtime. |
| Setup time | Minutes | Hours to days |
| Runtime needed | None | Yes (Node.js, Python, etc.) |
| State | Stateless | Stateful connections |
| Portability | Works on 20+ platforms as-is | Platform-specific configuration |
| Context cost | ~100 tokens metadata + body on demand | Tool definitions in system prompt |
| Maintenance | Update a file | Maintain a running service |
When to Use a Skill
Skills are the right choice when you need to give an agent knowledge, procedures, or guidelines. No external system access required.
Good use cases for skills
Coding standards and conventions
---
name: api-conventions
description: Enforces REST API naming and structure conventions for this project.
---
# API Conventions
## Endpoint naming
- Use plural nouns: /users, /orders, /products
- Nest related resources: /users/{id}/orders
- Use query params for filtering: /users?role=admin
Step-by-step workflows
---
name: release-process
description: Guides the release process from staging to production.
---
# Release Process
1. Run full test suite: `npm test`
2. Update CHANGELOG.md with new entries
3. Bump version in package.json
4. Create release branch: release/vX.Y.Z
5. Deploy to staging and verify
6. Merge to main and tag
Domain expertise
---
name: french-tax-rules
description: French tax calculation rules for freelance invoicing.
---
# French Tax Rules
## VAT rates
- Standard: 20%
- Reduced: 10% (renovations, restaurants)
- Super-reduced: 5.5% (food, books)
Writing and content guidelines
---
name: blog-style
description: Blog post writing guidelines for the company blog.
---
# Blog Style Guide
- Write at an 8th grade reading level
- Use short paragraphs (2-3 sentences max)
- Lead with the conclusion, then explain
- Include code examples for technical posts
Why skills work here
These tasks require knowledge the agent does not have by default. The agent already knows how to write code, format text, and follow procedures. It just needs your specific rules and preferences.
When to Use an MCP Server
MCP servers are the right choice when your agent needs to interact with external systems. APIs, databases, file processors, third-party services.
Good use cases for MCP servers
- Database queries: Connect to PostgreSQL, MongoDB, or BigQuery
- API integrations: GitHub, Jira, Slack, Stripe, Salesforce
- File processing: Convert PDFs, process images, parse spreadsheets
- Web browsing: Fetch URLs, scrape pages, search the web
- Cloud services: AWS, GCP, Azure resource management
Why MCP is needed here
These tasks require tool access. The agent cannot query your database or create a GitHub issue with markdown instructions alone. It needs a running process that handles the API calls.
Using Both Together
The most powerful setup combines skills with MCP servers. The skill provides the workflow. The MCP server provides the tools.
Example: Database Analysis
Skill (SKILL.md):
---
name: db-analysis
description: Analyzes database performance and suggests optimizations.
---
# Database Analysis
## Process
1. Use BigQuery:list_tables to see all tables
2. Use BigQuery:get_schema for each table
3. Identify tables with >1M rows
4. Check for missing indexes on frequently queried columns
5. Use BigQuery:run_query to test query plans
6. Report findings with specific ALTER TABLE recommendations
## Important
- Never run DROP or DELETE queries
- Always use EXPLAIN before running analysis queries
- Limit result sets to 1000 rows
MCP server: A BigQuery MCP server providing the list_tables, get_schema, and run_query tools.
The skill tells the agent what to do and in what order. The MCP server gives the agent the ability to actually query the database. Neither alone is sufficient.
Example: GitHub PR Workflow
Skill:
---
name: pr-review-workflow
description: Full PR review workflow including code review, label management, and merge criteria.
---
# PR Review Workflow
1. Use GitHub:get_pull_request to fetch PR details
2. Review all changed files for bugs and style issues
3. Check that tests pass (look at CI status)
4. If approved, use GitHub:add_labels with "approved"
5. If changes needed, use GitHub:create_review with REQUEST_CHANGES
6. Never merge without at least one approval
MCP server: A GitHub MCP server providing PR and review tools.
Decision Flowchart
Ask these questions in order:
1. Does the task require accessing an external system?
- No -> Use a skill
- Yes -> Continue
2. Does an MCP server for that system already exist?
- No -> Build an MCP server (or use a skill with shell commands as a workaround)
- Yes -> Continue
3. Does the agent need workflow guidance for using those tools?
- No -> MCP server alone is enough
- Yes -> Use a skill + MCP server together
Common Misconceptions
"Skills are just system prompts"
No. System prompts apply to a single conversation. Skills are persistent, reusable, and load on demand. You install a skill once and it works across all conversations automatically.
"MCP servers replace skills"
No. MCP servers provide tool access. Skills provide knowledge and workflow guidance. Replacing your code review skill with an MCP server does not make sense because code review does not require external tool access.
"I should build an MCP server for everything"
Only if external system access is needed. If you are teaching the agent a process that uses tools it already has (file reading, code writing, terminal commands), a skill is simpler and faster.
"Skills cannot do anything real"
Skills can reference shell commands, scripts, and file operations. For many tasks, the agent's built-in tools (file read/write, terminal, code execution) are sufficient. A deployment skill can run npm run deploy through the agent's terminal. No MCP server needed.
Next Steps
- Learn about skills: Read What Is a Skill?
- Create a skill: Follow the tutorial at How to Create a Skill
- Install skills: See How to Install a Skill
- Frontmatter reference: Check the SKILL.md Frontmatter Guide
- Browse skills: Find ready-made skills at agentskill.sh
FAQ
What is the difference between a skill and an MCP server?
A skill is a markdown file that provides instructions and knowledge. An MCP server is a runtime process that gives agents access to external tools and APIs. Skills teach agents how to do tasks. MCP servers give agents tools to interact with external systems.
Can I use skills and MCP servers together?
Yes. Skills can reference MCP tools by name. For example, a database analysis skill might include workflow instructions that use an MCP tool for querying the database. The skill provides the how, the MCP server provides the capability.
When should I use a skill instead of an MCP server?
Use a skill when you need to teach an agent a process, workflow, or set of guidelines. Skills are ideal for code review standards, deployment procedures, writing conventions, and domain expertise. If no external API or tool access is needed, a skill is the right choice.
When should I use an MCP server instead of a skill?
Use an MCP server when your agent needs to interact with external systems: databases, APIs, file systems, or third-party services. MCP servers provide tool access that skills cannot.
Are skills easier to create than MCP servers?
Yes, significantly. A skill is a markdown file that takes minutes to create. An MCP server requires writing code, setting up a runtime (Node.js, Python, etc.), handling JSON-RPC protocol, and managing a running process. Skills need no build step, no server, and no SDK.