关于 keepsake
keepsake-mcp 将 AI 助手连接到 Keepsake,供创作者和个体创业者整理想法、任务、联系人和笔记。其工具还可管理每日意图、关联记录和发布流程。
主要功能
- 01管理联系人与公司
- 02记录互动与任务
- 03创建并关联笔记
- 04跟踪每日意图和时间块
- 05用标签整理记录
- 06跨数据类型搜索
适用场景
- 01记录想法并添加标签以便后续查找
- 02查找与联系人的近期互动
- 03查看逾期任务并安排跟进
- 04推动笔记完成发布流程
MCP 相关
MCP 服务可通过远程 Streamable HTTP 或本地 stdio 使用 API 密钥连接,提供管理 Keepsake 记录的工具和 review_note 提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
88收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sort | string | 否 | 排序字段:last_name、first_name、created_at、updated_at |
| limit | integer | 否 | 结果上限(默认 20,最多 100) |
| order | enum | 否 | 排序顺序asc | desc |
| fields | array | 否 | 仅返回这些字段(始终包含 id)。列:first_name、last_name、email、phone、job_title、address、birth_day、birth_month、birth_year、notes、created_at、updated_at。计算字段:companies、last_interaction_date。不传入则返回全部字段。 |
| offset | integer | 否 | 分页偏移量 |
| company | string | 否 | 仅返回关联到此公司的联系人:公司 UUID 或公司名称的一部分(忽略大小写和重音符号) |
| has_company | boolean | 否 | true:仅返回至少关联一家公司的联系人;false:仅返回未关联任何公司的联系人 |
| updated_since | string | 否 | 仅返回在此 ISO 日期或时间戳之后更新的联系人 |
| include_last_interaction | boolean | 否 | 为每个联系人包含 last_interaction_date(默认:false) |
详细介绍
keepsake-mcp
用于 Keepsake(keepsake.place)的 MCP 服务。Keepsake 是一款帮助创作者和独立创业者清空头脑的应用:将想法、任务和重要的人汇集在一处并相互关联,一路助力内容发布。
将你的 AI 助手(Claude、Cursor 或任何兼容 MCP 的客户端)连接到 Keepsake 数据:联系人、互动记录、任务、笔记、每日意图、公司和标签。
为什么使用
你的 AI 助手会在对话之间遗忘;Keepsake 会记住。你可以让它:
- “把这个想法记下来,作为我下一篇文章的素材,归入 #newsletter#”
- “我最近一次在 Acme Corp 和谁交谈?”
- “记一笔:我在会议上碰到了 Sarah”
- “有哪些任务已逾期?”
- “显示所有与 #house-project 标签相关的内容”
- “为我下周和 John 的会议创建一个后续任务”
快速开始
1. 获取 API 密钥
在 keepsake.place 注册,然后前往 Account > API Keys 生成一个密钥。
2. 选择连接方式
选项 A:远程(HTTP)——推荐
无需安装。适用于 Claude iOS、Claude 网页版、Claude Desktop Connectors,以及任何支持 Streamable HTTP 的 MCP 客户端。
端点: https://app.keepsake.place/api/mcp
身份验证: 在 Authorization 标头中将 API 密钥作为 Bearer 令牌传递。
Claude Desktop(Connectors):
在 Claude Desktop 设置中添加远程 MCP 服务:
- URL:
https://app.keepsake.place/api/mcp - 身份验证:使用你的
ksk_API 密钥作为 Bearer 令牌
任何 MCP 客户端(Streamable HTTP):
{
"mcpServers": {
"keepsake": {
"type": "streamable-http",
"url": "https://app.keepsake.place/api/mcp",
"headers": {
"Authorization": "Bearer ksk_YOUR_API_KEY"
}
}
}
}
选项 B:本地(stdio)
通过 npx 在本地运行。适用于 Claude Code、Cursor 和本地开发。
Claude Desktop:
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"keepsake": {
"command": "npx",
"args": ["-y", "keepsake-mcp"],
"env": {
"KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
}
}
}
}
Claude Code:
claude mcp add keepsake -- npx -y keepsake-mcp
然后在环境中设置 KEEPSAKE_API_KEY。
Cursor:
添加到项目中的 .cursor/mcp.json:
{
"mcpServers": {
"keepsake": {
"command": "npx",
"args": ["-y", "keepsake-mcp"],
"env": {
"KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY"
}
}
}
}
服务说明
连接时,服务会发送 MCP instructions——注入客户端的系统
提示词中。这是唯一一个能在 Agent 开始查找功能之前触达它的渠道,因此内容应简短,并指向其他信息:调用 get_agent_instructions 获取完整规范;编辑性意见应写在笔记的边栏中(create_note_comment),而不是发在聊天里,因为聊天内容会消失。
提示词(1)
| 提示词 | 参数 | 描述 |
|---|---|---|
review_note | note_id | 以笔记编辑的身份行事:阅读笔记,评判形式与内容,在边栏中留下有定位的批注,绝不改写正文 |
可用工具(88)
联系人
| 工具 | 描述 |
|---|---|
list_contacts | 分页列出联系人,并支持排序、字段选择和筛选(关联公司、是否有公司、更新于指定时间之后) |
get_contact | 获取联系人及其近期互动、标签和统计信息 |
create_contact | 创建新联系人(company 会将其关联到一条公司记录;若记录不存在则创建) |
update_contact | 更新联系人字段 |
delete_contact | 永久删除联系人 |
search_contacts | 按姓名、邮箱、笔记、电话和关联公司名称进行不区分重音符号的搜索 |
get_contact_timeline | 获取联系人的所有条目的统一时间顺序动态流 |
公司
| 工具 | 描述 |
|---|---|
list_companies | 列出所有公司 |
get_company | 获取公司及其关联联系人和标签 |
create_company | 创建新公司 |
update_company | 更新公司字段 |
delete_company | 软删除公司(或永久删除) |
search_companies | 不区分重音符号的公司搜索 |
link_contact_company | 将联系人关联到公司(可选角色) |
unlink_contact_company | 移除联系人与公司的关联 |
merge_companies | 将重复的公司合并到另一家公司(联系人、条目、标签、详情、笔记) |
条目(交互)
| 工具 | 描述 |
|---|---|
list_entries | 列出交互(通话、电子邮件、会议等)——按类型、联系人、公司、页面(tag_id)和日期筛选 |
create_entry | 记录新的交互——支持 #tag# 和 [[tag]] 语法 |
update_entry | 更新交互 |
delete_entry | 删除交互 |
任务
| 工具 | 描述 |
|---|---|
list_tasks | 列出任务——按状态、日期、公司和页面(tag_id)筛选 |
get_task | 获取任务及其标签、联系人、公司和关联笔记 |
create_task | 创建任务——支持 #tag# 和 [[tag]] 语法 |
update_task | 更新任务字段 |
delete_task | 删除任务 |
complete_task | 标记为已完成(循环任务会自动创建下一次任务) |
uncomplete_task | 重新标记为待处理 |
snooze_task | 将任务改期到新日期 |
get_tasks_today | 今天的任务:已逾期、今天到期和尽快处理的任务 |
get_tasks_overdue | 仅列出逾期任务 |
QuickNotes
| 工具 | 描述 |
|---|---|
list_notes | 列出笔记——按置顶/归档状态、日期、公司、页面(tag_id)和发布流程阶段(status)筛选 |
list_note_statuses | 用户发布流程的各个阶段(默认依次为:想法 → 进行中 → 待审核 → 已就绪 → 已发布;用户可以重命名、添加或移除阶段) |
get_note | 根据 ID 获取一条笔记及其标签、联系人、任务和关联笔记 |
create_note | 创建笔记——支持 #tag# 和 [[tag]] 语法;设置 status 可直接将笔记纳入发布流程 |
update_note | 更新笔记内容、链接、日期或发布流程阶段(status) |
delete_note | 软删除(或永久删除) |
pin_note | 将笔记置顶为便签(简短参考信息,随时可查) |
archive_note | 归档笔记 |
restore_note | 恢复已删除/归档的笔记 |
笔记评论(旁注)
与笔记一同保存、但不写入笔记正文的内容——例如一个想法、一条参考资料,或一段粘贴的摘录,以便稍后改写某段文字。可以通过引用某段文字将其锚定到该段,也可以锚定到整篇笔记。旁注永远不会发布,并且按设计只供临时使用:值得保留的内容应转为笔记或关联任务。
| 工具 | 描述 |
|---|---|
list_note_comments | 列出附在笔记上的旁注 |
create_note_comment | 将旁注附在某段文字(传入 quote)或整篇笔记上 |
update_note_comment | 编辑旁注内容 |
delete_note_comment | 永久删除旁注 |
日期(每日意图或问题)
| 工具 | 描述 |
|---|---|
list_days | 按日期范围列出日期及其每日意图或问题(当前生效的内容,会一直沿用到更改为止) |
get_day | 获取某一天、当日生效的意图(intention,会沿用到更改为止)以及当天写下的内容(note) |
update_day | 设置某一天的意图或问题——用一句简短的话,而非日记(插入或更新);该内容会在后续日期持续生效,直到更改为止 |
日期块(日期视图时间线)
| 工具 | 描述 |
|---|---|
list_day_blocks | 按时间线顺序列出某一天的时间块(先创建当天的循环时间块) |
create_day_block | 创建时间块,自动放置在最早的可用位置(或通过 anchor_time 固定) |
update_day_block | 更新时间块(标题、时长、锚点、备注、完成状态) |
delete_day_block | 删除时间块并清理其时间线引用(对于循环时间块:仅从当天移除) |
重复区块(理想的一天 / 理想的一周、习惯)
| 工具 | 描述 |
|---|---|
list_recurring_blocks | 列出在选定星期几重复出现的区块(用户的理想一周和习惯) |
create_recurring_block | 将区块设为重复 — 可以基于现有区块,也可以从头创建 |
update_recurring_block | 从指定日期起更改重复区块(标题、时长、固定时间、星期几)— 过去的内容不会被改写 |
stop_recurring_block | 从指定日期起停止重复;过去的日期仍保留其区块 |
标签
| 工具 | 描述 |
|---|---|
list_tags | 列出标签(轻量模式 — 不包含排序数组),可选按名称搜索(q) |
get_tag | 按 ID 获取标签的所有属性,包括 tasks_order(区块标记 h:<header_id>) |
create_tag | 创建新标签 |
update_tag | 更新标签(名称、描述、颜色、图标、收藏状态,以及通过 tasks_order 设置任务和区块的顺序) |
delete_tag | 永久删除标签及其所有关联 |
get_tag_items | 获取关联到某个标签的项目 — 可按 types/status 筛选,可使用 summary 模式,并包含任务 sections |
link_tag | 将任意实体关联到标签 |
unlink_tag | 移除标签关联 |
任务标题(区块)
| 工具 | 描述 |
|---|---|
list_task_headers | 列出所有任务标题(区块分隔符) |
get_task_header | 按 ID 获取任务标题 |
create_task_header | 创建任务标题(区块)— 在标签的 tasks_order 中插入 h:<id> 以设置其位置 |
update_task_header | 更新任务标题(名称、描述、折叠状态) |
delete_task_header | 永久删除任务标题 |
联系人和公司关联
| 工具 | 描述 |
|---|---|
link_note_company / unlink_note_company | 将公司关联到笔记 / 取消公司与笔记的关联 |
link_note_contact | 将联系人关联到笔记 |
unlink_note_contact | 移除联系人与笔记的关联 |
link_entry_company / unlink_entry_company | 将公司添加为条目的参与者 / 移除公司 |
link_entry_contact | 将联系人关联到条目 |
unlink_entry_contact | 移除联系人与条目的关联 |
link_task_company / unlink_task_company | 将公司关联到任务 / 取消公司与任务的关联 |
link_task_contact | 将联系人关联到任务 |
unlink_task_contact | 移除联系人与任务的关联 |
link_task_note | 将笔记关联到任务(不会造成破坏,笔记会保留) |
unlink_task_note | 移除笔记与任务的关联 |
link_notes | 将两篇笔记关联起来(双向关联,不会造成破坏) |
unlink_notes | 移除两篇笔记之间的手动关联 |
link_note_date | 将笔记附加到日历中的某一天(该笔记会显示在当天的视图中) |
unlink_note_date | 从日历中的某一天移除笔记(笔记会保留) |
实用工具
| 工具 | 描述 |
|---|---|
search | 跨所有数据类型进行全局搜索 |
get_changelog | 获取自某个时间戳以来修改的项目(用于同步) |
get_agent_instructions | 获取 AI Agent 最佳实践 |
工具注解
所有工具都包含 MCP 安全注解:
- 只读工具(
list_*、get_*、search_*):标记为readOnlyHint: true - 创建工具:标记为
destructiveHint: false - 更新工具:标记为
destructiveHint: false, idempotentHint: true - 删除工具:标记为
destructiveHint: true, idempotentHint: true
活动追踪
通过 API 执行的每项写入操作(创建、更新、删除)都会记录在 Keepsake 中用户可见的活动动态里。每条操作都会显示实体类型、内容预览,以及所用的 API 密钥。
这意味着用户可以看到你执行的所有操作。请保持透明、准确。如果你犯了错误,请告知用户,以便他们在活动动态中核实。
请在每个会话开始时调用 get_agent_instructions,获取完整的最佳实践指南。
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
KEEPSAKE_API_KEY | 是 | 你的 API 密钥(以 ksk_ 开头) |
KEEPSAKE_API_URL | 否 | 自定义 API URL(默认值:https://app.keepsake.place/api/v1) |
速率限制
每个 API 密钥每分钟最多 60 个请求。响应中会包含速率限制标头。
API 文档
完整的 REST API 文档:keepsake.place/api
隐私
Keepsake MCP 服务仅与 Keepsake API(app.keepsake.place)通信,不会向任何第三方服务发送数据。你的数据仅在 MCP 客户端和你的 Keepsake 账户之间流转。
所有 API 调用均使用你的个人 API 密钥进行身份验证,并通过行级安全策略限定在你的账户范围内。无法访问其他用户的数据。
请参阅我们的隐私政策:keepsake.place/privacy。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。