keepsake について
keepsake-mcpは、クリエイターや個人事業主向けのKeepsakeにAIアシスタントを接続し、アイデア、タスク、連絡先、メモを整理します。ツールを通じて、日々の意図や関連レコード、公開ワークフローも管理できます。
主な機能
- 01連絡先と会社の管理
- 02やり取りとタスクの記録
- 03メモの作成と関連付け
- 04日々の意図と時間ブロックの管理
- 05タグによるレコード整理
- 06データ全体の検索
活用シーン
- 01アイデアを記録して後で使うタグを付ける
- 02連絡先との最近のやり取りを確認する
- 03期限超過のタスクを確認し、フォローアップを設定する
- 04メモを公開ワークフローに沿って進める
MCP 対応
MCPサーバーはAPIキーを使い、リモートのStreamable HTTPまたはローカルのstdioで接続します。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:少なくとも1社に関連付けられた連絡先のみ。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 に移動して API キーを生成します。
2. 接続方法を選ぶ
オプション A:リモート(HTTP)— 推奨
インストールは不要です。Claude iOS、Claude Web、Claude Desktop Connectors、および Streamable HTTP に対応するあらゆる MCP クライアントで利用できます。
エンドポイント: https://app.keepsake.place/api/mcp
認証: API キーを Bearer トークンとして Authorization ヘッダーに渡します。
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 を送信します。これはクライアントのシステムプロンプトに挿入されます。エージェントが機能を探し始める前に届く唯一のチャネルなので、内容は簡潔にして、詳細を参照できるようにします。全体の方針は get_agent_instructions を呼び出して確認し、編集上のコメントは、チャットに書く(会話が消えてしまうため)のではなく、メモの余白(create_note_comment)に残してください。
プロンプト(1)
| プロンプト | 引数 | 説明 |
|---|---|---|
review_note | note_id | メモの編集者として振る舞います。内容を読み、形式と中身を評価し、該当箇所に紐づけたコメントを余白に残します。本文を書き換えることはありません。 |
利用可能なツール(88)
連絡先
| ツール | 説明 |
|---|---|
list_contacts | ページネーション、並べ替え、フィールド選択、フィルター(リンク済みの会社、has_company、updated_since)を指定して連絡先を一覧表示します |
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 | 期限超過のタスクのみ |
クイックノート
| ツール | 説明 |
|---|---|
list_notes | メモを一覧表示します — ピン留め/アーカイブ済み、日、会社、ページ(tag_id)、公開ワークフローの段階(status)で絞り込めます |
list_note_statuses | ユーザーの公開ワークフローの段階です(デフォルトは「アイデア → 作業中 → レビュー待ち → 公開準備完了 → 公開済み」。ユーザーは名前を変更したり、追加または削除したりできます) |
get_note | タグ、連絡先、タスク、リンクされたメモを含む、IDで指定した1件のメモを取得します |
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 | その日の意図または問いを設定します — 日記ではなく、短い1行です(アップサート)。変更されるまで翌日以降もそのまま維持されます |
日のブロック(日表示のタイムライン)
| ツール | 説明 |
|---|---|
list_day_blocks | その日の時間ブロックをタイムライン順に一覧表示します(最初に、その日の繰り返しブロックを作成します) |
create_day_block | ブロックを作成します。最初に空いている場所に自動配置されます(または anchor_time で固定できます) |
update_day_block | ブロック(タイトル、所要時間、固定位置、メモ、完了状態)を更新します |
delete_day_block | ブロックを削除し、タイムライン参照を整理します(繰り返しブロックの場合、その日だけから削除します) |
繰り返しブロック(理想の1日/理想の1週間、習慣)
| ツール | 説明 |
|---|---|
list_recurring_blocks | 選択した曜日に繰り返し表示されるブロック(ユーザーの理想の1週間と習慣)を一覧表示します |
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 | 2 つのノートを相互に関連付けます(対称的で、破壊的な操作ではありません) |
unlink_notes | 2 つのノート間の手動の関連付けを解除します |
link_note_date | ノートをカレンダーの日付に関連付けます(その日のビューに表示されます) |
unlink_note_date | カレンダーの日付からノートの関連付けを解除します(ノートは残ります) |
ユーティリティ
| ツール | 説明 |
|---|---|
search | すべてのデータ型を対象に横断検索します |
get_changelog | 指定したタイムスタンプ以降に変更された項目を取得します(同期用) |
get_agent_instructions | AI エージェント向けのベストプラクティス |
ツールのアノテーション
すべてのツールには 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 キーごとに 1 分あたり 60 件のリクエストが可能です。レスポンスにはレート制限ヘッダーが含まれます。
API ドキュメント
REST API の完全なドキュメント:keepsake.place/api
プライバシー
Keepsake MCP サーバーは Keepsake API(app.keepsake.place)とのみ通信します。サードパーティのサービスにデータを送信することはありません。データは MCP クライアントと Keepsake アカウントの間に留まります。
すべての API 呼び出しは個人用 API キーで認証され、Row Level Security によってアカウントの範囲内に制限されます。他のユーザーのデータにはアクセスできません。
プライバシーポリシーについては、keepsake.place/privacyをご覧ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。