384t.net

← Armarium

Armarium マニュアル

MCP サーバー

Armarium は、Model Context Protocol (MCP) のサーバー armarium-mcp を備えています。Claude Desktop や Claude Code などの MCP クライアント (AI エージェント) が、登録したファイルを読み、集計し、変換できます。

インストーラーには armarium-mcp が同梱されています。cargo install でインストールした場合は、armarium-mcp も armarium と同じ場所に置いてください。

設定

MCP クライアントの設定に、次を追加します。パスは、実際のインストール場所に合わせてください。

{
  "mcpServers": {
    "armarium": {
      "command": "C:\\Program Files\\Armarium\\armarium-mcp.exe",
      "args": ["--allow-dir", "C:\\Users\\me\\data"]
    }
  }
}

アプリの「設定」にも、MCP クライアントに追加する内容を表示します。

起動オプション

オプション 内容 既定値
--workspace <path> workspace.json のパス %APPDATA%\Armarium\workspace.json
--read-only 書き込みのツールを無効にします。 オフ
--allow-dir <path> ファイルの登録とエクスポートを許可するディレクトリ。複数回指定できます。 なし。指定しないと、登録とエクスポートはできません。
--query-timeout <seconds> クエリのタイムアウト 60
--max-rows <n> 一回の応答に含める最大行数 500

--read-only で無効になるツールは、execute、save_table、discard_changes、register_source、unregister_source、export_result です。

ツール

ツール 内容 書き込み
list_sources 登録済みのソースとテーブルの一覧 (SQL 名、パス、種類、読み込みの状態)
describe_table 列名、型、行数、先頭 5 行のサンプル
read_rows offset と limit を指定して行を取得
query SELECT を実行して結果を返す
execute INSERT、UPDATE、DELETE を実行して作業用のコピーを変更する ✔
diff_table 作業用のコピーとファイルの差分
save_table 作業用のコピーをファイルに保存する ✔
discard_changes 作業用のコピーを捨てて、ファイルを読み直す ✔
register_source ファイルを登録する (--allow-dir のディレクトリのみ) ✔
unregister_source ソースの登録を解除する (ファイルは削除しません) ✔
export_result SELECT の全行を CSV、TSV、XLSX に書き出す (--allow-dir のディレクトリのみ) ✔

query の結果は、JSON (structuredContent) と、同じ内容の Markdown の表で返します。結果が --max-rows を超えたときは truncated が true になり、LIMIT を付けるか export_result を使うよう、エージェントに伝えます。

リソースとして、テーブルのスキーマ (armarium://tables/{sql_name}/schema) と先頭 20 行 (armarium://tables/{sql_name}/sample) を提供します。プロンプト analyze_table は、列ごとの統計 (件数、NULL の数、最小値、最大値、異なる値の数) を求めて、傾向の説明を依頼します。

安全のために

  • SQL の制限は、アプリと同じです。SQLを参照してください。
  • ファイルに書き込むツールは、save_table (登録済みのファイルを上書き) と export_result (--allow-dir のディレクトリ) だけです。
  • save_table は、ファイルが外部で変更されていると失敗します。アプリのような上書きの確認はありません。エージェントは discard_changes を呼んで、やり直す必要があります。
  • エージェントに読み取りだけを許すときは、--read-only を付けます。
  • --max-rows は、応答の大きさを制限し、エージェントのコンテキストの浪費を防ぎます。

注意: MCP サーバーは、アプリとは別の作業用データベースで動きます。アプリで編集中で、まだ保存していない変更は、MCP サーバーからは見えません。同じファイルをアプリと MCP の両方で変更すると、アプリは保存のときに「外部での変更」として警告します。

ワークスペースの共有

armarium-mcp は、起動時と各ツールの呼び出しの前に、workspace.json が変更されていれば読み直します。アプリで登録したファイルは、MCP サーバーからも使えます。register_source と unregister_source による変更は、アプリのツリーに反映されます。