Mcp Server について
Inkdrop MCP Serverは、Inkdrop Local HTTP Server APIをMCPクライアントに接続し、ノート、ノートブック、タグ、添付ファイルを扱うワークフローを支援します。取得や編集に加え、キーワード検索やノート間のバックリンク検索にも対応します。
主な機能
- 01ノートの読み取り、検索、絞り込み
- 02ノートの作成と更新
- 03ノートのバックリンク検索
- 04ノートブックとタグの管理
- 05画像添付ファイルの作成と取得
活用シーン
- 01キーワードでノートを検索する
- 02ノートを編集してステータスを変更する
- 03ノートブックとタグを整理する
- 04画像添付ファイルをノートに追加する
MCP 対応
Inkdrop Local HTTP Server APIを通じて、ノート、ノートブック、タグ、添付ファイルを読み書きするツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
13掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| noteId | string | はい | 取得するノートの ID。ノートドキュメントの `_id` で確認できます。必ず `note:` で始まります。 |
| includeTemplate | boolean | いいえ | true に設定され、ノートに `sourceTemplateId` がある場合、そのテンプレートも取得し、本文(記入手順と例)を追加のテキストブロックとして埋め込みます。これにより、1 回の呼び出しでノートとテンプレートの両方を取得できます。 |
詳細
Inkdrop MCP サーバー
Inkdrop Local HTTP Server API 用の Model Context Protocol サーバーです。
インストール
こちらのドキュメントをお読みください。
コンポーネント
ツール
read-note:データベースから、IDで指定したノートの全内容を取得します。- 必須の入力:
noteId:取得するノートのIDです。ノートのドキュメント内で_idとして確認できます。必ずnote:で始まります。
- 任意の入力:
includeTemplate:trueに設定されていて、ノートにsourceTemplateIdがある場合、そのテンプレートも取得し、本文(記入手順と例)を追加のテキストブロックとして埋め込みます。デフォルト:false。
- 注:テンプレートから作成されたノートの場合、レスポンスにはソーステンプレートへのリソースリンクが含まれます。テンプレートの本文には記入手順と例が記載されています。
- 必須の入力:
read-backlinks:ノートへのバックリンク、つまりそのノートにリンクしているノートを取得します。- 必須の入力:
noteId:バックリンクを調べるノートのIDです。必ずnote:で始まります。
- 注:各結果は、参照元のノートを指すリソースリンク(
inkdrop://note/<id>)として返されます。バックリンクは、すべてのノートの本文を検索し、そのノートのリンクURIを探して検出されます。
- 必須の入力:
search-notes:指定したキーワードを含むすべてのノートを一覧表示します。- 必須の入力:
keyword:検索するキーワードです。
- 注:結果には、本文を200文字に切り詰めたノートが含まれます。全文を取得するには
read-noteを使用してください。 book:、tag:、status:、title:などの高度な検索条件に対応しています。
- 必須の入力:
list-notes:指定した条件に一致するすべてのノートを一覧表示します。- 必須の入力:
bookId:ノートブックのIDです。必ず「book:」で始まります。
- 任意の入力:
tagIds:絞り込みに使用するタグIDの配列です。各IDは「tag:」で始まります。keyword:ノートを絞り込むキーワードです。sort:並べ替えの基準(updatedAt、createdAt、またはtitle)。デフォルト:updatedAt。descending:出力順を逆にします。デフォルト:true。
- 注:結果には、本文を200文字に切り詰めたノートが含まれます。全文を取得するには
read-noteを使用してください。
- 必須の入力:
list-templates:ノートテンプレートを一覧表示します。最初にカスタムテンプレート、続いてInkdropに同梱されている公式テンプレートが表示されます。- 任意の入力:
keyword:タイトルのあいまい検索でテンプレートを絞り込みます。
- 注:結果には、本文を200文字に切り詰めたテンプレートが含まれます。全文を取得するには
read-noteを使用してください。
- 任意の入力:
create-note:データベースに新しいノートを作成します。- 必須の入力:
bookId:ノートブックのIDです。「book:」で始まるか、「trash」または「template」である必要があります。カスタムノートテンプレートを作成するには「template」を指定します。title:ノートのタイトルです。body:Markdown形式のノート本文です。
- 任意の入力:
status:ノートのステータス(none、active、onHold、completed、dropped)。tags:ノートに割り当てるタグIDの配列です。各IDは「tag:」で始まる必要があります。
- 必須の入力:
update-note:データベース内の既存のノートを更新します。指定したフィールドのみが更新され、省略したフィールドは変更されません。- 必須の入力:
_id:ノートのIDです。「note:」で始まる必要があります。_rev:リビジョンID(CouchDB MVCC-token)です。
- 任意の入力:
bookId:ノートブックのIDです。「book:」で始まるか、「trash」または「template」である必要があります。title:ノートのタイトルです。body:Markdown形式のノート本文です。status:ノートのステータス(none、active、onHold、completed、dropped)。tags:ノートに割り当てるタグIDの配列です。各IDは「tag:」で始まる必要があります。
- 必須の入力:
patch-note:完全一致する文字列の置換によって、既存のノート本文を更新します。大きなノートを少しだけ編集する場合、update-noteよりも効率的で、トークンを節約できます。現在の本文を取得するため、最初にread-noteでノートを読み込む必要があります。- 必須の入力:
_id:ノートのIDです。「note:」で始まる必要があります。_rev:リビジョンID(CouchDB MVCC-token)です。old_string:ノート本文内で検索する完全一致のテキストです。一致箇所は1つだけである必要があります。一意に特定できるよう、前後の文脈を十分に含めてください。new_string:old_stringを置き換えるテキストです。一致したテキストを削除するには、空文字列を使用します。
- 必須の入力:
list-notebooks:すべてのノートブックの一覧を取得します。read-book:IDで指定した単一のノートブックを取得します。- 必須の入力:
bookId:ノートブックのIDです。「book:」で始まる必要があります。
- 必須の入力:
create-book:データベースに新しいノートブックを作成します。- 必須の入力:
name:ノートブック名です。
- 任意の入力:
parentBookId:親ノートブックのIDです。「book:」で始まる必要があります。ルート階層にノートブックを作成する場合は省略します。
- 必須の入力:
update-book:データベース内の既存のノートブックを更新します。指定したフィールドのみが更新され、省略したフィールドは変更されないため、事前にノートブックを読み込む必要はありません。- 必須の入力:
_id:ノートブックのIDです。「book:」で始まる必要があります。
- 任意の入力:
_rev:リビジョンID(CouchDB MVCC-token)です。楽観的同時実行制御のガードとしてのみ必要です。競合する同時編集があった場合に更新を失敗させるには、この値を渡してください。name:ノートブック名です。parentBookId:親ノートブックのIDです。ノートブックをルート階層に移動するにはnullを渡してください。
- 必須の入力:
list-tags:すべてのタグの一覧を取得します。read-tag:IDで指定した単一のタグを取得します。- 必須の入力:
tagId:タグのIDです。「tag:」で始まる必要があります。
- 必須の入力:
create-tag:データベースに新しいタグを作成します。- 必須の入力:
name:タグ名です。
- 任意の入力:
color:タグの色の種類(default、red、orange、yellow、olive、green、teal、blue、violet、purple、pink、brown、grey、black)。デフォルト:default。
- 必須の入力:
update-tag:データベース内の既存のタグを更新します。指定したフィールドのみが更新され、省略したフィールドは変更されないため、事前にタグを読み込む必要はありません。- 必須の入力:
_id:タグのIDです。「tag:」で始まる必要があります。
- 任意の入力:
_rev:リビジョンID(CouchDB MVCC-token)です。楽観的同時実行制御のガードとしてのみ必要です。競合する同時編集があった場合に更新を失敗させるには、この値を渡してください。name:タグ名です。color:タグの色の種類です。現在のタグの色を維持するには省略してください。
- 必須の入力:
create-file:ローカルの画像ファイルまたはBase64形式の画像データから、データベースに新しい添付ファイルを作成します。ノート本文に添付ファイルを埋め込むためのMarkdownを返します。- 必須の入力:次のいずれか1つのみ
filePath:添付するローカル画像ファイルの絶対パスです。推奨される方法です。画像データが会話に含まれずに済みます。data:Base64エンコードされた画像データです。data:URIプレフィックスは含めません。
- 任意の入力:
name:ファイル名です。デフォルトではfilePathのファイル名が使用されます。dataを指定した場合はimage.<ext>が使用されます。contentType:MIMEタイプ(image/png、image/jpeg、image/jpg、image/svg+xml、image/gif、image/heic、image/heif)。省略した場合はfilePathの拡張子から推定されるため、dataを指定する場合は必須です。publicIn:添付ファイルを含めるノートIDの配列です。各IDは「note:」で始まる必要があります。
- 注:添付ファイルの上限サイズは10MBです。
- 必須の入力:次のいずれか1つのみ
read-file:IDで指定した添付ファイルを取得します。ファイルのメタデータと、PNG、JPEG、GIFの場合は画像そのものを返します。- 必須の入力:
fileId:添付ファイルのIDです。「file:」で始まる必要があります。
- 任意の入力:
outputPath:添付ファイルを書き込む絶対パスです。指定するとファイルがそこに保存され、データはインラインで返されません。インライン表示できないSVG、HEIC、HEIFの添付ファイルを取得するには必須です。includeImage:メタデータとともに画像を返すかどうかを指定します。デフォルト:true。大きな添付ファイルのメタデータのみを取得するにはfalseに設定してください。
- 必須の入力:
デバッグ
MCP サーバーは stdio 経由で実行されるため、デバッグが難しい場合があります。最適なデバッグ体験を得るために、MCP Inspector の使用を強くおすすめします。
次のコマンドを使って、npm から MCP Inspector を起動できます。
npx @modelcontextprotocol/inspector "./dist/index.js"
環境変数が正しく設定されていることを確認してください。
起動すると、Inspector にブラウザーからアクセスできる URL が表示され、デバッグを開始できます。
次のコマンドを使ってサーバーログを確認することもできます。
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-inkdrop.log
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。