MCP vs. Skill — and Why Your Client Decides What You Can Install
The one-sentence version: MCP is the socket; a Skill is the manual. A socket needs power and something that plugs in. A manual needs a reader willing to follow it. Whether your client has power and can open the manual decides which one you install, and where.
The way people get stuck here is almost always the same. They follow an article, install something, nothing happens, and they conclude the product is broken. Usually the thing was installed in the wrong layer — a manual wedged into a socket, or a socket hunt in a client that can only read manuals.
Separate the two words first
MCP (Model Context Protocol) is a protocol. It defines how an AI calls tools inside your system. Once connected, the model can read data and trigger actions: how many products are in my account, publish this draft, has that video finished rendering. It is a wire, and both ends of the wire are real — a server (for example https://autowhisper.xyz/mcp) and a client (ChatGPT, Claude, Claude Code).
A Skill is not a protocol. It is an instruction file written for the AI — a markdown document that says “for this kind of task, do these steps, the parameters look like this”. It does not connect to anything or call anything. It gets read into the context, and the model follows it.
That difference decides where each one breaks:
| MCP | Skill | |
|---|---|---|
| What it is | A protocol plus a networked endpoint | A file |
| What it needs | A client that speaks MCP and can reach out | A client that can read a file into context |
| How it fails | Won’t connect, 401, empty tool list | The model simply doesn’t know it exists |
| Who installs it | You, via “add connector” in the client | You, by dropping it in the agent’s skills folder |
| What it suits | Actions — “check stock”, “publish this” | Process — “here’s the order to build a UGC video in” |
In one line: MCP gives the model capability; a Skill gives it a procedure.
Three kinds of client, three different realities
“ChatGPT and Claude Code are both AI, so they should be about the same” — they are not close. There is really only one dividing line: can it run a program and write a file on your computer?
1. Console (terminal) clients
Claude Code, Codex CLI, Cursor, and the various CLI agents.
They run shell commands and read and write files on your disk.
- MCP: yes. Besides remote servers, they can run stdio servers that live only on your machine.
- Skills: yes. Installing a skill means putting a file into
~/.claude/skills/or similar. - The cost: you have to open a terminal.
2. Chat web apps
chatgpt.com, claude.ai.
They run in a browser and cannot touch your computer.
- MCP: yes, but only remote servers on the public internet.
- Skills: no. There is no “install” action here.
3. Desktop clients
ChatGPT desktop, Claude desktop.
They look like the web app and are really two halves:
- Remote MCP: generally tied to the account — a connector you added on the web is there on the desktop too.
- Local MCP (stdio): only some clients support it (Claude desktop does, via a config file or an
.mcpbextension). These exist only on that machine. - Skills: generally not, unless the client is itself a terminal-style agent.
⚠️ What any given desktop build can do changes with every release. Go by the option actually present in your own settings screen, not by someone else’s screenshot.
Three questions that settle “can I install this?”
- Does it connect and call, or is it a set of instructions? Connect and call → MCP. Instructions → Skill.
- Can my client run commands and write files? Yes → both, and the Skill is its real strength. No → MCP only, and it has to be a public remote server.
- Which surface did I add it on? Account-level → likely available on web, desktop and mobile afterwards. A local config file → only this machine.
Claude and ChatGPT, concretely
Claude
- Custom connectors are added under Settings → Connectors. Add once and it is available on every surface under the account: web, desktop, mobile, Claude Code.
- Free plans can add custom connectors too, with a cap on how many (whatever your account shows).
- The desktop app can additionally run MCP servers locally — something the web app cannot do.
- Claude Code in the terminal is a separate story: it takes remote MCP, skills and plugins.
ChatGPT
- Adding a custom MCP server means turning on developer mode, and that switch lives in the web settings. So add it in the browser first; the desktop app usually picks it up afterwards.
- Remote servers only. It will not connect to
localhost. - Authentication is essentially OAuth or nothing. There is no field for a static API key or a custom header — if your server only implements a Bearer key, this is where it stops.
- Custom connectors are a paid-plan feature.
⚠️ The button names keep moving (Plugins, Apps, Connectors have all been used). What’s written here is what the screens looked like at one point, not a standard.
Walking through it with AutoWhisper
AutoWhisper ships both, which makes it a useful example.
- MCP server:
https://autowhisper.xyz/mcp, 13 tools — read products, write copy, generate video, check credits, publish, read performance. - Skill / plugin: for terminal agents. Once installed, the agent knows which endpoints to call, in what order, to produce a UGC video.
In Claude Code (both)
claude mcp add --transport http autowhisper https://autowhisper.xyz/mcp
Then /mcp → autowhisper → Authenticate → approve in the browser.
The plugin installs the MCP server and the skill together:
/plugin marketplace add Qumge/autowhisper-skill
/plugin install autowhisper@autowhisper
In Claude web or desktop
Settings → Connectors → Add custom connector → paste https://autowhisper.xyz/mcp → it detects OAuth → “Log in” → approve.
In ChatGPT
Open ChatGPT in a browser, turn on developer mode, then add the MCP server at the same address and go through OAuth.
The screenshot walkthroughs live in two other pieces: Connect AutoWhisper to ChatGPT and One MCP Server for a Dozen Platforms. This one is about the mechanics and the traps, not the clicks.
How to confirm it actually works
Ask a read-only question: “How many products do I have?”
- A real number comes back → it works.
- An error, or an empty tool list → it never connected. Check the network and the URL.
- No error, but a vague answer or “I can’t access that” → connected but not authorized.
That third case is the most common, and the easiest to mistake for “this product doesn’t work”.
Six traps that explain most failed installs
- A remote server has to be public HTTPS. Chat web apps cannot reach
localhost. A service running on your laptop has to be exposed to the internet with a real certificate first. - Chat web apps want OAuth, not a static key. Plenty of self-hosted MCP servers implement only “Bearer
". That works fine in Claude Code and has nowhere to go in the ChatGPT web app. - Developer mode and custom-connector switches live in web settings. Not finding the option in a desktop client does not mean your account is blocked — add it in the browser.
- Connectors belong to the account, not the device. Add on the web and the desktop may already have it; the reverse is not guaranteed.
- A Skill needs a filesystem to land in. If you cannot find “install skill” in a chat web app, you are not doing it wrong — that layer does not exist there.
- “Disconnect” is blunter than you expect. On AutoWhisper specifically, clicking Disconnect clears the account’s main API token, so every connector, plugin and CLI loses access at once — not just the one you were looking at. Disconnecting a single connector is not possible today.
One more, not a trap but worth more than the other six: never paste a token into a chat. It gets stored in the conversation history, and conversation history gets logged, synced and searched.
If you’re still not sure, go in this order
- Check whether your client can run commands. If it can, install the plugin (MCP and skill together). If it can’t, add the MCP connector only.
- Ask a read-only question and confirm you get real data back.
- If you don’t, check authorization before you check the network.
Almost every “it won’t install” ends at the first half of step 3.