Model Context Protocol (MCP) サーバーは、追加のツールとコンテキストを提供することでdroidの機能を拡張します。Droidでは、簡単なブラウジングとセットアップのためのインタラクティブUIと、スクリプトや自動化のためのCLIコマンドの2つの管理方法を提供しています。
クイックスタート: レジストリから追加
最も簡単に始める方法は、組み込みレジストリを使用することです。droidで/mcpと入力し、**「レジストリから追加」**を選択して40以上の事前設定済みサーバーを参照できます:
| サーバー | 説明 |
|---|
| figma | デザインの探索と実装 |
| linear | 課題追跡とプロジェクト管理 |
| sentry | エラー追跡とパフォーマンス監視 |
| notion | ノート、ドキュメント、プロジェクト管理 |
| supabase | Supabaseプロジェクトの作成と管理 |
| stripe | 決済処理API |
| vercel | プロジェクトとデプロイメントの管理 |
| playwright | エンドツーエンドブラウザーテスト |
| hubspot | CRMデータ管理 |
| mongodb | データベース管理 |
| … | その他多数 |
リストからサーバーを選択し、必要に応じて認証を行う(ほとんどのHTTPサーバーはOAuthをサポート—ブラウザーのプロンプトに従ってください)と、サーバーがすぐに使用可能になります。
レジストリは最速で始める方法です。カスタムサーバーや自動化には、以下のCLIコマンドを使用します。
インタラクティブマネージャー(/mcp)
droid内で/mcpと入力すると、インタラクティブMCPマネージャーが開きます。ここから以下のことができます:
- サーバーの参照 - 設定済みのすべてのサーバーとその接続状況を確認
- ツールの表示 - 接続された各サーバーが提供するツールを検査
- 有効化/無効化 - サーバーを削除せずに一時的に無効化
- 認証 - ブラウザー経由でOAuth対応サーバーに接続
- 認証のクリア - サーバーの保存された認証情報を削除
- レジストリから追加 - 人気のあるMCPサーバーをワンクリックセットアップ
- サーバーの削除 - ユーザー設定のサーバーを削除
CLIでサーバーを追加
スクリプトや自動化には、droid mcp addを使用してください。Droidは2種類のサーバーをサポートしています:http(リモートエンドポイント)と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 http://mcp.stytch.dev/mcp --type http
多くのHTTPサーバーではOAuth認証が必要です。追加後は
インタラクティブな/mcp UIを使用して認証フローを完了します。
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と入力すると、MCPサーバーを管理するためのインタラクティブUIが開きます。
- 設定済みサーバーをステータス付きですべて表示
- 各サーバーが提供するすべてのツールを表示
- OAuth認証が必要なリモートサーバーの認証
- サーバーの追加/削除および有効化/無効化
MCPサーバーの設定は2つのレベルで保存できます:
| レベル | 場所 | 目的 |
|---|
| ユーザー | ~/.factory/mcp.json | 個人のサーバー、すべてのプロジェクトで利用可能 |
| プロジェクト | .factory/mcp.json | チーム共有サーバー、リポジトリにコミット |
レイヤー化の仕組み
ユーザー設定がプロジェクト設定よりも優先されます。両方のレベルで同じサーバーが定義されている場合、ユーザーレベルの設定が優先されます。
重要な動作:
- プロジェクト定義のサーバーを有効化/無効化すると、新しい状態でコピーがユーザー設定に保存されます。元のプロジェクト設定は変更されないため、チームメンバーには影響しません。
- プロジェクトサーバーはCLIや
/mcpUI経由では削除できません。削除するには、.factory/mcp.jsonを直接編集してください。
droid mcp addやレジストリ経由で追加したサーバーは、常にユーザー設定に保存されます。
OAuthトークン
OAuthトークンはシステムキーリング(またはフォールバックファイル)にグローバルに保存され、プロジェクトごとではありません。あるプロジェクトでサーバーに認証すると、そのサーバーが設定されているすべての場所で認証されます。
サーバーの認証をクリアするには、/mcpインタラクティブマネージャーを使用し、「認証のクリア」を選択してください。
設定スキーマ
各サーバーエントリには以下が含まれます:
| フィールド | 型 | 説明 |
|---|
type | "stdio" | "http" | サーバータイプ |
disabled | boolean | サーバーを一時的に無効化(デフォルト:false) |
enabledTools | string[] | このサーバーから読み込むツール名の許可リスト。設定されている場合、リストに記載されたツールのみがコンテキストに読み込まれます。 |
disabledTools | string[] | このサーバーから除外するツール名のブロックリスト。無効化されたツールはコンテキストに読み込まれません。 |
timeoutMs | number | MCP ツール呼び出しタイムアウトのサーバーごとの上書き(ミリ秒)。省略時はグローバルデフォルトにフォールバックします。 |
stdioサーバーの場合:
- command: 実行する実行可能ファイル
- args: コマンドライン引数(配列)
- env: 環境変数(オブジェクト)
httpサーバーの場合:
- url: HTTP/HTTPSエンドポイントURL
- headers: 認証用HTTPヘッダー(オブジェクト)
mcp.jsonの例:
{
"mcpServers": {
"linear": {
"type": "http",
"url": "https://mcp.linear.app/mcp",
"disabled": false
},
"playwright": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"],
"disabled": false
}
}
}
Droidは設定ファイルの変更時に自動的にリロードされるため、サーバーを追加した後すぐに利用可能になります。
変数展開
Droid は設定の読み込み時に、現在のシェル環境に対して mcp.json 内の ${VAR} および ${VAR:-default} 参照を展開します。これにより、シークレットをファイル自体から切り離し、シークレットマネージャー、.env ローダー、またはシェルプロファイルから取得できます。
変数展開がサポートされる箇所:
- stdio サーバーの
command および args エントリ
- 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 ファイルが展開後の値で書き換えられることはありません。展開は読み込み時にメモリ内で行われるため、シークレットがディスクやバージョン管理に残ることはありません。
ツール単位のフィルタリング
サーバーは多数のツールを公開することがあり、必ずしもすべてをすべてのセッションに読み込む必要はありません。enabledTools と disabledTools を使えば、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.json の mcp.callTimeoutMs 設定でグローバルデフォルトを変更することもできます:
{
"mcp": {
"callTimeoutMs": 60000
}
}
解決順序(優先度の高い順):
mcp.json 内のサーバーごとの timeoutMs
settings.json 内のグローバル mcp.callTimeoutMs
- 組み込みデフォルト
タイムアウトを延長しても変わるのは Droid がレスポンスを待つ時間だけで、MCP サーバー自身や上流の API が課すタイムアウトは延長されません。
Enterprise MCP ポリシー
組織は、組織管理設定の mcpPolicy 設定を通じて、許可される MCP サーバーを集中的に制御できます。これにより、管理者は組織レベルで MCP アクセスを制限し、ユーザーが検証済みのサーバーにのみ接続できるようにします。
| フィールド | 型 | 説明 |
|---|
enabled | boolean | 組織の MCP サポートを有効または無効にします。false の場合、すべての MCP サーバーがブロックされます。 |
allowlist | string[] | ユーザーが有効化を許可されるサーバー名の任意のリスト。設定されている場合、リストにないサーバーはすべてブロックされます。 |
組織管理設定の例:
{
"mcpPolicy": {
"enabled": true,
"allowlist": ["linear", "sentry", "notion"]
}
}
mcpPolicy はエンタープライズ/組織レベルの設定で、管理設定を通じて適用されます。個々のユーザーが上書きすることはできません。ポリシーによってブロックされたサーバーは、/mcp のレジストリブラウザに表示されず、mcp.json からも読み込まれません。