Logseq MCP Tools について
Logseq MCP Tools は、ローカルの Logseq グラフを AI エージェントから操作する MCP サーバーです。ページやブロックの読み取り、検索、編集に対応します。
主な機能
- 01ページの一覧表示と取得
- 02ページの作成と削除
- 03ブロックの読み取りと検索
- 04ブロックの作成・更新・移動
- 05ブロックと子ブロックの削除
活用シーン
- 01Logseq グラフ内のノート検索
- 02日記や会議ページの作成
- 03階層ブロックの追加や編集
MCP 対応
Logseq のページ操作とブロック操作を MCP ツールとして Cursor や Claude Code などのクライアントに提供します。設定した URL とトークンを使って Logseq API に接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Logseq MCP ツール
このプロジェクトは、AI エージェントがローカルの Logseq インスタンスとやり取りできるようにする、Model Context Protocol(MCP)ツールのセットを提供します。
インストール
- Python 3.11+ がインストールされていることを確認します
- このリポジトリをクローンします
- 依存関係をインストールします:
pip install -e .
セットアップ
-
Logseq で API が有効になっていることを確認します。
- Logseq で、Settings > Advanced > Developer mode > Enable Developer mode に移動します
- 次に、Plugins > Turn on Logseq Developer Plugin に移動します
- Advanced settings で API トークンも設定します
- Logseq を再起動します
-
Cursor の MCP 設定ファイル(通常は
~/.cursor/mcp.json)で MCP サーバーを設定します:{ "mcpServers": { "logseq": { "command": "/opt/homebrew/bin/uvx", "args": ["logseq-mcp"], "env": { "LOGSEQ_API_URL": "http://localhost:12315", "LOGSEQ_TOKEN": "your-token-here" } } } }
または
- 次の方法で、Claude Code が MCP サーバーを使用するように設定します:
claude mcp add
- スコープを選択します
- Stdio を選択します
LOGSEQ_API_URL=http://localhost:12315 LOGSEQ_TOKEN=your-token-here /opt/homebrew/bin/uvx logseq-mcp
Cursor および Claude での使用
Cursor の MCP ツールへの追加
-
セットアップのセクションで説明したとおりに、MCP サーバーを設定します
-
Cursor を開き、MCP パネル(サイドバー)に移動します
-
利用可能なツールの一覧に Logseq ツールが表示されます
Claude での使用
Cursor で Claude を使用する場合、次のようなプロンプトを使って、Logseq ツールを利用できることを Claude に伝える必要があります。
「Logseq グラフとやり取りするための Logseq ツールを利用できます。logseq.get_all_pages()、logseq.get_page(name)、logseq.create_page(name) などの関数を使用できます。」
利用可能なツール
すべてのツールは logseq 名前空間で利用できます。
ページ
logseq.get_all_pages: Logseq グラフ内のすべてのページの一覧を取得しますlogseq.get_page: 名前を指定して特定のページを取得しますlogseq.create_page: 新しいページを作成しますlogseq.delete_page: ページとそのすべてのブロックを削除します
ブロック
logseq.get_page_blocks: 特定のページからすべてのブロックを取得しますlogseq.get_block: ID を指定して特定のブロックを取得しますlogseq.create_block: ページに新しいブロックを作成しますlogseq.insert_block: 別のブロックの子としてブロックを挿入しますlogseq.update_block: 既存のブロックを更新しますlogseq.move_block: ブロックを別の場所に移動しますlogseq.remove_block: ブロックとそのすべての子ブロックを削除しますlogseq.search_blocks: クエリに一致するブロックを検索します
Logseq の操作
ジャーナルページ
Logseq のジャーナルページには、特定の形式と属性があります。
- ジャーナルページを作成または取得する際は、「mmm dth, yyyy」形式(例:「Apr 4th, 2025」)を使用します
- ジャーナルページは、適切な日付が設定されるよう Logseq によって自動的に書式設定されます
- ジャーナルページには、Logseq によって自動的に設定される特別な属性があります。
journal?: true - これがジャーナルページであることを示しますjournalDay: YYYYMMDD - 数値形式の日付(例:2025 年 4 月 4 日の場合は 20250404)
- 例:
await logseq.create_page("Apr 4th, 2025")
重要: journal? または journalDay 属性を手動で設定する必要はありません。適切な日付形式(例:「Apr 4th, 2025」)でページを作成するだけで、適切な属性を持つジャーナルページとして自動的に設定されます。
ブロックの構造と書式
Logseq のブロックには、理解しておくべき重要な特徴がいくつかあります。
- 自動的な箇条書き:Logseq の UI では、すべてのブロックが自動的に箇条書きとして表示されます
- ページリンク:二重の角括弧を使ってリンクを作成します:
[[Page Name]] - 階層化されたブロック:
- ブロック構造データには階層情報が含まれます:
parent:親ブロックの IDlevel:インデントレベル(トップレベルは 1、インデントされたブロックは 2 以上)left:左側のブロック(通常、インデントされたブロックでは親ブロック)
- ブロック構造データには階層情報が含まれます:
- ブロックの内容:ブロックを作成するときに、テキストの書式を含めることができます:
- 基本的な Markdown に対応しています(太字、斜体など)
- ブロック内の箇条書きは、対応が限定される場合があります
- 複数行のコンテンツに対応していますが、Logseq の解析ルールの影響を受ける場合があります
- ジャーナルブロック:ジャーナルページに作成されたブロックは、特別な属性を継承します:
journal?:truejournalDay:YYYYMMDD - ジャーナルページと同じ
注記: ジャーナルページと同様に、これらのブロック属性は Logseq によって自動的に処理されます。ジャーナルページにブロックを作成するときに、journal? や journalDay 属性を手動で設定する必要はありません。
よくあるタスクでの使用例
Cursor エージェントを使用する場合: Cursor で Logseq MCP ツールを設定すると、次のようなプロンプトをエージェントに与えることができます:
- 「『Meeting Notes』という新しいページを作成して、今日の議題を箇条書きで追加して」
- 「『Tasks』セクションを作成して、今日のタスクをジャーナルページに追加して」
- 「[[Project Plan]] を使って今日のジャーナルエントリーを更新し、その子要素を『Completed milestone 1』に設定して」
- 「グラフ内で『python projects』についてのブロックを検索して、新しいページに整理して」
エージェントは適切な Logseq ツールを使って、グラフ上でこれらの操作を実行します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。