What is the difference between mods, hooks, skills and MCP servers?
They extend Claude Code from different places. A mod is code that runs inside Claude Code and can draw interface, rewrite prompts and tool calls, and add instant slash commands. A settings hook is a shell command Claude Code runs on an event, outside the process. A skill is a SKILL.md of instructions Claude reads when a task matches. An MCP server is a separate program that gives Claude tools for an outside system such as GitHub or a database.
Comparison table
| Mod | Settings hook | Skill | MCP server | |
|---|---|---|---|---|
| Runs | Inside Claude Code | As a shell command | As instructions to Claude | As a separate process or remote service |
| Can draw interface | Yes | No | No | No |
| Can block or rewrite a tool call | Yes | Yes (block) | No | No |
| Adds tools for outside systems | Can call MCP servers | No | Through scripts | Yes |
| Install | /plugin install | settings.json | npx skills add | claude mcp add |
| Main risk | Unsandboxed code with your permissions | Arbitrary shell | Instructions that run commands | Data sent to a service, credentials |
Which one should I use?
Use a skill to teach Claude a workflow, an MCP server to connect it to another system, a settings hook for a simple check on an event, and a mod when you need interface, state between events or an instant command. Browse mods, Claude skills and MCP servers, each with a security check.