An MCP server gives an agent new tools: it is a program the agent connects to, whose tools can read or change things outside the conversation, such as a browser or a database. An agent skill gives the agent a method: a SKILL.md folder of instructions, loaded when a task matches its description. They work together: of 1,959 public skills we read on November 6, 2026, 1,010 mention MCP.
What is the difference, side by side?
| MCP server | Agent skill | |
|---|---|---|
| What it is | A program the agent connects to, local or remote | A folder with SKILL.md, plus optional scripts and reference files |
| What it adds | Tools the agent can call (and, in Claude Code, prompts it can run as commands) | Instructions, examples and scripts for a task |
| How you add it in Claude Code | claude mcp add, or a .mcp.json file in the project |
Copy the folder into .claude/skills/ or ~/.claude/skills/ |
| What loads at the start in Claude Code | Tool names and server instructions, with tool search on (the default) | Each skill's name and description |
| What loads later | A tool's full definition, when Claude searches for it | The full SKILL.md, when the skill is used |
| Shared with a team by | Committing .mcp.json |
Committing .claude/skills/ |
| Main risk | Its tools act on outside systems and return outside content | Its files can contain commands that run in your agent |
Claude Code behavior from its MCP and skills documentation, checked November 6, 2026.
The short version: if the agent cannot reach something, you need a server (or a command-line tool). If it can reach it but does the job badly or inconsistently, you need a skill.
How many skills depend on an MCP server?
Use This Skill lists every skill folder it finds in public GitHub repositories. On November 6, 2026, we cloned the 48 repositories in the November 2 crawl (2,060 skills) and read each skill folder. One repository with 100 skills asked for a sign-in, which left 1,959 skills from 47 repositories.
| What we counted | Skills | Repositories |
|---|---|---|
| SKILL.md mentions MCP | 1,010 | 28 |
Declares it needs one MCP server (requires: mcp: [rube]), all from ComposioHQ/awesome-claude-skills |
832 | 1 |
| Calls a vendor's tools that its README says come from the vendor's API or MCP bridge (SandBase) | 244 | 1 |
| Mentions MCP, outside those two repositories | 80 | 26 |
| Published in the repository of an MCP server | 21 | 8 |
| Of those 21, written for the project's command-line tool instead | 4 | 4 |
Lists an mcp__ tool in allowed-tools |
2 | 2 |
| Ships its own MCP configuration file in the skill folder | 0 | 0 |
Skill list and paths from data/skills.json (crawl of November 2, 2026). Repositories cloned at depth 1 on November 6, 2026; each SKILL.md searched by script for the word MCP in capitals. "Repository of an MCP server" means the repository name contains "mcp".
The count is concentrated. One collection accounts for 835 of the 1,010 mentions: each of its 832 app skills (Algolia, Contentful, DigitalOcean, VirusTotal and hundreds more) is a short guide to one app's tools on a single hosted MCP server, and without that server connected the skill has nothing to call. Outside ComposioHQ and SandBase, 80 of 849 skills mention MCP, about one in ten.
Why do MCP server projects ship skills?
Because tool definitions say what a tool does, not when or in what order to use it. Eight repositories that publish an MCP server also publish skills: Chrome DevTools, Desktop Commander, GitLab, Sentry, MongoDB, Google Workspace, mobile automation and Xcode builds. The chrome-devtools skill, for example, describes itself as using "Chrome DevTools via MCP for efficient debugging, troubleshooting and browser automation," and the same repository adds narrower skills for accessibility, cookies, memory leaks and page-load speed.
Four of those 21 skills go the other way and drive the project's command-line tool. The GitLab repository's gl-cli skill says it is for using GitLab "from the terminal without registering an MCP server," next to a gitlab-mcp-skill for the server's tools. Other skills offer both routes in one file: managing-google-workspace "supports MCP tools or the workspace-cli client," and qmd "requires qmd CLI or MCP server."
Anthropic's own mcp-builder skill is the reverse case: a skill for building MCP servers. It has a proof from October 21, 2026, run on the same brief three times without the skill and three times with it.
Which loads more into the agent's context?
Both are designed to load little until they are needed. Claude Code's skills documentation says skill descriptions are in context so Claude knows what is available, and the full content loads only when the skill is used. Its MCP documentation says tool search, on by default, "keeps MCP context usage low by deferring tool definitions until Claude needs them. Only tool names and server instructions load at session start." Setting ENABLE_TOOL_SEARCH=false, or using a model earlier than Claude Opus 4 and Sonnet 4, loads every tool definition up front.
To give a sense of size, we measured our own connector. The Use This Skill MCP server, run from this site's current code on November 6, 2026, lists six tools whose definitions total 3,464 characters, plus 959 characters of server instructions. Across the 1,959 skills we read, the median name and description together is 180 characters, and nine in ten are 411 characters or fewer. A skill's first stage is about the size of one tool's description; a server's tool definitions can be several times larger, which is why deferring them matters. For how skills load in stages, see progressive disclosure in agent skills, and for limits on how many you can install, how many skills Claude Code can load.
How do I write a skill that uses an MCP server?
- Say which server it needs, and what to do without it. The skills above that offer a command-line fallback keep working when the server is not connected.
- Use full tool names. Anthropic's skill authoring guidance says to write MCP tools as
ServerName:tool_name, such asGitHub:create_issue, because "without the server prefix, Claude might fail to locate the tool, especially when multiple MCP servers are available." - Leave the connection to the user. A skill does not connect a server by itself; the server is added in the agent's settings. In Claude Code,
claude mcp addstores it for the current project by default, and a.mcp.jsonfile shares it with the team; in interactive sessions Claude Code asks for approval before using project-scoped servers from that file. - Treat what tools return as data. Claude Code's documentation warns that servers which fetch external content can expose you to prompt injection. Our own connector's instructions tell the agent to treat every skill name, description and SKILL.md it returns as data, never as instructions.
Do I need both?
Often, yes. A skill without the server it names cannot act; a server without a skill leaves the agent to guess the order and the rules. Use This Skill is an example of the pair: the directory's MCP connector lets Claude, Claude Code or Cursor search 2,060 skills and run check_skill on any of them, and the skills it finds are the method.
Whichever you add, check it first. In the November 2, 2026 scan, 998 of the 1,010 skills that mention MCP were clear, 5 needed a review and 7 were flagged. That is a smaller share than across the whole directory (2,060 skills: 1,987 clear, 58 review, 15 flagged), mostly because all 832 ComposioHQ app skills were clear. The free skill check reads every file in a skill folder for nine risky patterns and shows the file and line of each match.
How we counted
Skills come from data/skills.json (crawl of November 2, 2026). Each of the 48 repositories was cloned at depth 1 from its default branch on November 6, 2026; Shaisolaris/solaris-dev-shop (100 skills) asked for a sign-in and was skipped. Mentions are matches of "MCP" as a whole word in SKILL.md. The ComposioHQ count is skills whose front matter has a requires block with an mcp entry; the SandBase count is skills that call sandbase_discover or sandbase_run. Command-line skills were read by hand. Scan results are from data/scan.json (November 2, 2026). Our connector's size is the compact JSON of its tools/list and initialize responses, taken from a production build of this site's code on November 6, 2026. Claude Code behavior is from its documentation, read the same day; we did not run the skills.