Answer in brief
A Tool is a callable action, a Skill is reusable guidance, MCP is a protocol for connecting external capabilities, and a Plugin is a packaged extension that may register one or more of those pieces. Choose the narrowest mechanism that matches the responsibility and security boundary you actually need.
All four terms relate to “extending capabilities,” but they work at different layers.
| Concept | Primary responsibility | Typical form |
|---|---|---|
| Plugin | Mounts services, events, or interfaces into the Cordis runtime | npm package, config line, Bundle |
| Tool | A callable action exposed to the model | File reading, Shell, search |
| Skill | Teaches the model when and how to complete a class of tasks | SKILL.md plus scripts/reference material |
| MCP | A protocol for connecting external tools or services | MCP Server and tool lists |
Plugin Is the Runtime Extension Unit
In DeepSeek Harness, a Plugin can register model Providers, tools, storage, sandboxes, UI nodes, or event handlers. It has real code execution capability, so installing a Plugin is equivalent to adding third-party code to the Harness runtime.
Tool Is an Action the Model Calls via Schema
A Tool is closer to a function interface. The model selects a tool and submits arguments; the Harness executes it and writes the result back to the session. A Plugin can register one or more Tools, but a Plugin is not just a Tool.
Skill Is a Way of Working
A Skill typically provides task instructions, checklists, scripts, and reference material. It influences how the Agent approaches work, but doesn’t necessarily provide new low-level capabilities itself. An image-processing Skill might call the already-existing Shell or image tools.
MCP Is a Connection Protocol
MCP exposes external tool services to clients through a unified protocol. A Plugin can act as an MCP Client, bringing tools provided by a remote MCP Server into the Harness.
Decision Order
When you encounter an extension need, ask in sequence:
- Just missing a way of working? Consider a Skill first.
- Need the model to invoke an action? You need a Tool.
- Is the tool hosted in an external service? You may use MCP.
- Need to change the runtime, UI, storage, or events? You need a Plugin.
When browsing this site’s Plugin Hub, pay close attention to source status, permission labels, and installation instructions.
A Skill Does Not Create Capabilities
A Skill teaches the model to use existing tools; it cannot bypass the sandbox or create a missing capability. DeepSeek Harness exposes compact Skill metadata first and loads the full body only when selected.
For “query a ticket and update it after approval,” workflow and done criteria belong in a Skill, read/write actions are Tools, an external service may expose them through MCP, and runtime registration plus credentials belongs in a Plugin. Each layer still needs its own validation and permissions.