mcpField
M
Margins

Margins

ローカル
marginsmcp.com生産性123 週間前に更新

Margins について

Marginsは、Obsidianの保管庫やノートフォルダーをClaudeが読み取り、編集案を作成できるローカルMCPサーバーです。既存のClaudeサブスクリプションを使い、変更は確認されるまでファイルに反映されません。

主な機能

  1. 01ローカルノートの検索と読み取り
  2. 02バックリンクと最近のページの確認
  3. 03新規ページと編集案を承認用に保留
  4. 04ソース文書をWikiページに整理
  5. 05Wikiリンクの提案と好みの記録

活用シーン

  1. 01個人のノートを根拠に質問する
  2. 02`raw/`の文書を構造化ページにまとめる
  3. 03ノートを変更する前に編集案を確認
  4. 04関連の少ないファイル間のリンク候補を探す

MCP 対応

Marginsはローカルで動作し、stdio経由でClaude DesktopとClaude Codeに構造化ツールを提供します。ツールで保管庫を読み取り、変更案を承認まで保留できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cflorczyk9-margins": {
"command": "npx",
"args": [
"-y",
"margins-mcp"
]
}
}
}
起動コマンドnpx -y margins-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmargins-mcp0.15.3

ツール

23

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

margins-mcp

Obsidian の保管庫で Claude Pro/Max サブスクリプションを使えます。 API キーは不要です。トークンごとの料金も、埋め込み処理のパイプラインもありません。Claude がノートを読み取り、更新を提案します。推論にはサブスクリプションが使われ、ファイルはディスク上に残ります。

margins-mcp は、Claude(Desktop または Code)と Obsidian の保管庫の間に立つ、小さな Node プログラムです。Claude とチャットすると、margins-mcp を介してノートが読み込まれます。ファイルはローカルに残り、Claude が考え、既存のサブスクリプションで利用料金が支払われます。

あなたはどの Margins ですか?

Margins は、よくある 6 つの開始時点に対応しています。初回の呼び出し時に margins_start が状態を自動検出するため、自分で分類する必要はありません。ただし、どの行に当てはまるかを把握しておくと、利用時の見通しを立てやすくなります。

あなたの状況ペルソナ最初の会話
Obsidian を使っていて、保管庫がウィキリンクで整理されているA1ノートについての Q&A。margins_start を実行し、何でも質問してください。
Obsidian を使っていて、保管庫が空、または新しいA2Claude にデイリーノートと会議用テンプレートのひな形を作るよう頼みます。
Obsidian を使っていて、ファイルは多いがウィキリンクは少ないA3ページで propose_wikilinks を実行し、見逃していたつながりを見つけます。
Obsidian は使っていないが、Markdown は整理されているB1A1 と同じです。提案を確認する UX を使うには Obsidian をインストールしてください。
Obsidian は使っておらず、空の状態B2--starter-vault ~/Margins を使ってひな形を作成します。
Obsidian は使っておらず、フォルダーが散らかっているB3最も頻繁に使うページで propose_wikilinks を実行します。提案を視覚的に確認するには Obsidian をインストールしてください。

要件

  • Node.js 18 以降
  • Obsidian の保管庫、またはノート、PDF、Office/OpenDocument ファイル、メールのエクスポート、EPUB、プレーンテキストを含む任意のフォルダー
  • Claude のサブスクリプション:Pro(月額 20 ドル)、Max、または Claude Code

インストール

次の 2 つのコマンドを実行します。

npm install -g margins-mcp
margins-mcp install

インストーラーは保管庫のパスを尋ね、Claude Desktop と Claude Code を検出し、適切な設定ファイルを書き込みます。また、保管庫内に raw/、proposed/、.margins/ がなければ作成し、検証プローブを実行します。Claude Desktop を再起動するか(macOS ではウィンドウを閉じるだけでなく Cmd-Q を押します)、Claude Code で /mcp を実行すると、Margins が一覧に表示されます。

まだ保管庫がありませんか?

Margins の構成に合わせて作成します。

margins-mcp install --starter-vault ~/notes
Obsidian の保管庫のパスを確認する

すでに Obsidian を使っていて、保管庫の絶対パスが分からない場合:

  • Obsidian の場合: ファイルツリー内の保管庫名を右クリックし、macOS では「Finder で表示」、Windows では「エクスプローラーで表示」を選択します。パスはタイトルバーに表示されます。
  • macOS でよく使われるパス: ~/Documents/<VaultName>、または iCloud と同期している場合は ~/Library/CloudStorage/iCloudDrive/Obsidian/<VaultName>。
  • Linux でよく使われるパス: ~/Documents/<VaultName>、または ~/.local/share/Obsidian/<VaultName>。
  • Windows でよく使われるパス: %USERPROFILE%\Documents\<VaultName>。

インストーラーに --vault /absolute/path を渡すか、プロンプトに回答してください。

インストールせずに試す
npx margins-mcp install --vault /path/to/vault

npm が npx キャッシュをガベージコレクションする可能性があり、数週間後に設定が動作しなくなるという警告が表示されます。本格的に使う場合は、上記の npm install -g をおすすめします。npx を使う方法は、まず試してみる用途には適しています。

手動インストール

設定を自分で編集する場合は、次の内容を ~/Library/Application Support/Claude/claude_desktop_config.json に追加します(macOS の場合。Windows/Linux のパスは Anthropic のドキュメントを参照してください)。

{
  "mcpServers": {
    "margins": {
      "command": "node",
      "args": ["/absolute/path/to/margins-mcp/bin/margins-mcp.js"],
      "env": { "MARGINS_VAULT": "/absolute/path/to/your/vault" }
    }
  }
}

試してみる

Claude との新しい会話で、次のように尋ねます。

margins を使って、最近のノートを要約してください。

または:

プロジェクトの期限が 5 月 30 日だという主張を裏付けるページはどれですか? margins を使って探してください。

または:

スプレッドシートを raw/ に入れたばかりです。ウィキで使えるよう、構造化されたソースページにまとめてください。

モデルは保管庫を読み取り、新しいページや既存ページの編集を提案し、未加工のソースを構造化されたウィキページにまとめられます。propose_compile_from_raw は、Markdown/プレーンテキスト、PDF、Word 文書、スプレッドシート、プレゼンテーション、メールのエクスポート、EPUB、OpenDocument ファイル、RTF、HTML、CSV/TSV、JSON、YAML、および一般的なテキスト形式を受け付けます。書き込みはすべて、まず proposed/ にステージングされます。あなたが承認しない限り、ファイルは保存されません。

ツール

Context(会話ごとに1回呼び出します)
ツール目的
margins_startVault の統計情報、保留中の提案、まだ取り込まれていない raw ファイル、最近の設定、存在する場合は Vault の CLAUDE.md を取得します。会話全体を通じた Claude の根拠情報になります。
recall_preferences.margins/preferences.md から永続的なユーザー設定(ファイリング規則、命名パターン、過去の修正)を読み込みます。Claude は提案を行う前にこれを呼び出します。
読み取り
ツール目的
search_vaultVault 全体を対象に、全文検索とファイル名検索を行います。
read_page相対パスで指定したページを1つ読み取ります。
list_recent最近変更されたページを一覧表示します。
get_backlinks対象のスラッグにウィキリンクしているページを取得します。
search / fetchChatGPT Deep Research 互換のペアです。
書き込みの提案(ステージングされ、承認されるまで反映されません)
ツール目的
propose_pageproposed/<path> に新しいページをステージングします。
propose_edit文字列置換による編集をステージングします。before は正確に1回だけ出現する必要があります。
append_to追記をステージングします。ページが存在しない場合は作成し、保留中の提案に積み重ねます。
propose_compile_from_rawraw/ 内の未加工のトランスクリプト、メモ、PDF、Word 文書、スプレッドシート、スライド資料、メール、EPUB、その他の対応文書を、構造化されたソースページに変換します。
list_proposals保留中の提案と、各項目の上書きリスクフラグを一覧表示します。
resolve_proposalaction: "accept" は提案を反映し、action: "reject" は提案を破棄します。
提案する(ファイル数は多いもののリンクが少ない Vault 向けの A3 / B3)
ツール目的
propose_wikilinksページ内のエンティティらしい語句をスキャンし、同じスラッグを持つ他の Vault ページへのウィキリンクを提案します。その後、モデルは気に入ったリンクを適用するために propose_edit の呼び出しを連鎖させます。
学習
ツール目的
record_preference.margins/preferences.md に永続的なルールを追記します。ファイリングパス、命名、要約の長さなど、次回以降にも適用すべき形でユーザーが提案を修正した場合、Claude はこれを呼び出します。
提案の流れ

すべての書き込みツールは、Vault 内の proposed/<path> にステージングします。あなた(またはあなたの代わりに動作する MCP クライアント)が action: "accept" を指定して resolve_proposal を呼び出すまで、ライブのディレクトリツリーには何も反映されません。ステージングされた内容(ls proposed/)を確認し、自分でファイルを移動して承認することもできます。

連続する編集は積み重なります。同じパスに対する2回目の propose_edit は、Vault ではなく保留中の提案を読み込みます。

設定

環境変数デフォルト目的
MARGINS_VAULT(必須)Obsidian Vault または Markdown フォルダーの絶対パスです。
MARGINS_INDEX_ROOTS自動検出インデックス対象のサブフォルダーをカンマ区切りで指定します。自動検出の動作:.obsidian/ がある場合はルートをインデックス化、wiki/ がある場合は wiki/ のみをインデックス化、どちらもない場合はルートをインデックス化します。
MARGINS_TELEMETRY(同意ファイル)テレメトリーを上書きします:on または off。デフォルトではインストール時に行った同意の判断を使用します。

Margins が該当しないもの

対象範囲を明確にするため、以下のとおりです。

  • 推論レイヤーではありません。 その料金は Claude のサブスクリプションに含まれています。Margins は LLM を呼び出しません。
  • ウェブアプリではありません。 チャット画面は Claude Desktop / Claude Code / claude.ai にあります。Margins は基盤部分です。
  • クラウド同期ではありません。 ローカルファーストです。ファイルはディスク上に保管されます。
  • CRM 連携ではありません。 別の製品です。
  • API キーベースではありません。 サブスクリプションのパススルーが本製品の要点です。

プライバシー

  • Vault の内容がマシンの外に出ることはありません。Margins は、ファイルをローカルで読み書きし、stdio 経由で構造化ツールを公開する Node プロセスです。
  • 匿名のテレメトリー(インストール時にオプトイン)は、次に何を開発するかの優先順位付けに役立てるため、ツール呼び出し数を報告します。イベントペイロードの例:GET https://margins.goatcounter.com/count?p=/tool/search_vault。Vault の内容、ファイルパス、GoatCounter が割り当てる標準の24時間ローリングセッショントークン以外のユーザー識別情報は送信されません。セッションごとに無効にするには、MARGINS_TELEMETRY=off を設定します。設定は ~/.margins/consent.json に保存されます。

開発

git clone https://github.com/cflorczyk9/Margins.git
cd Margins
npm install
npm test
MARGINS_VAULT=/path/to/test/vault npm start

コンパイラー(src/compiler/)は、以前の Margins Web アプリからベンダー化されたものです。Web アプリとそのランディングページは、このリポジトリの legacy-webapp ブランチにあります。そこから更新を取り込む必要がある場合は、scripts/vendor-compiler.sh で再ベンダー化してください。

Margins が時間とともに賢くなる仕組み

次の2つが積み重なっていきます。

  1. Vault の CLAUDE.md は margins_start によって自動的に読み込まれます。Vault 固有のルール(ファイリングの規則、文体、命名パターンなど)を記述しておけば、Claude はすべての会話でそれに従います。コピー&ペーストは不要です。
  2. .margins/preferences.md は、Vault 内で Margins が管理するファイルです。Claude に「違います。それは personal ではなく projects に入れてください」のように修正すると、Claude は record_preference を呼び出してルールを記憶します。次の会話では、書き込みを提案する前に recall_preferences 経由でその内容を読み込みます。このファイルはプレーンな Markdown なので、内容を確認したり、手動で編集したり、不要になったセクションを削除したりできます。

どちらのファイルも Vault 内にあるため、Vault とともに移動します。マシンを変えても、ホストを変えても(Claude Desktop → Claude Code → ChatGPT は、利用可能になり次第)、規則は引き継がれます。

ロードマップ

  • v0.6:marginsmcp.com での Web オンボーディング — File System Access 経由でフォルダーを選択し、Vault を作成して、インストールコマンドを取得します。CLI に慣れていないユーザーでも、B2/B3 ペルソナに対応できます。
  • v0.6:get_citations(セマンティック埋め込み検索、オプトインの依存関係)。
  • v0.6:propose_compile_from_raw 向けの OCR/画像、旧式の Office バイナリ、音声/動画の取り込み。
  • v0.7:claude.ai の Web と ChatGPT のカスタムコネクター向けの HTTP/Streamable トランスポート。
  • v0.7+:反応が得られれば、MCP に加えて Obsidian コミュニティプラグインを提供。
  • v0.8+:raw/ へのドロップ時にファイルを監視して自動作成。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。