メインコンテンツへスキップ
Model Context Protocol (MCP) サーバーは、追加のツールとコンテキストを提供することでdroidの機能を拡張します。Droidでは、簡単なブラウジングとセットアップのためのインタラクティブUIと、スクリプトや自動化のためのCLIコマンドの2つの管理方法を提供しています。

クイックスタート: レジストリから追加

最も簡単に始める方法は、組み込みレジストリを使用することです。droidで/mcpと入力し、**「レジストリから追加」**を選択して40以上の事前設定済みサーバーを参照できます:
サーバー説明
figmaデザインの探索と実装
linear課題追跡とプロジェクト管理
sentryエラー追跡とパフォーマンス監視
notionノート、ドキュメント、プロジェクト管理
supabaseSupabaseプロジェクトの作成と管理
stripe決済処理API
vercelプロジェクトとデプロイメントの管理
playwrightエンドツーエンドブラウザーテスト
hubspotCRMデータ管理
mongodbデータベース管理
その他多数
リストからサーバーを選択し、必要に応じて認証を行う(ほとんどのHTTPサーバーはOAuthをサポート—ブラウザーのプロンプトに従ってください)と、サーバーがすぐに使用可能になります。
レジストリは最速で始める方法です。カスタムサーバーや自動化には、以下のCLIコマンドを使用します。

インタラクティブマネージャー(/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に接続する推奨方法です。 構文:
droid mcp add <name> <url> --type http [--header "KEY: VALUE"...]
引数:
  • name - 一意のサーバー識別子
  • url - MCPサーバーのHTTP/HTTPS URL
  • --type http - HTTPトランスポートを指定するための必須フラグ
  • --header "KEY: VALUE" - 認証用HTTPヘッダー(複数回使用可能)

人気のHTTP MCPサーバー

開発とテスト

Sentry - エラーの監視、本番環境の問題のデバッグ
droid mcp add sentry https://mcp.sentry.dev/mcp --type http
Hugging Face - Hugging Face HubとGradio AIアプリケーションにアクセス
droid mcp add hugging-face https://huggingface.co/mcp --type http
Socket - 依存関係のセキュリティ分析
droid mcp add socket https://mcp.socket.dev/ --type http

プロジェクト管理とドキュメント

Notion - ドキュメントの読み取り、ページの更新、タスク管理
droid mcp add notion https://mcp.notion.com/mcp --type http
Linear - 課題追跡とプロジェクト管理
droid mcp add linear https://mcp.linear.app/mcp --type http
Intercom - 顧客の会話とチケットへのアクセス
droid mcp add intercom https://mcp.intercom.com/mcp --type http
Monday - monday.comボードとアイテムの管理
droid mcp add monday https://mcp.monday.com/mcp --type http

決済と商取引

Stripe - 決済処理とサブスクリプション
droid mcp add stripe https://mcp.stripe.com --type http
PayPal - PayPal商取引と決済処理
droid mcp add paypal https://mcp.paypal.com/mcp --type http

デザインとメディア

Figma - Figmaコンテキストでコードを生成
droid mcp add figma https://mcp.figma.com/mcp --type http
Canva - Canvaデザインの閲覧、要約、生成
droid mcp add canva https://mcp.canva.com/mcp --type http
TwelveLabs - 動画分析、検索、AI駆動のインサイト
droid mcp add twelvelabs-mcp https://mcp.twelvelabs.io --type http \
  --header "x-api-key: YOUR_TWELVELABS_API_KEY"

インフラストラクチャとDevOps

Netlify - ウェブサイトの作成、デプロイ、管理
droid mcp add netlify https://netlify-mcp.netlify.app/mcp --type http
Vercel - プロジェクト、デプロイメント、ログの管理
droid mcp add vercel https://mcp.vercel.com/ --type http
Stytch - 認証サービスの設定
droid mcp add stytch https://mcp.stytch.dev/mcp --type http
多くのリモートサーバー(HTTP と SSE)では OAuth 認証が必要です。追加後は、 インタラクティブな/mcp UIを使用して認証フローを完了してください。

SSEサーバーの追加

sse はレガシーな HTTP+SSE トランスポート(MCP プロトコルバージョン 2024-11-05)で、独立した Server-Sent Events エンドポイントを公開します。これは、内部で既に SSE を使う Streamable HTTP(--type http)に置き換えられました。そのため、通常は http を優先し、サーバーが古い単独 SSE エンドポイントしか提供しない場合にのみ sse を使ってください。引数は HTTP サーバーと同じで、変わるのは --type だけです。 構文:
droid mcp add <name> <url> --type sse [--header "KEY: VALUE"...]
例:
droid mcp add example-sse https://mcp.example.com/sse --type sse \
  --header "Authorization: Bearer YOUR_TOKEN"

Stdioサーバーの追加

Stdioサーバーはマシン上でローカルプロセスとして実行され、直接システムアクセスが必要なツールに最適です。 構文:
droid mcp add <name> "<command>" [--env KEY=VALUE...]
引数:
  • name - 一意のサーバー識別子
  • command - サーバーを開始するためのコマンド(スペースが含まれる場合は引用符で囲む)
  • --env KEY=VALUE - 環境変数(複数回使用可能)

人気のStdio MCPサーバー

これらの npx の例では、各パッケージの公開済み最新バージョンをインストールします。セキュリティに敏感な環境では、airtable-mcp-server@1.4.0 のように明示的なバージョンを固定し、更新を意図的に行い、実行前に変更内容を監査できるようにしてください。
Airtable - レコードの読み取り/書き込み、ベースとテーブルの管理
droid mcp add airtable "npx -y airtable-mcp-server" \
  --env AIRTABLE_API_KEY=your_key
ClickUp - タスク管理とプロジェクト追跡
droid mcp add clickup "npx -y @hauptsache.net/clickup-mcp" \
  --env CLICKUP_API_KEY=your_key \
  --env CLICKUP_TEAM_ID=your_team_id
HubSpot - CRMデータのアクセスと管理
droid mcp add hubspot "npx -y @hubspot/mcp-server" \
  --env HUBSPOT_ACCESS_TOKEN=your_token

サーバーの削除

設定からサーバーを削除:
droid mcp remove <name>
例:
droid mcp remove notion

サーバーの管理

droid内で/mcpと入力すると、MCPサーバーを管理するためのインタラクティブUIが開きます。
  • 設定済みサーバーをステータス付きですべて表示
  • 各サーバーが提供するすべてのツールを表示
  • OAuth認証が必要なリモートサーバーの認証
  • サーバーの追加/削除および有効化/無効化

設定

MCPサーバー設定は、次のレベルのローカルファイルから読み込まれます:
レベル場所目的
ユーザー~/.factory/mcp.json個人のサーバー、すべてのプロジェクトで利用可能
フォルダプロジェクトの任意の祖先ディレクトリにある .factory/mcp.json共通の親フォルダ配下のネストしたプロジェクト間で共有するサーバー
プロジェクトプロジェクトルートの .factory/mcp.jsonチーム共有サーバー、リポジトリにコミット
組織管理者は、組織管理設定を通じてサーバーを一元提供し、許可するサーバーを制限することもできます(Enterprise MCP ポリシー を参照)。

レイヤー化の仕組み

同じサーバーが複数レベルで定義されている場合は、ユーザー設定、フォルダレベル設定、プロジェクト設定の順に優先されます。 重要な動作:
  • プロジェクト定義のサーバーを有効化/無効化すると、新しい状態でコピーがユーザー設定に保存されます。元のプロジェクト設定は変更されないため、チームメンバーには影響しません。
  • プロジェクトサーバーはCLIや/mcpUI経由では削除できません。削除するには、.factory/mcp.jsonを直接編集してください。
  • droid mcp addやレジストリ経由で追加したサーバーは、常にユーザー設定に保存されます。

OAuthトークン

OAuthトークンはシステムキーリング(またはフォールバックファイル)にグローバルに保存され、プロジェクトごとではありません。あるプロジェクトでサーバーに認証すると、そのサーバーが設定されているすべての場所で認証されます。 サーバーの認証をクリアするには、/mcpインタラクティブマネージャーを使用し、「認証のクリア」を選択してください。

設定スキーマ

各サーバーエントリには以下が含まれます:
フィールド説明
type"stdio" | "http" | "sse"サーバータイプ。stdio サーバーでは省略でき、その場合は stdio がデフォルトになります。
disabledbooleanサーバーを一時的に無効化(デフォルト:false
enabledToolsstring[]このサーバーから読み込むツール名の許可リスト。設定した場合、列挙したツールだけがコンテキストに読み込まれます。
disabledToolsstring[]このサーバーから除外するツール名のブロックリスト。無効化したツールはコンテキストに読み込まれません。
timeoutMsnumberMCP ツール呼び出しタイムアウトのサーバー単位の上書き値(ミリ秒)。省略時はグローバル設定のデフォルトにフォールバックします。
stdioサーバーの場合:
  • command: 実行する実行可能ファイル
  • args: コマンドライン引数(配列)
  • env: 環境変数(オブジェクト)
http および sse サーバーの場合:
  • url: HTTP/HTTPSエンドポイントURL
  • headers: 認証用HTTPヘッダー(オブジェクト)
  • oauth: リモートサーバー用の任意の OAuth 上書き設定(オブジェクト)。対応フィールド:
    • scopes: 要求する OAuth スコープ(配列)
    • clientId: OAuth クライアント ID
    • clientSecret: OAuth クライアントシークレット
    • callbackPort: OAuth コールバックに使用するローカルポート
プロジェクトレベルの .factory/mcp.json はリポジトリにコミットされます。headers の認証トークン(例:Authorization)、oauth.clientSecret、API キーなどのシークレットは決してプロジェクト設定に入れないでください。これらはユーザーレベル設定(~/.factory/mcp.json)に置くか、環境変数で渡し、OAuth トークンには Droid の keyring を利用してください。
mcp.jsonの例:
{
  "mcpServers": {
    "linear": {
      "type": "http",
      "url": "https://mcp.linear.app/mcp",
      "disabled": false
    },
    "example-sse": {
      "type": "sse",
      "url": "https://mcp.example.com/sse",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      },
      "disabled": false
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"],
      "disabled": false
    }
  }
}
Droidは設定ファイルの変更時に自動的にリロードされるため、サーバーを追加した後すぐに利用可能になります。

変数展開

Droid は mcp.json の読み込み時に、${VAR}${VAR:-default} の参照を現在のシェル環境に対して展開します。これにより、シークレットをファイル本体に書かずに、シークレットマネージャー、.env ローダー、またはシェルプロファイルから読み込めます。 変数展開に対応している場所:
  • stdio サーバーの commandargs
  • stdio サーバーの env の値
  • http サーバーの url
  • http サーバーの headers の値
例 — API キーを環境変数から読み込む:
{
  "mcpServers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}"
      },
      "disabled": false
    },
    "airtable": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "airtable-mcp-server"],
      "env": {
        "AIRTABLE_API_KEY": "${AIRTABLE_API_KEY}"
      }
    }
  }
}
参照した変数が未設定で、かつデフォルト値も指定していない場合、droid はプレースホルダーをそのまま残し、次回そのサーバーを起動するときに警告を表示します。安全なデフォルト値を指定するには ${VAR:-fallback} を使ってください。
生の mcp.json ファイルが展開後の値で書き換えられることはありません。展開は読み込み時にメモリ上でのみ行われるため、シークレットはディスクやバージョン管理に残りません。

ツールごとのフィルタリング

サーバーは多数のツールを公開できますが、すべてを毎回のセッションに読み込む必要はありません。enabledToolsdisabledTools を使うと、mcp.json でツールの公開範囲を永続的に絞り込めます。これは droid exec で使える --enabled-tools / --disabled-tools フラグに対応しています。
  • disabledTools: ブロックリスト — サーバーが報告したツールのうち、列挙した名前以外を読み込みます。
  • enabledTools: 許可リスト — 列挙したツールのみを読み込みます。
  • 両方を設定した場合は enabledTools が優先され、disabledTools は無視されます。
  • フィルタで除外されたツールはモデルに登録されないため、コンテキストトークンを消費しません。
例 — ノイズの多いツールをブロックリスト化する:
{
  "mcpServers": {
    "my-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@some/mcp-server"],
      "disabledTools": ["tool_i_dont_need", "another_unused_tool"]
    }
  }
}
例 — 使うツールだけを許可リスト化する:
{
  "mcpServers": {
    "another-server": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "enabledTools": ["only_tool_i_want", "and_this_one"]
    }
  }
}
droid 内で /mcp を実行すると、サーバーが公開しているツールの完全な一覧を確認できます。その正確なツール名を enabledTools または disabledTools にコピーしてください。

MCP 呼び出しタイムアウト

デフォルトでは、droid はすべての MCP ツール呼び出しにグローバルタイムアウトを適用します。長時間実行されるツール(大規模なデータエクスポート、ブラウザー自動化、モデル連携サーバーなど)はこの既定値を超え、タイムアウトエラーになる場合があります。 サーバーごとに timeoutMs でタイムアウトを上書きできます:
{
  "mcpServers": {
    "slow-server": {
      "type": "stdio",
      "command": "my-long-running-server",
      "timeoutMs": 120000
    }
  }
}
settings.jsonmcp.callTimeoutMs 設定でグローバル既定値を設定することもできます:
{
  "mcp": {
    "callTimeoutMs": 60000
  }
}
優先順位(高い順):
  1. mcp.json のサーバー単位 timeoutMs
  2. settings.json のグローバル mcp.callTimeoutMs
  3. 組み込みのデフォルト値
タイムアウトを長くしても、droid が応答を待つ時間が変わるだけで、MCP サーバー自体やその上流 API が強制するタイムアウトが延長されるわけではありません。

Droid ごとのサーバー選択

カスタム Droid は、frontmatter の mcpServers フィールドを使って、使用を許可する設定済み MCP サーバーを選択できます。これにより、セッション内のすべてのサーバーを継承する代わりに、サブエージェントを特定のサーバー(例:mcpServers: ["linear", "github"])に限定できます。さらに細かく制御したい場合は、droid の tools リストに登録済みの正確な MCP ツールIDを指定できます。詳細は MCP サーバーの選択 を参照してください。

Enterprise MCP ポリシー

組織は、組織管理設定の mcpPolicy 設定を通じて、許可される MCP サーバーを集中的に制御できます。これにより、管理者は組織レベルで MCP アクセスを制限し、ユーザーが検証済みのサーバーにのみ接続できるようにします。
フィールド説明
enabledbooleanポリシー適用が有効かどうか。適用は enabledtrue のときだけ行われます。enabled がない、または false の場合、ポリシーは適用されず、設定済みの MCP サーバーが許可されます。
allowliststring[]許可されるサーバーマッチャーのリスト。ポリシーが有効な場合にのみ適用されます。各エントリは、リモート HTTP/SSE サーバーでは URL のホスト名に、stdio サーバーではコマンドと引数に一致します。設定されたサーバー名には一致しません。ポリシーが有効で allowlist が空または未設定の場合、すべてのサーバーがブロックされます。
組織管理設定の例:
{
  "mcpPolicy": {
    "enabled": true,
    "allowlist": ["mcp.linear.app", "mcp.sentry.dev", "npx"]
  }
}
mcpPolicy はエンタープライズ/組織レベルの設定で、管理設定を通じて適用されます。個々のユーザーが上書きすることはできません。ポリシーで許可されないサーバーは mcp.json に残り、設定にも読み込まれたままですが、実行・接続の対象から除外され、/mcp マネージャーでも利用可能としては表示されません。

MCP 自律性 URL オーバーライド

管理者は、組織管理設定 mcpAutonomyUrlOverrides を使って、リモート MCP サーバーの URL ごとに既定のリスクレベルを割り当てられます。このリスクレベルは 自律レベル と比較され、一致したサーバーのツールを Droid が実行する前に、どの程度確認を求めるかを制御します。 各ルールは、URL パターンをリスクレベルに対応付けます。
フィールド説明
urlPatternstringサーバーの URL に対して照合する glob パターン(picomatch 構文)。
defaultLevel"low" | "medium" | "high"一致したサーバーのツールに適用するリスクレベル。ユーザーの自律レベルと比較して、自動実行するか確認するかを決定します。
組織管理設定の例:
{
  "mcpAutonomyUrlOverrides": [
    { "urlPattern": "https://mcp.internal.example.com/**", "defaultLevel": "low" },
    { "urlPattern": "https://*.partner.example.com/**", "defaultLevel": "medium" },
    { "urlPattern": "https://**", "defaultLevel": "high" }
  ]
}

マッチングと優先順位

  • リモートサーバーのみ。 ルールが一致するのは URL を持つリモートサーバー(httpsse トランスポート)のみで、ローカルの stdio サーバーには影響しません。
  • 最初に一致したものが優先。 ルールは順番に評価されるため、より具体的なものを先に記述してください。
  • 安全性の下限。 ルールはツールのリスク 分類 を設定するものであり、プロンプトを絶対的に決めるものではありません。high に分類されたツールでも、通常の 自律レベル との比較に従います(別の安全チェックが介入しない限り、High 自律では追加確認なしで実行されます)。この下限は一方向で、lowmedium でも読み取り専用でないツール(破壊的なもの、または安全性メタデータがないもの)を high 未満に下げることはできません。つまり、読み取り専用ツールの確認は緩和できますが、破壊的なツールを自動承認することはできません。
  • フォールバック。 一致するルールがないサーバーには、Droid 組み込みのツールリスク分類(読み取り専用ヒントと厳選されたデフォルト)が使われます。
mcpAutonomyUrlOverrides は管理者が管理する(MDM)設定です。組織管理設定 を通じて配布され、ユーザーが上書きしたり弱めたりすることはできません。