Claude Code Manual
进阶:Hooks、MCP 与插件
这三样能把 Claude Code 和你的其他工具连起来。它们都会执行代码或访问外部服务,安装前先确认来源可信。
Hooks:在固定时机自动执行
Hook(钩子)是在特定时机自动运行的命令,不需要 Claude 决定要不要做。常用时机:
| 事件 | 什么时候触发 |
|---|---|
SessionStart | 会话开始或恢复时 |
UserPromptSubmit | 你发出消息、Claude 处理之前 |
PreToolUse | Claude 调用工具之前,可以拦截 |
PostToolUse | 工具调用成功之后 |
Notification | Claude Code 发出通知时,例如等待你审批 |
Stop | Claude 回答完毕时 |
Hooks 写在 settings.json 的 hooks 里。例子:Claude Code 需要你操作时弹出系统通知,这样你可以去做别的事。
macOS:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}Windows:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
}
]
}
]
}
}如果 settings.json 里已经有其他内容,把 hooks 这一段合并进去。输入 /hooks 可以查看当前生效的 Hooks。
Hook 会以你的身份自动执行命令。别人项目里的 .claude/settings.json 可能带有 Hooks,打开不熟悉的项目时,Claude Code 会先询问是否信任这个文件夹,看清楚再确认。
MCP:连接外部工具
MCP(Model Context Protocol)是一种让 AI 连接外部工具和数据的标准,例如文档库、项目管理系统、数据库。连接后,Claude 就能直接查询或操作这些工具。
添加一个远程 MCP 服务器:
claude mcp add --transport http <名称> <地址>例如:
claude mcp add --transport http notion https://mcp.notion.com/mcp--scope 决定它对哪些项目生效:
| 范围 | 生效位置 | 保存在 |
|---|---|---|
local(默认) | 只在当前项目,只有你 | ~/.claude.json |
project | 当前项目,可以提交到 Git 与团队共享 | 项目根目录的 .mcp.json |
user | 你所有的项目 | ~/.claude.json |
会话中输入 /mcp 查看连接状态,需要登录授权的服务也在这里完成。
MCP 服务器能读取和修改它所连接的数据,只添加你信任的服务。
插件:一次装好一整套
插件把技能、子代理、Hooks、MCP 服务器打包在一起,一次安装就能用上全部功能。插件来自“插件市场”(marketplace)。
在会话中输入:
/plugin在 Discover 标签页浏览和安装插件,在管理页面启用、停用或卸载。
区分官方市场和第三方市场:第三方插件可以包含会自动执行的 Hooks 和 MCP 服务器,安装前确认作者和来源。
出问题时
扩展装多了,某个出错可能拖累整个会话。用下面的命令启动,暂时关闭所有插件、MCP 和 Hooks,方便判断问题出在哪里:
claude --safe-mode