Exam guide·9 min read·30 July 2026

Model Context Protocol Certification: Skills vs MCP Guide

Preparing for model context protocol certification? Learn when to use a Skill vs an MCP server in Claude Code, how they interact, and what the CCAR-F exam tests.

By Solomon Udoh · AI Architect & Certification Lead

Model Context Protocol Certification: Skills vs MCP Guide

If you are preparing for a model context protocol certification and find yourself unsure whether a given problem calls for a Skill, an MCP server, or both, you are not alone. This is the sharpest conceptual boundary in the CCAR-F exam's Domain 2 (Tool Design & MCP Integration, 18% of the exam) and it trips up candidates who have used Claude Code in practice but never formalised the mental model. This guide draws the line precisely, shows you how the two layers interact, and maps everything to the exam task statements you will be tested on.

What is the difference between a Skill and an MCP server?

A Skill is a documented procedure: it tells Claude how to behave when performing a class of task. An MCP server is an integration layer: it gives Claude the capability to act on external systems. The distinction is behaviour guidance versus tool access.

In Claude Code, a Skill lives in a SKILL.md file (or a file referenced by frontmatter). It contains instructions, conventions, and examples that Claude loads into its working context when the skill is relevant. An MCP server, by contrast, exposes tools, resources, and prompts over the Model Context Protocol so that Claude can call external APIs, read databases, or run processes.

Put simply: if the problem is "Claude does not know our deployment procedure," a Skill is the right layer. If the problem is "Claude cannot reach our deployment API," an MCP server is the right layer. Many real workflows need both.

LayerWhat it providesWhere it livesLoaded by
Skill (SKILL.md)Procedural instructions, conventions, examplesRepository or user configFrontmatter auto-load or explicit invocation
MCP serverTools, resources, prompts over MCP protocolRemote or local processclaude_desktop_config.json or project config
SubagentSeparate context window for isolated subtasksSpawned at runtimeCoordinator agent or orchestrator

The exam consistently tests whether you can identify which layer solves a given symptom. A scenario where Claude repeatedly ignores your naming conventions points to a missing Skill. A scenario where Claude cannot retrieve live data points to a missing or misconfigured MCP server. See our Tool Design & MCP Integration concept library for the full taxonomy.

How do you create and structure a Claude Code Skill?

A Skill is a Markdown file with YAML frontmatter that tells Claude when and how to load it. The frontmatter declares a name, a description (used for auto-selection), and optionally a triggers list. The body is free-form Markdown: step-by-step procedures, decision rules, examples, and constraints.

markdown
---
name: deploy-to-staging
description: Use this skill when deploying any service to the staging environment.
triggers:
- deploy
- staging
- release candidate
---
## Deployment procedure
1. Run `npm run build` and confirm zero TypeScript errors.
2. Tag the commit: `git tag rc-<version>`.
3. Call the `deploy_service` MCP tool with `env: staging`.
4. Monitor the `/deploy/status` MCP resource until `state` is `healthy`.

Notice that the Skill body references an MCP tool (deploy_service) and an MCP resource (/deploy/status). This is the canonical answer to the question "can a Skill call MCP tools?" Yes: a Skill orchestrates the procedure; MCP provides the execution capability. The two layers are complementary, not mutually exclusive.

Claude decides which Skill to load based on the description field acting as a semantic selector. When Claude Code sees a user request that matches the description, it auto-loads the skill into context. This is why writing precise, scenario-specific descriptions is a high-leverage activity, exactly the same principle that governs tool descriptions as a selection mechanism.

How do MCP prompts appear in Claude Code, and how do you run them?

MCP servers can expose three primitives: tools (callable functions), resources (readable content), and prompts (pre-built instruction templates). In Claude Code's CLI, MCP prompts surface in the / command menu. The invocation syntax is:

bash
/mcp__<servername>__<promptname>

For example, if your MCP server is named github and it exposes a prompt called summarise_pr, you invoke it as:

bash
/mcp__github__summarise_pr

This is a first-class workflow in Claude Code, not a workaround. MCP prompts are useful when you want a server-defined starting instruction that combines tool context with a structured task framing. From an exam perspective, know that MCP prompts are distinct from Skills: prompts are server-side templates invoked on demand; Skills are client-side procedure documents loaded into context.

"MCP servers can expose tools, resources, and prompts. Tools are callable functions, resources provide readable content, and prompts are reusable instruction templates."

Anthropic , Model Context Protocol Documentation

The MCP scoping hierarchy determines which servers are available in a given session: user-level config applies globally, project-level config applies to a repository, and inline config applies to a single invocation. Exam scenarios often hinge on diagnosing why a tool is unavailable, and the answer is almost always a scoping mismatch.

When should you use a Skill vs an MCP server?

The decision rule is straightforward once you identify the root cause of the gap:

SymptomRoot causeSolution
Claude ignores team conventionsMissing procedural guidanceWrite a Skill
Claude cannot reach an external APIMissing integrationBuild or configure an MCP server
Claude uses the wrong tool for a taskPoor tool descriptionImprove the MCP tool description
Claude forgets the procedure mid-taskSkill not auto-loadingFix frontmatter description or triggers
Claude calls the right tool with wrong parametersSkill lacks parameter examplesAdd examples to the Skill body
Claude cannot read live dataMissing MCP resourceExpose a resource from the MCP server

The CCAR-F exam rewards proportionate fixes. If a scenario describes Claude misrouting a tool call, the correct answer is almost never "rewrite the system prompt." It is more likely "improve the tool description" or "split the overloaded tool into two specific tools." See diagnosing tool misrouting for the full diagnostic framework.

A useful heuristic: if you can solve the problem by writing Markdown, it is a Skill problem. If you need a running process that Claude can call, it is an MCP problem.

What does the CCAR-F exam actually test about MCP integration?

Domain 2 (Tool Design & MCP Integration) carries 18% of the exam weight, which translates to roughly 10 to 11 items across a 60-question paper. The domain's task statements cluster around four themes:

  1. Tool description quality: writing descriptions that route correctly, diagnosing misrouting, splitting overloaded tools.
  2. Error handling: using the isError flag, structuring error metadata, distinguishing access failures from valid empty results.
  3. Tool distribution strategy: deciding which tools belong to which agent, using tool_choice configuration, scoping cross-role tools.
  4. MCP configuration: environment variable expansion, scoping hierarchy, build-vs-use decisions for MCP servers.

The exam does not test MCP protocol internals or transport-layer details. It tests judgment: given a scenario, what is the right design decision? This is consistent with the exam's general philosophy: every item is scenario-based and tests practical judgment, not recall.

Domain 3 (Claude Code Configuration & Workflows, 20%) overlaps here because Claude Code's three-level configuration hierarchy governs how MCP servers are scoped. Understanding the three-level configuration hierarchy is therefore relevant to both domains.

How do subagents fit alongside Skills and MCP?

Subagents add a third layer: isolated context windows that can each carry their own Skills and MCP tool access. A coordinator agent decomposes a task, spawns subagents for parallel or sequential subtasks, and synthesises results. Each subagent operates independently, which prevents context contamination and allows specialisation.

The practical implication for Skills and MCP: a subagent can be given a narrow Skill (e.g., "you are the database migration specialist") and a restricted MCP tool set (e.g., only the db_migrate tool). This is the subagent context isolation pattern, and it is tested in Domain 1 (Agentic Architecture & Orchestration, 27%), the highest-weighted domain on the exam.

json
{
"subagent": "db-migration-specialist",
"skill": "skills/db-migration.md",
"mcp_tools": ["db_migrate", "db_rollback", "db_status"],
"context": "Migrate the `users` table schema per the attached diff."
}

The coordinator does not need to know the migration procedure in detail. It delegates to the subagent, which loads the relevant Skill and calls the appropriate MCP tools. This separation of concerns is both good production architecture and the pattern the exam rewards.

"Effective tool interfaces for multi-agent systems restrict each agent to the tools it actually needs, reducing the surface area for misrouting and unintended side effects."

Anthropic , Claude Documentation (Tool Use)

What does "behaviour vs actions" mean in Claude Code?

This is the mental model that unifies everything above. In Claude Code:

  • Behaviour is how Claude reasons, decides, and communicates. Skills shape behaviour by injecting procedural knowledge and conventions into context.
  • Actions are what Claude does to the world: API calls, file writes, database queries. MCP servers enable actions by exposing callable tools.

A well-designed Claude Code workflow separates these concerns cleanly. The Skill says "when deploying, always confirm the target environment before proceeding." The MCP tool deploy_service actually performs the deployment. Claude's behaviour (confirm first) is governed by the Skill; Claude's capability (deploy) is governed by the MCP server.

This separation also makes systems easier to audit and maintain. Changing the deployment procedure means editing a Markdown file. Adding a new deployment target means updating the MCP server. Neither change requires touching the other layer.

For exam preparation, the tool interface design for multi-agent systems concept covers how this separation scales to coordinator-subagent architectures, where the stakes of a misrouted tool call are higher because errors propagate across agent boundaries.

How should you approach prompt engineering for Claude Code exam questions?

Domain 4 (Prompt Engineering & Structured Output) carries 20% of the exam weight, equal to Domain 3. For Claude Code specifically, the exam tests four prompt engineering principles:

  1. Explicit instructions: state constraints, formats, and decision rules directly. Do not rely on Claude inferring them.
  2. Context provision: give Claude the information it needs at the point it needs it, not buried in a long preamble.
  3. Examples: few-shot examples are the highest-leverage technique for tasks with ambiguous edge cases.
  4. Structure: use XML tags, numbered lists, or JSON schemas to delimit sections of a prompt, especially for multi-step tasks.

These principles apply equally to Skill bodies, MCP tool descriptions, and direct prompts. A Skill that uses numbered steps and concrete examples will outperform one that uses vague prose. A tool description that states exactly what the tool does and does not do will route correctly more often than one that is generic.

Our prompt engineering concept library covers all 30 task statements across the five domains, with worked examples for each. The writing effective tool descriptions concept is particularly relevant for candidates who want to see the principles applied to MCP specifically.

How do you prepare efficiently for the MCP and Skills domains?

The CCAR-F exam has 60 items, a 120-minute time limit, and a passing score of 720 on a 100-to-1000 scale. Each sitting draws 4 scenarios at random from a bank of 6, so you cannot predict which scenario set you will face. Broad coverage across all five domains is more reliable than deep specialisation in one.

For the MCP-relevant domains (Domain 2 at 18% and Domain 3 at 20%), the highest-return preparation activities are:

  1. Work through scenario-based practice questions that require you to diagnose a symptom and select a proportionate fix.
  2. Study the MCP server integration best practices concept, which maps directly to Domain 2 task statements.
  3. Practise distinguishing isError: true (tool executed but returned an error) from a valid empty result (tool executed successfully and found nothing). This distinction appears in multiple exam scenarios.
  4. Understand the environment variable expansion in MCP config pattern, which is a common source of configuration bugs in exam scenarios.

AI Skill Certs is an independent prep platform (not affiliated with or endorsed by Anthropic). Our adaptive engine uses Bayesian Knowledge Tracing with a 0.90 mastery threshold, so it routes you to the concepts where your knowledge is weakest rather than having you re-study material you already know. Practice exams mirror the real format: 60 questions, scored 100 to 1000, with 720 as the passing bar.

Frequently asked questions

Does passing the CCAR-F exam require hands-on MCP server experience?
No hands-on lab is required. The CCAR-F is a proctored multiple-choice and multiple-response exam. Every item is scenario-based, testing whether you can identify the correct design decision given a described situation. You do not need to write or deploy an MCP server during the exam, but you do need to understand MCP configuration, tool description quality, and error handling patterns well enough to diagnose problems from a scenario description.
Can a Claude Code Skill reference MCP tools directly in its instructions?
Yes. A Skill body is Markdown prose that Claude reads as procedural guidance. You can reference MCP tool names, resource paths, and prompt invocation syntax within a Skill. Claude will follow those instructions and call the named MCP tools when executing the procedure, provided those tools are available in the current session's MCP configuration.
What is the MCP isError flag and why does the CCAR-F exam test it?
The isError flag in an MCP tool response signals that the tool executed but encountered an error during execution, as distinct from a successful response that happens to be empty. The exam tests this because the correct downstream behaviour differs: an isError response should trigger error handling logic, while a valid empty result should be treated as a legitimate outcome. Confusing the two leads to silent failures in multi-agent pipelines.
How many questions on the CCAR-F exam cover MCP and tool design?
Domain 2 (Tool Design & MCP Integration) carries 18% of the exam weight across 60 items, which is roughly 10 to 11 questions. Domain 3 (Claude Code Configuration & Workflows) carries 20% and overlaps with MCP scoping and configuration. Together, these two domains account for approximately 38% of the exam, making MCP-related knowledge the single largest combined topic area.
What is the difference between an MCP resource and an MCP tool?
An MCP tool is a callable function: Claude invokes it with parameters and receives a result. An MCP resource is readable content that Claude can fetch, similar to a file or a database view. Tools are used for actions with side effects (creating, updating, deleting); resources are used for read-only data access. The exam tests whether you can identify which primitive is appropriate for a given integration requirement.
Is the CCAR-F credential valid indefinitely once earned?
No. The Claude Certified Architect, Foundations (CCAR-F) credential is valid for 12 months from the date it is awarded. After that period, you would need to recertify to maintain the credential. Anthropic has not published details about a recertification pathway beyond the initial exam.

People also ask

What is the Model Context Protocol used for in Claude?
The Model Context Protocol (MCP) is a standard that lets Claude connect to external tools, data sources, and services. MCP servers expose tools (callable functions), resources (readable content), and prompts (instruction templates). Claude uses these to take actions on external systems, such as querying databases, calling APIs, or reading live data, that it cannot access natively.
How do I invoke an MCP prompt in Claude Code?
MCP prompts appear in Claude Code's `/` command menu. The syntax is `/mcp__<servername>__<promptname>`. For example, a server named `github` with a prompt called `summarise_pr` is invoked as `/mcp__github__summarise_pr`. MCP prompts are server-defined instruction templates, distinct from Skills, which are client-side Markdown procedure documents loaded into context.
What is the difference between a Claude Code Skill and an MCP server?
A Skill is a Markdown procedure document that shapes how Claude behaves on a class of task. An MCP server is an integration layer that gives Claude the capability to call external tools and read external data. Skills govern behaviour; MCP servers enable actions. Many workflows need both: the Skill defines the procedure, and the MCP server provides the tools the procedure calls.
Does the Anthropic Claude certification exam test MCP configuration?
Yes. The CCAR-F Architect exam's Domain 2 (Tool Design & MCP Integration, 18%) and Domain 3 (Claude Code Configuration & Workflows, 20%) both cover MCP. Tested topics include tool description quality, the isError flag, tool distribution strategy, environment variable expansion in MCP config, and the three-level scoping hierarchy that governs which MCP servers are available in a session.
Can Claude Code subagents use MCP tools?
Yes. Each subagent operates in its own context window and can be given a restricted set of MCP tools appropriate to its specialised role. A coordinator spawns subagents, assigns each a narrow tool set and an optional Skill, then synthesises their results. This pattern prevents context contamination and reduces the risk of a subagent calling a tool outside its intended scope.

About the author

Solomon Udoh

AI Architect & Certification Lead

Solomon Udoh is an AI Architect who designs and ships production agent systems on the Claude API and Claude Code. He built AI Skill Certs' adaptive engine and authored its 174-concept knowledge graph, mapping every Claude Certified Architect - Foundations objective to hands-on, exam-aligned practice.

  • Designs production multi-agent systems on the Claude API and Agent SDK
  • Author of the AI Skill Certs knowledge graph (174 mapped exam concepts)
  • Builds with MCP, Claude Code, structured outputs, and agentic loops daily
  • Reviews every concept page against the official Anthropic exam guide

You might also like

Ready to put it into practice?

Study every exam concept with an adaptive tutor.

Start studying