mcpField
S
SoloMD

SoloMD

ローカル
solomd.app生産性1.4k今日更新

SoloMD について

x

主な機能

  1. 01x

活用シーン

  1. 01x

MCP 対応

x

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbsolomd-mcp-4.14.11.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

solomd-mcp — SoloMD ボルト用の Model Context Protocol サーバー

solomd-mcp を使うと、Claude Code、Codex CLI、Cursor、Continue、その他あらゆる MCP クライアントから、SoloMD の Markdown ノートフォルダーを読み取り(必要に応じて編集も)できます。ボルトが、アシスタントから呼び出せるファーストクラスのツールになります。

これは スタンドアロンの Rust バイナリです。デスクトップアプリにはコピーが同梱されています(macOS の場合:/Applications/SoloMD.app/Contents/MacOS/solomd-mcp)が、アプリ自体が実行することはありません。MCP クライアントが起動したときにのみ実行されます。アプリと同じバージョンが表示されます(solomd-mcp --version)。

solomd-mcp --workspace /Users/me/Documents/Notes
# stdin / stdout: JSON-RPC 2.0 (stdio transport, the default)
# stderr:        human logs (use --verbose for debug)
複数のワークスペース(v4.0+)

ボルトごとに --workspace を指定します。各値には、パスだけ(エイリアスはパスの末尾のコンポーネントが既定値になります)、または <alias>=<path> を指定します。

solomd-mcp \
  --workspace work=/Users/me/Documents/Work \
  --workspace home=/Users/me/Documents/Home

最初のワークスペースが 既定 になります。明示的な workspace 引数を指定しないツール呼び出しは、最初のワークスペースに解決されます。既存の単一の --workspace を使うクライアントは、変更なしで引き続き動作します。既定以外のワークスペースを対象にする必要があるツールは、追加の workspace 引数を渡します。

// Default (first registered) workspace:
{ "name": "list_notes", "arguments": {} }

// Explicit alias:
{ "name": "list_notes", "arguments": { "workspace": "home" } }

// Or by absolute path (must match a registered workspace):
{ "name": "list_notes", "arguments": { "workspace": "/Users/me/Documents/Home" } }

各ワークスペースの AutoGit 履歴(autogit_log、autogit_diff、autogit_rollback)は独立しています。ワークスペースごとの .git リポジトリは、各呼び出し時に必要に応じて開かれます。

公開されるツール

ツール説明利用条件
list_notesVault を巡回し、メタデータ(パス、名前、タイトル、更新日時、サイズ、概要)を返します。デフォルトでは、更新日時の新しい順に 100 件のノートを返します。常に
read_note1 つのノートの全内容と、解析されたフロントマター、見出し、タグ、外部への [[wikilinks]] を返します。常に
search部分一致または正規表現による検索です。PATH 上にある場合は ripgrep を使用し、それ以外の場合は Rust の正規表現による走査を行います。ヒット数は最大 200 件で、前後 3 行のコンテキストを含みます。常に
get_backlinks指定されたノートに wikilink を張っている箇所をすべて返します(ファイル名部分は大文字と小文字を区別しません)。常に
list_tagsVault 全体のタグ数を集計します。本文中の #tag とフロントマターの tags: が対象です。常に
get_outline1 つのノートの見出し構成(レベル 1~6、テキスト、行番号)を返します。常に
list_tasksVault 内の - [ ] / - [x] チェックボックスをすべて、ファイル、行番号、完了状態とともに返します。done で絞り込めます。常に
autogit_logAutoGit リポジトリにある 1 つのノートのコミット履歴を、新しい順に返します。常に
autogit_diffAutoGit の 2 つのコミット間における、1 つのノートの統合差分を返します。常に
sync_status.solomd/sync.json から GitHub 同期状態(リモート、ブランチ、暗号化)を返します。常に
share_urlリンクされたリポジトリ内のノートについて、公開されている solomd.app/share URL を返します。常に
read_agent_trace.solomd/agent-runs/<run_id>/trace.jsonl から 1 つのエージェント実行のステップを返します。不明な run id を指定するとエラーになります。常に
write_note.md / .markdown / .txt ノートを作成します(ワークスペース内に存在しないフォルダーは作成されます)。既存のノートを置き換えるには allow_overwrite: true が必要です。--allow-write
append_to_note既存のノートにテキストを追加します(改行を適切に処理します)。--allow-write
autogit_rollbackAutoGit のコミットからノートの内容を復元します。--allow-write
export_noteノートを html / md / txt / docx にエクスポートします。output_path はワークスペース外にも指定できます(保存先フォルダーが存在する必要があります)。既存ファイルを置き換えるには overwrite: true が必要です。--allow-write。また、Node バックエンドが見つかった場合にのみ一覧に表示されます(下記参照)

ツールは 16 個あります。デフォルトでは読み取り専用です。書き込みツールも MCP の tools/list レスポンスに含まれるため、クライアントに表示できますが、オプトインするまでは呼び出しに失敗し、「--allow-write を指定して再起動してください」という明確なメッセージが表示されます。

すべての行番号(get_outline、get_backlinks、read_note の見出しと wikilink、list_tasks、search)は、ディスク上のファイルにおける 1 始まりの行番号です。フロントマターも含まれるため、各ツールの結果とエディター上の表示が一致します。search の列番号はバイト数ではなく文字数を数えます。

export_note には Node.js と SoloMD のソースコードチェックアウトが必要です。 アプリの node_modules とともに app/scripts/solomd-export.mjs(solomd export と同じエンジン)を実行します。インストール済みアプリにはどちらも含まれないため、node が PATH 上にあり、スクリプトが見つかった場合にのみツールが一覧に表示されます。スクリプトは SOLOMD_EXPORT_SCRIPT=/path/to/solomd/app/scripts/solomd-export.mjs で指定するか、app/ 内で pnpm install を実行済みのチェックアウト内にバイナリまたは作業ディレクトリがある場合に自動で検出されます。

インストール

ワンラインインストーラー(macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/zhitongblog/solomd/main/scripts/install-mcp.sh | bash

プラットフォームに対応したバイナリを最新の GitHub リリースからダウンロードし、/usr/local/bin/solomd-mcp に配置します(システムパスに書き込めない場合は ~/.local/bin/solomd-mcp を使用します)。

Cargo
cargo install --git https://github.com/zhitongblog/solomd solomd-mcp
手動インストール

github.com/zhitongblog/solomd/releases から適切なアーカイブを取得し、solomd-mcp を展開して PATH 上に配置します。

接続する

Claude Code

最も簡単なのは CLI を使う方法です。ユーザースコープの設定(~/.claude.json)を書き込みます。

claude mcp add --scope user solomd-vault -- \
  solomd-mcp --workspace /Users/me/Documents/Notes

サーバーのスコープを 1 つのプロジェクトに限定するには、プロジェクトのルートに .mcp.json を配置します。

{
  "mcpServers": {
    "solomd-vault": {
      "command": "solomd-mcp",
      "args": ["--workspace", "/Users/me/Documents/Notes"]
    }
  }
}

複数ワークスペースのプロファイル(1 つの MCP サーバーで複数の Vault を使用):

{
  "mcpServers": {
    "solomd-vaults": {
      "command": "solomd-mcp",
      "args": [
        "--workspace", "work=/Users/me/Documents/Work",
        "--workspace", "home=/Users/me/Documents/Home"
      ]
    }
  }
}

書き込みを有効にするには:

{
  "mcpServers": {
    "solomd-vault": {
      "command": "solomd-mcp",
      "args": ["--workspace", "/Users/me/Documents/Notes", "--allow-write"]
    }
  }
}
Codex CLI

~/.codex/config.toml:

[mcp_servers.solomd-vault]
command = "solomd-mcp"
args = ["--workspace", "/Users/me/Documents/Notes"]
Cursor / Continue / generic

stdio 経由で MCP を利用できるものなら何でも動作します。command を solomd-mcp に設定し、--workspace <path> を渡してください。solomd CLI (scripts/install-cli.sh)を使えば、これを自動で設定できます。solomd mcp install は見つかったすべての AI クライアントにエントリーを書き込み、solomd mcp-config は その設定を出力します。

ホスト型クライアント(Streamable HTTP)

ローカルバイナリを起動できないクライアント(Smithery、Claude.ai remote MCP、ChatGPT connectors)では、HTTP トランスポートを実行してください。

solomd-mcp --workspace /Users/me/Documents/Notes \
  --transport http --bind 127.0.0.1:8765 --auth-token "$TOKEN"

デフォルトではループバックにバインドされるため、--bind を変更しない限り、 マシンの外部からアクセスすることはできません。--auth-token(または SOLOMD_MCP_TOKEN)を指定すると、すべてのリクエストで Authorization: Bearer <token> の送信が必要になります。指定しない場合、エンドポイントには そのアドレスに到達できるすべてのユーザーがアクセスできます。

CLI リファレンス

solomd-mcp [OPTIONS] --workspace <ALIAS=DIR | DIR>...

  --workspace <ALIAS=DIR | DIR>
                      Path to a notes folder. Required. Canonicalised.
                      Repeat for multi-workspace mode. Form: `<alias>=<path>`
                      or just `<path>` (alias defaults to the path's last
                      component). The first workspace is the default — tool
                      calls without an explicit `workspace` argument resolve
                      to it (back-compat for single-workspace clients).
  --allow-write       Enable write_note + append_to_note + autogit_rollback
                      + export_note. Off by default.
  --transport <stdio|http>
                      stdio (default) or Streamable HTTP.
  --bind <ADDR>       HTTP listen address (default 127.0.0.1:8765).
  --auth-token <TOKEN>
                      HTTP bearer token [env: SOLOMD_MCP_TOKEN].
  -v, --verbose       Debug-level stderr logs.
  -V, --version       Print version.
  -h, --help          Print help.

より細かく制御するには、SOLOMD_MCP_LOG=trace(または tracing-subscriber の任意のフィルター式)を設定してください。

安全性

  • すべての入力パスは、読み書きの前に正規化され、ワークスペース内にあることが確認されます。 .. セグメントと、ワークスペース外の絶対パスはどちらも拒否されます。ワークスペース外への書き込みが可能な唯一のツールは export_note で、 --allow-write が指定されている場合に限られます。フォルダーを作成することはなく、呼び出しで overwrite: true が渡されない限り、既存のファイルを置き換えることもありません。
  • SoloMD デスクトップアプリのウォッチャー/インデックスはここでは使用されません。 これはステートレスな呼び出しごとのサーバーで、ファイルシステムを 遅延走査します。
  • list_notes は各ファイルの先頭 8 KB(タイトルと概要に十分なサイズ)だけを読み取るため、 大きなノートが何千件もある保管庫でも列挙にかかる負荷はわずかです。ファイルの全内容は read_note の実行時にのみ読み込まれます。

検証

# Roundtrip handshake: initialize → tools/list.
{
  printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"smoketest","version":"0"}}}'
  printf '%s\n' '{"jsonrpc":"2.0","method":"notifications/initialized"}'
  printf '%s\n' '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
  sleep 1
} | solomd-mcp --workspace ~/Documents/Notes

export_note の Node バックエンドが利用できない場合は 15 個、それ以外の場合は 16 個のツールが 一覧表示されます。

ライセンス

MIT — SoloMD と同じです。

コメント

MCP は初めてですか?

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

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