mcpField
D
dashclaw

dashclaw

ローカル
github.com/ucsandmanAI・エージェント3134 週間前に更新

dashclaw について

DashClaw は、無人運用のエージェント向けに、ポリシーチェック、承認、監査記録、統制されたHTTP機能の呼び出しを提供するガバナンス用 MCP サーバーです。エージェントの操作を制限し記録したいチームを対象としています。stdio または Streamable HTTP で接続でき、Claude のカスタムコネクタとしても追加できます。

主な機能

  1. 01リスクのある操作の前のポリシー評価
  2. 02監査証跡への操作記録
  3. 03承認ゲートを経た登録済み機能の実行
  4. 04人による承認結果の待機
  5. 05ガバナンス対象操作の判断台帳の参照
  6. 06計画の事前レビュー用の送信

活用シーン

  1. 01自動化エージェントの高リスク操作へのポリシーと承認の適用
  2. 02エージェントの操作と未検証の前提の監査記録
  3. 03マルチエージェントタスクにおける委任と状態変化の追跡

MCP 対応

本プロジェクトは MCP サーバーであり、17 のガバナンスツール、stdio 専用の支援ツール 2 件、dashclaw://policies や dashclaw://status などの読み取り専用リソース 3 件を MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ucsandman-dashclaw": {
"command": "npx",
"args": [
"-y",
"@dashclaw/mcp-server"
],
"env": {
"DASHCLAW_URL": "<DASHCLAW_URL>",
"DASHCLAW_API_KEY": "<DASHCLAW_API_KEY>",
"DASHCLAW_AGENT_ID": "<DASHCLAW_AGENT_ID>"
}
}
}
}
起動コマンドnpx -y @dashclaw/mcp-server
設定が必要な環境変数
DASHCLAW_URLBase URL of your DashClaw instance (e.g. https://your-app.vercel.app)
DASHCLAW_API_KEYシークレットDashClaw workspace API key (oc_live_...)
DASHCLAW_AGENT_IDOptional agent identifier used to attribute governed actions

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

パッケージ
npm@dashclaw/mcp-server3.1.6

ツール

19

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

パラメーター型必須説明
actobjectいいえ証拠を優先するガードです。評価対象の実際の操作を添付すると、サーバーが操作を分類し、宣言された action_type/risk_score だけに頼らず、推定したリスクを加味します。形式:{ kind: "shell"|"http"|"sql"|"file", command? (shell), request?: { method, url, body_excerpt? } (http), statement? (sql), file?: { path, content_excerpt?, bytes? } (file) }。省略可能です。添付する具体的な証拠がない場合は省略してください。
targetstringいいえ操作が対象とする主なファイルパス、URL、またはリソース(保護対象パスのポリシーが照合できます)
contentstringいいえ機密情報スキャンとコンテンツポリシーによる評価用の送信内容の抜粋(ファイル内容、メッセージ本文)
agent_idstringいいえサーバーレベルの agent id が設定されていない場合に使用するフォールバック ID(設定済みの ID が優先されます)。ID が設定されている場合は、その配下のサブエージェントを「<configured id>/<name>」(例:claude-desktop/nightly-seo)と名付けると、このルーチン専用の行が /decisions に作成されます。それ以外の値は設定済みの ID にフォールバックします。
tool_namestringいいえ操作を実行するツールの名前(例:Write、Bash、send_email)
confidenceintegerいいえ人が介入せずにこの操作が完了するという、0~100 の正直な確信度を実行前に示します。操作記録に保存され、/decisions で実際の結果と照合して評価されます(Predicted vs actual)。推測するくらいなら省略してください。ちょうど 50 は未指定として扱われます。
reversiblebooleanいいえ操作を元に戻せるかどうか
risk_scoreintegerはいリスクの推定値(0~100)。本番システムでは 70 以上を使用してください。
action_typestringはい操作のカテゴリ(例:deploy、send_email、database_write、api_call)
write_pathsarrayいいえ操作が書き込みまたは変更するファイルパス(保護対象パスのポリシーマッチング用)
declared_goalstringはい実行する内容を平易な言葉で説明してください
systems_touchedarrayいいえ影響を受けるシステム(例:本番環境、データベース、メール)
approval_wait_secondsintegerいいえ決定が require_approval の場合に dashclaw_wait_for_approval をポーリングする時間(デフォルトは 300。承認はこの期間と再試行猶予期間の経過後に期限切れになります)

詳細

@dashclaw/mcp-server

DashClaw のガバナンス向け MCP サーバーです。Model Context Protocol を介して、17 個のガバナンスツール、stdio 専用のサポートツール 2 個、読み取り専用リソース 3 個を公開します。ポリシーの評価、証拠の記録、登録済み機能の呼び出し、承認待ち、決定台帳の読み取りができます。Claude Code、Claude Desktop、Claude Managed Agents、および MCP 対応クライアントで使用できます。

ガバナンスツールは、DASHCLAW_URL と DASHCLAW_API_KEY の両方が設定されている場合にのみ登録されます。どちらも設定されていない場合、サーバーは何も登録しません。片方だけが設定されている場合は、stderr に警告を出します。

クイックスタート

Claude Code / Cowork(stdio)
npx -y @dashclaw/mcp-server --url https://your-dashclaw.vercel.app --key oc_live_xxx --agent-id claude-code

または、MCP 設定(Claude Code の場合は .mcp.json、または claude mcp add)に追加します。

{
  "mcpServers": {
    "dashclaw": {
      "command": "npx",
      "args": ["-y", "@dashclaw/mcp-server"],
      "env": {
        "DASHCLAW_URL": "https://your-dashclaw.vercel.app",
        "DASHCLAW_API_KEY": "oc_live_xxx",
        "DASHCLAW_AGENT_ID": "claude-code"
      }
    }
  }
}

Claude Desktop のメインチャットでは stdio を使用しないでください。 Desktop はバンドルされた Node でローカル MCP サーバーを実行するため、このサーバーがクラッシュします。代わりに OAuth カスタムコネクターを使用してください。ローカルプロセスは不要で、チャットと Cowork の両方で動作します。

DASHCLAW_AGENT_ID について: これは /fleet、/decisions、その他すべてのガバナンス画面に表示される名前です。省略すると、サーバーは MCP プロトコルの clientInfo.name(例:Claude Desktop では claude-ai、Cursor では cursor-vscode)から agent_id を自動的に導出します。これにより、他のエージェントと呼び出しが意図せず混在することはありません。ただし、ダッシュボードで見やすくするには、claude-desktop のような人が読みやすい名前を指定することをおすすめします。明示的な設定は常に自動導出より優先されます。

Claude Managed Agents(Streamable HTTP)

DashClaw を実行している場合、MCP エンドポイントは /api/mcp に組み込まれています。

agent = client.beta.agents.create(
    name="Governed Agent",
    model="claude-sonnet-4-6",
    tools=[{"type": "agent_toolset_20260401"}],
    mcp_servers=[{
        "type": "url",
        "url": "https://your-dashclaw.vercel.app/api/mcp",
        "headers": {"x-api-key": "oc_live_xxx"},
        "name": "dashclaw"
    }],
)
Claude Desktop

OAuth カスタムコネクター(次のセクション)を使用してください。Desktop のチャット、Web、Cowork で動作することが確認済みの方法で、インストールも不要です。以前のワンクリック .mcpb バンドルは廃止されました。Desktop にバンドルされた Node で stdio サーバーを実行していたため、クラッシュを繰り返します。これを使ってインストールした dashclaw 拡張機能がまだある場合は、コネクターを追加する前にアンインストールしてください(Settings → Extensions)。

Claude カスタムコネクター(リモート、OAuth)

セルフホスト可能な DashClaw は、UI で API キーを入力せずに Claude のカスタムコネクターとして追加できます。Claude のコネクター設定ではヘッダーではなく OAuth が必要です。

  1. Claude で、Settings → Connectors → Add custom connector を選択します。
  2. https://<your-instance>/api/mcp を貼り付けます。
  3. Claude が /.well-known/oauth-protected-resource を検出して DCR で登録し、DashClaw のログイン画面と同意画面を開きます。
  4. 承認すると、ワークスペースの範囲に限定された 17 個のガバナンスツールが表示されます。

Free/Pro/Max/Team/Enterprise で動作します(Free ではカスタムコネクターは 1 つまでです)。従来の x-api-key 方式(Managed Agents)は変更ありません。

マーケットプレイス経由のプラグイン(スキル)

Claude アプリで DashClaw のスキル(ガバナンスプロトコルとプラットフォームインテリジェンス)も読み込むには、Customize → Plugins → 「+」→ Add marketplace → github: ucsandman/DashClaw の順に選択し、dashclaw プラグインをインストールします。

ツール(ガバナンス 17 個+stdio サポート 2 個)

ドメイン別にまとめています。正式な定義については、src/tools.ts を参照してください。

コアガバナンス(9 個) — ガード/記録/実行のループに、検出とセッションのライフサイクルを加えたものです。

ツール説明
dashclaw_guardリスクのあるアクションの前にポリシーを評価します
dashclaw_recordアクションを監査証跡に記録します
dashclaw_invokeサーバーのガード、承認、実行クレーム、効果、結果の接点を通じて、登録済みの機能を実行します
dashclaw_capabilities_list利用可能な API を検出します
dashclaw_policies_list有効なガバナンスポリシーを確認します
dashclaw_wait_for_approval人間が承認を解決するまで待機します
dashclaw_session_startエージェントセッションを登録します
dashclaw_session_endエージェントセッションを終了します
dashclaw_session_retroセッション自身の正当性に関する振り返り(問題なし/要レビュー/フラグ付きの状態)を読み取ります

セッションの関連付け: dashclaw_session_start の後、サーバーは同じ接続(stdio)上のすべての dashclaw_record に、そのセッションの ID を自動的に付与します。上書きする場合、または各リクエストがステートレスな HTTP トランスポート(POST /api/mcp)で明示的に関連付ける場合は、dashclaw_record に session_id を渡してください。

強制の境界

dashclaw_guard、dashclaw_record、dashclaw_wait_for_approval は 協調型のツールです。ポリシーと監査状態を返しますが、それに従うかどうかは MCP ホストまたはモデルが引き続き判断します。通常の MCP ツールに対する 機械的なゲートが必要な場合は、ホストのインターセプションフックを使用してください。

dashclaw_invoke は、範囲を限定した効果の接点です。DashClaw は登録済みの 機能設定を保持し、現在のポリシーに照らして正確な呼び出しを評価し、それを記録して、 承認を強制し、外部呼び出しの前に実行試行を 1 回だけアトミックに確保します。 承認とプランの許可は、先行するガード評価時ではなく、その確保時に消費されます。 実行が完了しても結果を記録できない場合、このツールは実行状態が不明であることを報告し、 再試行が安全だとは説明しません。まず外部システムの状態を照合してください。

振り返り(2 個) — 前提を記録し、最近のガバナンス対象アクションの台帳を確認します。

ツール説明
dashclaw_assumption_recordアクションの根拠となる、未検証の前提を記録します
dashclaw_decisions_recent最近のガバナンス対象アクションの台帳

エージェントの識別情報(1 個) — 識別されていないエージェントを、オペレーター承認のもとで登録済みの ID にペアリングします。

ツール説明
dashclaw_pairエージェント ID を登録します。鍵ペアをローカルに作成し、公開鍵を /api/pairings に送信します

チームタスク(3 個) — チームタスクを作成し、エージェント間のタイムラインイベントを追加して、タスクの状態を更新します。

ツール説明
dashclaw_task_createチームタスクを作成します — 複数エージェントによる各 /team 実行につき 1 レコードです
dashclaw_task_eventチームタスクのタイムラインにイベントを 1 件追加します(委任、返信、状態、承認が必要、結果、エラー、完了)
dashclaw_task_updateチームタスクを更新します。状態遷移と保存済みのトランスポートセッション ID を更新します

プラン(2 個) — オペレーターによる 1 枚のカードでのレビューに向けて事前チェック用のプランを送信し、そのレビュー状態を確認します。プレビューとレビューの応答は証拠であり、実際のアクションは再評価され、許可は実行クレーム時にのみ消費されます。

ツール説明
dashclaw_plan_submit事前チェックレビュー用に順序付きのステップ一覧を送信します。承認されたステップは、実行クレーム時にのみ消費される、対象範囲と有効期限が限定された許可になります
dashclaw_plan_status送信済みプラン全体および各ステップの判定を確認します
DashClaw がゲートする stdio ツール(2 個)

ローカルの stdio サーバー上で src/tools/index.ts により登録され、ガバナンス用ツール群と同じ DASHCLAW_URL + DASHCLAW_API_KEY の認証情報がある場合にのみ有効になります。

ツール説明
dashclaw_statusDashClaw ゲートの設定と到達可能性を確認します
export_dashclaw_evidenceDashClaw のガード/証拠メタデータを含むローカルの監査エントリーをエクスポートします

リソース(3)

URI説明
dashclaw://policies有効なポリシーセット
dashclaw://agent/{agent_id}/history最近のアクション履歴(直近50件)
dashclaw://statusインスタンスのヘルス状態と運用メトリクス

設定

MCP クライアントの env ブロック(推奨。サーバープロセスに限定され、ターミナルからは見えません)またはシェルで設定します。注釈付きのテンプレートは .env.example にあります。

CLI 引数環境変数デフォルト説明
--urlDASHCLAW_URLhttp://localhost:3000DashClaw インスタンスの URL — DASHCLAW_API_KEY と併用すると、ガバナンスツールセットが有効になります
--keyDASHCLAW_API_KEY(空)API キー(oc_live_ プレフィックス)
--agent-idDASHCLAW_AGENT_ID(空)デフォルトのエージェント ID(空の場合、MCP の clientInfo.name から自動取得されます)
DASHCLAW_MODEauthoritativeDashClaw のゲートモード(authoritative のみサポートされています)
DASHCLAW_LOCAL_HOME<cwd>/.dashclaw-localローカル状態の保存場所(下記の「ストレージ」を参照)
DASHCLAW_TIMEOUT_MS30000DashClaw API リクエストのタイムアウト
DASHCLAW_LOCK_STALE_MS30000ローカル状態ファイルの古いファイルロックとみなすまでの時間
DASHCLAW_AUDIT_MAX_ENTRIES(無制限)保持する監査エントリの上限

CLI 引数は環境変数より優先されます。

注: このサーバーは DASHCLAW_URL を読み取ります(DASHCLAW_BASE_URL ではありません)。DashClaw リポジトリのフックと CLI は DASHCLAW_BASE_URL を読み取ります。

ストレージ

作業ディレクトリ内の .dashclaw-local/ にローカル優先で状態を保存します(DASHCLAW_LOCAL_HOME で変更できます)。標準の JSON 形式で、人が読みやすく、差分を確認でき、ネイティブ依存関係はありません。

ファイル内容
state.jsonローカルのデフォルトワークスペース
audit.logDashClaw のエビデンスツールが読み取る、追記専用の JSONL 監査証跡

シークレットはここに書き込まれません。トークンは環境内に保持され、呼び出し時に読み取られます。

ライセンス

Apache-2.0。このパッケージには、上流の Apache-2.0 プロジェクトのコードが含まれています。帰属表示については NOTICE を参照してください。

リリース

mcp-server/package.json の version を更新した後、リポジトリのルートから次を実行します。

npm run release:mcp

1つのコマンドですべて実行でき、再実行しても常に安全です(公開済みの手順はスキップされます)。

  1. server.json のバージョンを package.json に同期します(ファイルが変更された場合は、その変更をコミットしてください)。
  2. npm に公開します — セキュリティキーによる 2FA のプロンプトが表示されると、ブラウザーが開きます。
  3. mcp-publisher を使って公式 MCP Registry に公開します — 保存済みの GitHub トークンの期限が切れている場合は、デバイスフローのログインを再実行し(表示されたコードを github.com/login/device に入力してください)、再試行します。

前提条件(初回のみ):npm login と、modelcontextprotocol/registry releases から入手する公式の mcp-publisher バイナリです。無関係なパッケージにその名前が不正に使われているため、決して npm i -g mcp-publisher を実行しないでください。

コメント

MCP は初めてですか?

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

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