クイックスタート: レジストリから追加
最も簡単に始める方法は、組み込みレジストリを使用することです。droidで/mcpと入力し、**「レジストリから追加」**を選択して40以上の事前設定済みサーバーを参照できます:
リストからサーバーを選択し、必要に応じて認証を行う(ほとんどのHTTPサーバーはOAuthをサポート—ブラウザーのプロンプトに従ってください)と、サーバーがすぐに使用可能になります。
インタラクティブマネージャー(/mcp)
droid内で/mcpと入力すると、インタラクティブMCPマネージャーが開きます。ここから以下のことができます:
- サーバーの参照 - 設定済みのすべてのサーバーとその接続状況を確認
- ツールの表示 - 接続された各サーバーが提供するツールを検査
- 有効化/無効化 - サーバーを削除せずに一時的に無効化
- 認証 - ブラウザー経由でOAuth対応サーバーに接続
- 認証のクリア - サーバーの保存された認証情報を削除
- レジストリから追加 - 人気のあるMCPサーバーをワンクリックセットアップ
- サーバーの削除 - ユーザー設定のサーバーを削除
CLIでサーバーを追加
スクリプトや自動化には、droid mcp addを使用してください。Droidは3つのトランスポートをサポートしています:http(Streamable HTTP — 現行のMCP標準で、内部でSSEを使ってレスポンスをストリーミングします)、sse(古いサーバー向けのレガシーな単独HTTP+SSEトランスポート)、stdio(ローカルプロセス)。
HTTPサーバーの追加
HTTPサーバーはリモートMCPエンドポイントで、クラウドサービスやAPIに接続する推奨方法です。 構文:name- 一意のサーバー識別子url- MCPサーバーのHTTP/HTTPS URL--type http- HTTPトランスポートを指定するための必須フラグ--header "KEY: VALUE"- 認証用HTTPヘッダー(複数回使用可能)
人気のHTTP MCPサーバー
開発とテスト
Sentry - エラーの監視、本番環境の問題のデバッグプロジェクト管理とドキュメント
Notion - ドキュメントの読み取り、ページの更新、タスク管理決済と商取引
Stripe - 決済処理とサブスクリプションデザインとメディア
Figma - Figmaコンテキストでコードを生成インフラストラクチャとDevOps
Netlify - ウェブサイトの作成、デプロイ、管理SSEサーバーの追加
sse はレガシーな HTTP+SSE トランスポート(MCP プロトコルバージョン 2024-11-05)で、独立した Server-Sent Events エンドポイントを公開します。これは、内部で既に SSE を使う Streamable HTTP(--type http)に置き換えられました。そのため、通常は http を優先し、サーバーが古い単独 SSE エンドポイントしか提供しない場合にのみ sse を使ってください。引数は HTTP サーバーと同じで、変わるのは --type だけです。
構文:
Stdioサーバーの追加
Stdioサーバーはマシン上でローカルプロセスとして実行され、直接システムアクセスが必要なツールに最適です。 構文:name- 一意のサーバー識別子command- サーバーを開始するためのコマンド(スペースが含まれる場合は引用符で囲む)--env KEY=VALUE- 環境変数(複数回使用可能)
人気のStdio MCPサーバー
Airtable - レコードの読み取り/書き込み、ベースとテーブルの管理サーバーの削除
設定からサーバーを削除:サーバーの管理
droid内で/mcpと入力すると、MCPサーバーを管理するためのインタラクティブUIが開きます。
- 設定済みサーバーをステータス付きですべて表示
- 各サーバーが提供するすべてのツールを表示
- OAuth認証が必要なリモートサーバーの認証
- サーバーの追加/削除および有効化/無効化
設定
MCPサーバー設定は、次のレベルのローカルファイルから読み込まれます:
組織管理者は、組織管理設定を通じてサーバーを一元提供し、許可するサーバーを制限することもできます(Enterprise MCP ポリシー を参照)。
レイヤー化の仕組み
同じサーバーが複数レベルで定義されている場合は、ユーザー設定、フォルダレベル設定、プロジェクト設定の順に優先されます。 重要な動作:- プロジェクト定義のサーバーを有効化/無効化すると、新しい状態でコピーがユーザー設定に保存されます。元のプロジェクト設定は変更されないため、チームメンバーには影響しません。
- プロジェクトサーバーはCLIや
/mcpUI経由では削除できません。削除するには、.factory/mcp.jsonを直接編集してください。 droid mcp addやレジストリ経由で追加したサーバーは、常にユーザー設定に保存されます。
OAuthトークン
OAuthトークンはシステムキーリング(またはフォールバックファイル)にグローバルに保存され、プロジェクトごとではありません。あるプロジェクトでサーバーに認証すると、そのサーバーが設定されているすべての場所で認証されます。 サーバーの認証をクリアするには、/mcpインタラクティブマネージャーを使用し、「認証のクリア」を選択してください。
設定スキーマ
各サーバーエントリには以下が含まれます:
stdioサーバーの場合:
- command: 実行する実行可能ファイル
- args: コマンドライン引数(配列)
- env: 環境変数(オブジェクト)
- url: HTTP/HTTPSエンドポイントURL
- headers: 認証用HTTPヘッダー(オブジェクト)
- oauth: このサーバー用の OAuth 上書き設定(オブジェクト)、または OAuth を完全に無効化する
false
OAuth の上書き設定
ほとんどのリモートサーバーでは、OAuth は設定不要で動作します。droid が認可サーバーを検出し、Dynamic Client Registration(DCR)でクライアントを自動登録し、サーバーが Client ID Metadata Documents(CIMD)に対応している場合は Factory が公開しているクライアントメタデータを使用します。まずはこれらのデフォルトを優先してください。oauth の上書き設定は、プロバイダーが独自の信頼ポリシーや互換性ポリシーを必要とする場合にのみ設定してください。
http または sse サーバーの oauth オブジェクトでは、以下のフィールドを使用できます。
制約:
clientMetadataUrlは HTTPS URL である必要があり、ルート以外のパスを持ち、認証情報、クエリ文字列、フラグメント、ドットセグメントを含めてはいけません。clientMetadataUrlとclientId/clientSecretは同時に使用できません。メタデータドキュメント自体がクライアントアイデンティティであるため、事前登録済みの認証情報と組み合わせることはできません。clientMetadataUrlは公開クライアントを表すため、これを設定する場合、tokenEndpointAuthMethodは"none"にするか省略する必要があります。clientId/clientSecretを使う場合は、authorizationServerIssuerの設定が必要です。
"none" を強制します。
mcp.jsonの例:
変数展開
Droid はmcp.json の読み込み時に、${VAR} と ${VAR:-default} の参照を現在のシェル環境に対して展開します。これにより、シークレットをファイル本体に書かずに、シークレットマネージャー、.env ローダー、またはシェルプロファイルから読み込めます。
変数展開に対応している場所:
- stdio サーバーの
commandとargs - stdio サーバーの
envの値 - http サーバーの
url - http サーバーの
headersの値
${VAR:-fallback} を使ってください。
生の
mcp.json ファイルが展開後の値で書き換えられることはありません。展開は読み込み時にメモリ上でのみ行われるため、シークレットはディスクやバージョン管理に残りません。ツールごとのフィルタリング
サーバーは多数のツールを公開できますが、すべてを毎回のセッションに読み込む必要はありません。enabledTools と disabledTools を使うと、mcp.json でツールの公開範囲を永続的に絞り込めます。これは droid exec で使える --enabled-tools / --disabled-tools フラグに対応しています。
disabledTools: ブロックリスト — サーバーが報告したツールのうち、列挙した名前以外を読み込みます。enabledTools: 許可リスト — 列挙したツールのみを読み込みます。- 両方を設定した場合は
enabledToolsが優先され、disabledToolsは無視されます。 - フィルタで除外されたツールはモデルに登録されないため、コンテキストトークンを消費しません。
MCP 呼び出しタイムアウト
デフォルトでは、droid はすべての MCP ツール呼び出しにグローバルタイムアウトを適用します。長時間実行されるツール(大規模なデータエクスポート、ブラウザー自動化、モデル連携サーバーなど)はこの既定値を超え、タイムアウトエラーになる場合があります。 サーバーごとにtimeoutMs でタイムアウトを上書きできます:
settings.json の mcp.callTimeoutMs 設定でグローバル既定値を設定することもできます:
mcp.jsonのサーバー単位timeoutMssettings.jsonのグローバルmcp.callTimeoutMs- 組み込みのデフォルト値
タイムアウトを長くしても、droid が応答を待つ時間が変わるだけで、MCP サーバー自体やその上流 API が強制するタイムアウトが延長されるわけではありません。
Droid ごとのサーバー選択
カスタム Droid は、frontmatter のmcpServers フィールドを使って、使用を許可する設定済み MCP サーバーを選択できます。これにより、セッション内のすべてのサーバーを継承する代わりに、サブエージェントを特定のサーバー(例:mcpServers: ["linear", "github"])に限定できます。さらに細かく制御したい場合は、droid の tools リストに登録済みの正確な MCP ツールIDを指定できます。詳細は MCP サーバーの選択 を参照してください。
Enterprise MCP ポリシー
組織は、組織管理設定のmcpPolicy 設定を通じて、許可される MCP サーバーを集中的に制御できます。これにより、管理者は組織レベルで MCP アクセスを制限し、ユーザーが検証済みのサーバーにのみ接続できるようにします。
組織管理設定の例:
mcpPolicy はエンタープライズ/組織レベルの設定で、管理設定を通じて適用されます。個々のユーザーが上書きすることはできません。ポリシーで許可されないサーバーは mcp.json に残り、設定にも読み込まれたままですが、実行・接続の対象から除外され、/mcp マネージャーでも利用可能としては表示されません。MCP 自律性 URL オーバーライド
管理者は、組織管理設定mcpAutonomyUrlOverrides を使って、リモート MCP サーバーの URL ごとに既定のリスクレベルを割り当てられます。このリスクレベルは 自律レベル と比較され、一致したサーバーのツールを Droid が実行する前に、どの程度確認を求めるかを制御します。
各ルールは、URL パターンをリスクレベルに対応付けます。
組織管理設定の例:
マッチングと優先順位
- リモートサーバーのみ。 ルールが一致するのは URL を持つリモートサーバー(
httpとsseトランスポート)のみで、ローカルのstdioサーバーには影響しません。 - 最初に一致したものが優先。 ルールは順番に評価されるため、より具体的なものを先に記述してください。
- 安全性の下限。 ルールはツールのリスク 分類 を設定するものであり、プロンプトを絶対的に決めるものではありません。
highに分類されたツールでも、通常の 自律レベル との比較に従います(別の安全チェックが介入しない限り、High 自律では追加確認なしで実行されます)。この下限は一方向で、lowやmediumでも読み取り専用でないツール(破壊的なもの、または安全性メタデータがないもの)をhigh未満に下げることはできません。つまり、読み取り専用ツールの確認は緩和できますが、破壊的なツールを自動承認することはできません。 - フォールバック。 一致するルールがないサーバーには、Droid 組み込みのツールリスク分類(読み取り専用ヒントと厳選されたデフォルト)が使われます。
mcpAutonomyUrlOverrides は管理者が管理する(MDM)設定です。組織管理設定 を通じて配布され、ユーザーが上書きしたり弱めたりすることはできません。