One is text, the other is a process
A skill is a directory with a SKILL.md file at its root. Nothing runs, nothing listens on a port, and nothing has to be installed beyond copying the folder into place. An MCP server is software you start and keep running, and the agent talks to it over the Model Context Protocol to call tools, read resources and use prompts it did not previously have.
They fail in different ways
When a skill is wrong you get worse output: the agent still answers, it just follows poor instructions. When an MCP server is wrong you get an error: the connection drops, the tool call fails and the agent has no way to reach the thing it was pointed at. That difference matters when you are deciding which one a problem belongs to.
Most real setups use both
The common pattern is an MCP server that supplies access to a system, and a skill that explains how your team wants that system used. The server exposes the API; the skill records the conventions, the naming rules and the checks to run before a write. Neither replaces the other, and putting the conventions inside the server is how they get lost.