LightNote にはヘッドレスの MCP(Model Context Protocol)サーバーが含まれ、
ワークスペースを AI エージェント向けのツールに変えます(Claude Desktop、
Claude Code、Cursor、および MCP を話すあらゆるクライアント)。エージェントは
ファイルの読み書き、検索、表形式データとデータベースのクエリ、タスクの操作、Git の
利用、HTTP リクエストの発行ができます — すべてフォルダーに限定されます
(ディレクトリジェイル: .. を含む、あるいはルート外のパスは拒否)。
トランスポートは stdin/stdout 上の JSON-RPC 2.0 で、セッションごとに軽量な
lnote.exe プロセスが起動し、エディターのウィンドウとは別になります。
ワンクリックのショートカット: AI → このフォルダーで AI を有効にする を選ぶと、LightNote は MCP を有効にして .mcp.json を一度に書き込みます(クリックが同意になります)。フォルダーで AI が既に有効な場合、この項目は このフォルダーの AI を設定… になり、ワークスペースの設定 を開きます。
2層のセキュリティ:(1)サーバーはそのフォルダーでオプトインして いる場合のみ起動します。(2)すべてのツールはワークスペースのルートに固定されます。 さらに、各ツールには注釈(読み取り専用・破壊的・冪等・「外部世界に触れる」) が付き、AI クライアントは呼び出す前にリスクを評価できます。
設定の手順
- フォルダーで MCP を有効にする。ツール → ワークスペース → ワークスペースの設定...で
このワークスペースで MCP を有効にするをチェックします。このオプトインが
ないとサーバーは起動を拒否します(これが主要なゲートです)。あるいはコマンド
ラインから:
lnote --mcp-enable "C:\Path\to\workspace"(オフにするには--mcp-disable)。 lnote.exeのパスを見つける。これはlightnote.exeと同じフォルダー(アプリのインストールフォルダー)にあります。UI を持たない 「slim」なコンソール実行ファイルで、エージェントが実行するのはこれです。- AI クライアントにサーバーを登録する。コマンドを
lnote.exeに向け、--mcpの後にワークスペースのフォルダーを渡します。Claude Desktop / Cursor などが使う形式で:
{
"mcpServers": {
"lightnote": {
"command": "C:\\Path\\to\\lnote.exe",
"args": ["--mcp", "C:\\Path\\to\\workspace"]
}
}
}
設定のヒント:
- JSON 内のバックスラッシュは例のように二重にする必要があります
(
C:\\Users\\...\\lnote.exe)。 - 複数のワークスペースを公開するには、フォルダーごとに別々の名前で
エントリを追加します(
"lightnote-projectA"、"lightnote-projectB")。それぞれ自分のルートを指します。 - 設定を保存したら、AI クライアントを再起動してサーバーを起動させます。
接続すると、エージェントは
lightnote_*ツールを一覧するはずです。 「ワークスペースのファイルを一覧して」と頼んで動作を確認しましょう。 - Claude Code(CLI)では、同じサーバーを次のように登録できます:
claude mcp add lightnote -- "C:\Path\to\lnote.exe" --mcp "C:\Path\to\workspace"。
データベースのパスワード(任意)。db_query ツールは
.lnc 接続を開きます。パスワードがセキュアフレーズで暗号化されている
場合は、サーバーブロックの環境変数 LNOTE_PASSPHRASE でフレーズを渡します
(コマンドライン引数では決して渡さないこと)。パスワードが「尋ねる」モードの接続は
無人では使えません。
LightNote が開いているときは、データベースはウィンドウを経由します。アプリのターミナルで動く AI の CLI(たとえば Claude Code)は、すでに開いているセッションを通じてクエリします。Oracle を含むどのデータベースでも、入力済みのパスワードと起動済みの SSH トンネルがそのまま使えます。接続が閉じている場合はウィンドウでパスワードを尋ねます(そこで断ると AI も断られます)。AI ツールがクエリすると、ステータスバーに表示されます。大きなデータベースでクエリを書くとき、AI は db_search_objects で名前からテーブルを探し(すべてのスキーマが対象)、db_list_objects でコメントと推定行数付きの一覧を読み、db_describe で JOIN の手がかりになる外部キーを含めて複数のテーブルをまとめて説明します。アプリを閉じているときは、上記のとおりです。
AI によるクエリは接続ごとのオプトインです。フォルダーで MCP を有効にしても接続は公開されません。各 .lnc は、接続ダイアログで 「AI によるクエリを許可 (MCP)」 がオンのときだけ db_query に応答します。アクセスは読み取り専用(SELECT)です。この許可はこのコンピューターのフォルダー設定に保存されます。.lnc ファイルには書き込まれず Git でも共有されないため、AI がファイルを編集して有効にすることはできません。接続のサーバー、データベース、ユーザー、トンネルを変更すると、オプションをもう一度オンにするまで許可は停止します。ファイル型のデータベース(SQLite、DuckDB)はワークスペース内にある必要があり、DuckDB 経由で AI が読めるのはワークスペース内のファイルだけで、LightNote を開いている間はファイルを一切読めません。
エージェントによるデータベースからのエクスポート。 クエリだけでなく、db_export で SELECT をファイルに実体化できます(Parquet、CSV、JSON、.xlsx)—応答に収まらない大きな結果に便利です。同じ 3 つの安全策がこの順で適用されます:クエリは読み取り専用、接続には 「AI による照会を許可 (MCP)」 のオプトインが必要(パスワードを復号する前に確認)、出力先はワークスペースの内側。大きなエクスポートはシステムの一時フォルダーを作業領域として使い、おおむね結果と同じ容量を消費します—ディスクの空き容量を確保してください。
利用できるツール
エージェントはクライアントのプレフィックス付きでツールを見ます(例:
lightnote_read_file)。カテゴリ別:
- ファイル:
read_file(行範囲は任意)、write_file、edit_file(ファイル全体を書き換えずに正確なスニペットを置換)、append_file、list_files、move_file、make_dir、delete_file(ごみ箱へ。完全削除では ありません)。 - 検索とナビゲーション:
search_files(ripgrep。サブフォルダー /glob フィルターと上限付き)、list_symbols(ファイルの関数/クラスの アウトライン)、open_in_editor(LightNote のウィンドウが開いていれば ファイルを開く/フォーカス)。 - データと SQL:
query(Parquet/CSV/JSON 上の DuckDB SQL、tsv/json/markdown 出力)、describe_table(スキーマ + 統計、行は 出さない)、export_query(SELECT をCOPYでファイルに 実体化)、sqlite_query(.sqlite/.db上の SQL)、db_list_connections(ワークスペースの.lncを 一覧)、db_query(.lnc接続上の読み取り専用 SQL)。 結果を応答ではなくファイルに出力するにはdb_export(Parquet/CSV/JSON/.xlsx)。 - さらに:
search_notes(質問に対して最も関連性の高いノートの抜粋を取得 — AI チャットと同じエンジン)、list_links(ノートの発リンクを、解決済みか壊れているかで表示)、audit_vault_links(保管庫全体の壊れたリンクと孤立ノート)、list_note_templatesとcreate_noteのtemplateパラメータ、list_due_tasks(全プロジェクトで今日締切または期限切れのタスク)、xlsx_read(.xlsxシートを TSV として読み取り)、data_diff(2つの表形式ファイルを比較)、そしてデータベースのカタログdb_list_objects/db_describe(テーブル/ビューと、テーブルの列・キー・DDL —db_queryと同じ条件)。さらにnote_export(ノートをdocx、odt、epub、LaTeX、Typst、HTML、reStructuredText、AsciiDoc、Org、MediaWiki、Notebook、あるいは別の方言の Markdown に書き出し —— ウィンドウなしで、lnote note-exportからも)。そしてnote_import(逆方向:docx、odt、epub、rtf、HTML、texを、見出し・リスト・表・強調・リンク・数式・画像ごと、元ファイルの隣にノートとして取り込み ——lnote note-importからも)。 そしてfolder_export(フォルダーごと HTML サイト・文書のセット・Markdown になり、リンクも書き換えられます ——lnote folder-exportからも)。 - 圧縮ファイル:
zip_list(.zip/.isxのメンバーを一覧)とzip_read(メンバーをテキストとして読む)— ディスクに展開せずに読み取ります。 - タスク:
list_task_projects(ワークスペースの.lntタスクプロジェクトを一覧)、list_tasks、list_task_statuses(ボードの列)、create_task、update_task(タイトル、工数、列、優先度、日付、%、タグ、チェックリスト、アーカイブ)、update_task_status(列を移動)、delete_task、task_note(タスクの.mdノートの読み書き)。1 つのワークスペースに.lntプロジェクトが複数あってもよく、projectパラメーター(list_task_projectsが返すname。1 つだけなら省略可)でどれを操作するか選びます。id/status_idはセッション内の識別子です。取得のために.lntの内部ファイルを読まず、タスクツールを使ってください。 - ノート(PKM):
create_note(.mdノートを作成)、append_daily_note(今日のノートにキャプチャを追記)、remember(あなたについての持続的な事実を記憶ノートに保存),list_backlinks(あるノートを参照しているノート)、list_note_tagsとsearch_by_tag(vault の#ハッシュタグとそれを使うノート)、add_task(期限・タグ付きのタスクを作成。タイトルに自然言語を受け付けます)。 - Git:
git_status、git_log、git_diff、git_restore。 - Web と通知:
http_request(HTTP リクエストを発行して ステータス/ヘッダー/本文を返す)、notify(開いているウィンドウの トレイに通知を表示 — エージェントが完了を知らせるのに便利)。 - AI プロキシ:
list_ai_modelsとask_ai(下記)。 - LightNote 自身:
help_lookup(このヘルプをセクションまたは語句で、指定の言語で読む)とmarkdown_reference(アプリが描画する Markdown の正確な構文)。接続時にはツールを分類したサーバーの説明も届き、ヘルプと Markdown のリファレンスはリソースとしても見えます(lightnote://help/…とlightnote://markdown/…)。
サーバーはワークスペースのファイルを MCP のリソースとしても公開します
(resources/list と resources/read)。read_file
を呼ぶ代わりにファイルを「添付」したいクライアント向けです。
あなたのプロンプトライブラリ(ワークスペースの Prompts/ フォルダー)は MCP のプロンプトとして公開されます(prompts/list と prompts/get)。Claude Code では各プロンプトがスラッシュコマンド /mcp__lightnote__<名前> になり、AI CLI 内ですぐ使えます。
書き込みのセーフティネット。 ファイルを上書き(write_file/edit_file)または削除(delete_file)する前に、サーバーは以前のバージョンをローカル履歴(エディタと同じセーフティネット)に保存します。Git リポジトリの外でも、エージェントが行った変更を元に戻せます。
各ツールは読み取りか書き込みかを明示します。MCP のアノテーション
(readOnlyHint/destructiveHint)に加えて、説明の先頭に
[read-only]・[writes]・[destructive]
のバッジが付きます。許可リストを安全に組むのに便利です。
AI プロキシ(別のモデルに委譲)
MCP 列にチェックして登録した API プロバイダーは、2つの
ツールでエージェントに公開されます: list_ai_models(許可されたモデルを
id・名前・モデルで一覧)と ask_ai({model, prompt})。これに
より、メインのエージェントはサブタスクをより安価または専門的なモデルに
委譲できます。呼び出しは起動中の LightNote が仲介します(MCP の
lnote.exe が内部ブリッジ経由でアプリのウィンドウに要求を転送):
API キーはコンピューターから決して出ず、エージェントにも届きません。
LightNote が開いていない場合、ツールは開くよう促すエラーを返します。
目次
編集
- 概要
- はじめに
- ワークスペースとウィンドウ
- アクティビティセンター: タスクとメッセージ
- コードエディター
- Markdown とウィキリンク
- 図(Mermaid)
- 数式と化学(LaTeX)
- ノートの中のカレンダー
- 番号付けと相互参照
- 引用と参考文献
- 学術論文の規格
- コネクショングラフ
- テーブル(Parquet・CSV・JSON・Excel)
- 分析エリア: ピボットテーブルと複数のグラフ
- PDF と画像
- 画像:スクリーンショットに注釈を付ける
- HTML ページ(.html)
- 印刷
- フォルダーとしての Zip(.zip)
- ブロック(.lnb)
- タスク(カンバン / ガント)
- カスタムテーブル(.lnd)
- ベース(ノートの保存済みクエリ)
ツール
- ファイル内検索と未対応
- バージョン管理(やさしい Git)
- スナップショットとバックアップ
- 変更のレビュー(チェックポイント)
- ファイルの比較(差分)
- コードの実行(F5)
- ターミナルと AI CLI
- 選択範囲への AI アシスタント(Ctrl+K / Ctrl+I)
- お使いのコンピューターの AI
- AI セッション
- AI チャット
- HTTP API のテスト(.lnh)
- データベース(.lnc)
- SSH 接続(.lns)
- セキュリティ: セキュアフレーズ・PIN・セキュア Markdown
- デイリーノート・クイックキャプチャ・トレイ
- 古いメモを再発見
- スマートフォンでのノート
- 音声を録音(メモ・会議)して AI で文字起こし
- 付箋
- カレンダー
- コマンドパレット
自動化(AI / スクリプト)
リファレンス