______________________________________________________________________
链接:“\[\[Ideaverse/AI/Hook/Hook|Hook\]\]”
胡克马克mcp
MCP服务器,允许Claude Code(和其他MCP客户端)完全访问 挂钩标记 --macOS应用程序,可在文件、URL、电子邮件、笔记和其他任何具有地址的内容之间创建双向链接。
将PDF链接到电子邮件。将笔记连接到网页。查找与项目相关的所有内容。通过自然语言。
运作原理
Claude Code ──MCP──▶ hookmark-mcp ──shell──▶ hook CLI ──▶ Hookmark.app
(this server) (v2.1.3) (macOS)服务器包装Hookmark的 hook CLI作为七个MCP工具。克劳德像其他工具一样称呼它们——你只是正常地说话:
- *“将我的TODO链接到桌面上的PDF”*
- *“与此文件有关的是什么?”*
- *“在hookmark中搜索有关发票的所有信息”*
- *“将Mail中打开的任何内容与此项目挂钩”*
您永远不需要记住工具名称或参数。
快速开始
先决条件:
- macOS与 挂钩标记 安装
- 胡克马克氏
hookCLI(gem install hookmark或用Hookmark安装) - Node.js 18+或Bun
使用Claude代码安装:
告诉克劳德:
*“从github.com/mnott/Hoke安装hookmark MCP服务器”*
Claude将克隆该仓库,构建它,并将其添加到您的MCP配置中。
手动安装:
添加到您的Claude Code MCP配置中(~/.claude.json):
{
"mcpServers": {
"hookmark": {
"command": "npx",
"args": ["-y", "hookmark-mcp"]
}
}
}或者与Bun:
{
"mcpServers": {
"hookmark": {
"command": "bunx",
"args": ["hookmark-mcp"]
}
}
}重新启动克劳德代码。工具准备好了。
来源(开发):
git clone https://github.com/mnott/Hook.git
cd Hook
bun install
bun run build然后将MCP配置指向本地版本:
{
"mcpServers": {
"hookmark": {
"command": "node",
"args": ["/path/to/Hook/dist/index.js"]
}
}
}工具一览
| 工具 | 功能 | 示例 |
|---|---|---|
hookmark_link | 得到一个 hook:// 任何文件的URL或URL | *“为我获取此文件的挂钩URL”* |
hookmark_connect | 双向链接两个项目 | *“将此笔记链接到该PDF”* |
hookmark_list | 显示与项目链接的所有内容 | *“这个文件链接了什么?”* |
hookmark_search | 按关键字搜索所有书签 | *“查找有关'ProjectX'的所有书签”* |
hookmark_remove | 取消两个项目的链接 | *“删除这两个文件之间的链接”* |
hookmark_clone | 将所有链接从一个项目复制到另一个项目 | *“此文件替换了那个文件——复制其链接”* |
hookmark_frontmost | 从应用程序中打开的任何内容中获取挂钩URL | *“给我一个邮件中打开的钩子”* |
用户指南
你永远不需要记住工具名称或参数——只需用简单的英语描述你想要什么。以下是你可以做的事情,按照你想要实现的目标进行组织。
连接事物
Hookmark的核心是双向链接。当你连接两个项目时,每个项目都知道另一个项目。
*“将我的TODO.md链接到桌面上的项目需求PDF”*
*“将此源文件连接到GitHub问题https://github.com/org/repo/issues/42"*
*“将会议笔记钩到演示幻灯片上”*
*“将src/中的每个.ts文件链接到架构文档”*
您可以将文件链接到文件、文件链接到URL、URL链接到URL——任何有地址的东西。
查找连接
一旦事物被链接起来,你就可以从任何起点探索连接网络。
*“这个文件上挂着什么?”*
*“显示与项目计划相关的所有内容”*
*“以详细格式列出src/index.ts的所有钩子”*
*“链接到哪些文件https://github.com/mnott/Hook?"*
*“显示我所有的Hookmark书签”*
省略该项以列出所有内容。询问不同的输出格式——路径、标记链接、挂钩://URL,或带有标题和地址的详细信息。
搜索
按关键字搜索所有Hookmark书签——它搜索名称和URL。
*“在hookmark中搜索‘发票’”*
*“查找与季度报告相关的所有书签”*
*“在hookmark中搜索任何提到‘API设计’的内容”*
*“只搜索“会议”的书签名称,不搜索URL”*
*在hookmark中搜索“预算”,但仅显示文件,不显示电子邮件*
使用应用程序
Hookmark可以进入任何macOS应用程序的最前面的窗口,并获取对任何活动内容的引用——打开的文档、电子邮件、笔记、任务或网页。
*“给我一个邮件中打开的钩子”*
*“将当前的黑曜石音符与此项目挂钩”*
*“将Finder中打开的任何内容链接到我的TODO”*
*“从Safari中获取挂钩URL并将其连接到设计文档”*
支持的应用程序包括Finder、Mail、Safari、Obsidian、Bear、DEVONthink、Xcode以及Hookmark支持的任何应用程序(大多数基于文档的macOS应用程序)。
移动和重新组织文件
移动或重命名文件时,其挂钩不会自动跟随。将它们克隆到新位置。
*“我将report.md移动到存档中--将其挂钩克隆到新路径”*
*“将所有链接从旧配置复制到新配置文件”*
*“这个文件替换了另一个文件——转移它的钩子”*
原版保留了链接。目标获取所有相同连接的副本。
清理
删除不再需要的链接。
*“从旧项目计划中取消预算电子表格的链接”*
*“删除这两个文件之间的钩子”*
*“断开会议笔记与错误项目的连接”*
真实世界的工作流程
研究和参考资料管理
*“将此PDF文件链接到我正在写的关于它的笔记”* *“哪些来源与我的文献综述有关?”* *“将此Stack Overflow答案与错误修复提交挂钩”*
项目组织
*“将此项目中的每个文件连接到项目摘要”* *“什么与项目要求相关?显示完整列表。”* *“将Jira票证URL链接到实现文件”*
电子邮件和通信
*“将Mail中打开的任何内容链接到此合同PDF”* *“在hookmark中搜索关于截止日期的电子邮件”* *“将客户的电子邮件链接到提案文件”*
规范和文件
*“将API规范链接到src/nenenebb API/routes.ts中的实现”* *“此模块连接了哪些文档?”* *“将测试文件挂钩到它测试的源文件”*
知识管理
*“将此黑曜石笔记连接到原始文章URL”* *“哪些笔记与此主题相关?”* *“将DEVONthink文档链接到我的项目TODO”*
组合MCP服务器
当与其他MCP服务器结合使用时,Hookmark变得特别强大。这是一个跨设备连接电子邮件、文档管理和任务跟踪的工作流程。
电子邮件→ 发展思维→ 挂钩标记→ 简洁日程
您可以在DEVONthink中存档重要电子邮件。DEVONthink项目具有稳定的URL(x-devonthink-item://...)这也适用于iOS/iPadOS上的DEVONthink To Go。通过创建指向DEVONthink文档的Hookmark链接并将其添加到Todoist任务中,您可以在任何设备上直接从任务列表中获得可点击的引用到电子邮件中。
*“在DEVONthink中搜索律师关于合同的电子邮件”* *“获取该DEVONthink文档的挂钩URL”* *“在描述中使用该链接创建Todoist任务“审阅律师合同””*
或者在一个镜头中:
*“在DEVONthink中查找Müller关于发票的电子邮件,获取一个钩标链接,并创建一个Todoist任务,以便在周五之前跟进”*
这之所以有效,是因为:
- DEVONthink MCP 查找存档的电子邮件
- 钩标MCP 创造稳定
hook://解析为DEVONthink项的URL - Todoist MCP 使用描述中的链接创建任务
- 在iPhone上,点击Todoist中的链接打开DEVONthink To Go并直接跳转到电子邮件
同样的模式适用于任何组合——将黑曜石笔记链接到Todoist任务,将GitHub问题连接到DEVONthink研究,将日历事件挂钩到项目文件。
MCP工具参考
hookmark_link
去马厩 hook:// 文件或web URL的URL。
| 参数 | 必填 | 说明 |
|---|---|---|
item | yes | 绝对文件路径或URL |
hookmark_connect
在两个项目之间创建双向链接。
| 参数 | 必填 | 说明 |
|---|---|---|
item_a | yes | 文件路径、URL或 hook:// URL |
item_b | yes | 文件路径、URL或 hook:// URL |
hookmark_list
列出与给定项目挂钩的所有项目。省略 item 列出所有书签。
| 参数 | 必填 | 默认 | 说明 |
|---|---|---|---|
item | 否 | -- | 文件路径、URL或 hook:// URL |
format | 没有 | paths | paths, hooks, markdown,或 verbose |
files_only | 没有 | false | 排除非文件项目(电子邮件等) |
hookmark_search
按关键字搜索书签。
| 参数 | 必填 | 默认 | 说明 |
|---|---|---|---|
query | 是 | -- | 搜索词 |
format | 没有 | markdown | paths, hooks, markdown,或 verbose |
names_only | 没有 | false | 仅搜索书签名称,不搜索URL |
files_only | 没有 | false | 排除非文件项 |
hookmark_remove
删除两个项目之间的双向链接。
| 参数 | 必填 | 说明 |
|---|---|---|
item_a | yes | 文件路径、URL或 hook:// URL |
item_b | yes | 文件路径、URL或 hook:// URL |
hookmark_clone
将所有钩子从源复制到目标。源未被修改。
| 参数 | 必填 | 说明 |
|---|---|---|
source | yes | 要从中复制钩子的项目 |
destination | yes | 要复制挂钩的项目 |
hookmark_front
拿到 hook:// macOS应用程序中活动文档的URL。
| 参数 | 必填 | 默认 | 说明 |
|---|---|---|---|
app | 是 | -- | 不带应用程序名称 .app (例如。 Finder, Mail, Obsidian) |
markdown | 没有 | false | 以Markdown链接返回 |
配置
| 变量 | 默认值 | 描述 |
|---|---|---|
HOOK_CLI | /opt/homebrew/lib/ruby/gems/4.0.0/bin/hook | 通往 hook CLI二进制文件 |
如果您的 hook 二进制文件安装在其他地方:
{
"mcpServers": {
"hookmark": {
"command": "npx",
"args": ["-y", "hookmark-mcp"],
"env": {
"HOOK_CLI": "/usr/local/bin/hook"
}
}
}
}项目参考
挂钩标记项可以通过三种方式引用:
- 绝对文件路径:
/Users/you/Documents/report.pdf - 网址:
https://example.com/page - 挂钩URL:
hook://file/5g29VkHoQ?p=...&n=index%2Ets
Hook URL是稳定的标识符——它们在文件重命名和移动时仍然有效(只要Hookmark在跟踪文件)。
故障排除
“钩子:找不到命令” 这 hook CLI不在预期路径中。用以下方式安装 gem install hookmark 或设置 HOOK_CLI 指向你的二进制文件。找到它 which hook 或 gem which hookmark.
“Hookmark未运行” 这 hook CLI要求Hookmark.app正在运行。从应用程序中打开它。
工具调用返回空结果 Hookmark只知道它标记的项目。首先在Hookmark中打开文件(或使用 hookmark_link 创建书签),然后可以创建挂钩。
“权限被拒绝”错误 Claude Code需要访问权限才能通过AppleScript与Hookmark交互。检查系统设置>隐私和安全>辅助功能。
需求
- macOS(Hookmark仅适用于macOS)
- 挂钩标记 持有有效许可证
hookCLI v2.0+(gem install hookmark)- Node.js 18+或Bun
许可证
麻省理工学院
作者
马蒂亚斯·诺特--
______________________________________________________________________
*链接:* \[\[Ideaverse/AI/钩子/钩子|钩子\]\]
