One について
Oneは、Gmail、Slack、Shopify、Linearなどのチーム向けアプリを使うエージェント用のホスト型MCPサーバーです。接続済みの各プラットフォームから説明付きの操作を探して実行し、OAuthとアクセス制御にも対応します。
主な機能
- 011,000以上のアプリに接続
- 02プラットフォーム横断で操作と説明を検索
- 03接続済みアプリのAPI操作を実行
- 04接続、操作、権限ごとにアクセスを制限
- 05リクエストを中継し秘密情報を自動マスキング
活用シーン
- 01Gmailのメールを読んだりSlackに投稿
- 02Shopifyストアの商品を取得
- 03GmailやLinear向けの連携コードを生成
- 04エージェントの操作アクセスを限定
MCP 対応
Streamable HTTPを使うホスト型MCPエンドポイントを提供し、One OAuthで認証します。ローカルへのインストールにも対応し、連携一覧、操作検索、操作実行のツールを公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.withone.ai/mcpclaude mcp add --transport http one https://mcp.withone.ai/mcp{"mcpServers":{"one":{"type":"http","url":"https://mcp.withone.ai/mcp"}}}Cursor で開く{"servers":{"one":{"type":"http","url":"https://mcp.withone.ai/mcp"}}}VS Code で開く{"mcpServers":{"one":{"type":"http","url":"https://mcp.withone.ai/mcp"}}}{"mcpServers":{"one":{"serverUrl":"https://mcp.withone.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| action_id | string | はい | search_one_platform_actions が返すアクションのシステム ID(actionId フィールド)。 |
| connection_key | string | はい | 呼び出し元の接続の接続キー(list_one_integrations から取得)。 |
| data | any | いいえ | リクエストボディ。デフォルトは JSON です。is_form_url_encoded が設定されている場合はフォームデータとしてエンコードされます。 |
| headers | object|null | いいえ | 上流プラットフォームに転送する追加のリクエストヘッダー。 |
| is_form_data | boolean|null | いいえ | 未対応です。設定するとエラーが返されます。ボディは JSON として送信するか、is_form_url_encoded を使用して application/x-www-form-urlencoded 形式にしてください。 |
| is_form_url_encoded | boolean|null | いいえ | ボディを application/x-www-form-urlencoded 形式にエンコードします。 |
| path_variables | object|null | いいえ | アクションパス内の {var} / {{var}} プレースホルダーに代入する値。 |
| query_params | object|null | いいえ | リクエストに追加するクエリ文字列パラメーター。 |
詳細
One MCP Server
ウェブサイト · ドキュメント · ダッシュボード · 変更履歴 · X · LinkedIn
単一のMCPサーバーを通じて、AI エージェントを1000以上のアプリに接続できます。タスクに必要なアクションをドキュメントとともに見つけ、OAuth トークンや API キーを管理することなく、プラットフォームをまたいで API を呼び出せます。
npm install -g @withone/cli
one init
以上で完了です。One CLIが API キーの入力を求め(One ダッシュボードから取得できます)、環境に合わせて MCP サーバーを設定します。対応環境は、Claude Desktop、Cursor、Claude Code、Windsurf、および MCP 互換のあらゆるエージェントです。
機能
- 1000以上のプラットフォーム。 Gmail、Slack、Shopify、HubSpot、Stripe、Linear、QuickBooksなど、さらに多数に対応しています。
- 自然言語での実行。 「Gmailの最新メールを読む」、「Slackの#generalにメッセージを送る」
- コード生成。 「Gmailを使ってメールを送信するフォームを作成する」、「Linearのプロジェクトを一覧表示するダッシュボードを作成する」
- ツールの肥大化なし。 接続するプラットフォームやアクションの数にかかわらず、公開されるツールは3つだけです。1回の呼び出しで、タスクに必要なすべてのアクションとドキュメントをプラットフォーム横断で見つけるため、エージェントのコンテキストウィンドウをすっきり保てます。
- きめ細かなアクセス制御。 エージェントがアクセスできるアクション、接続、権限レベル(読み取り、書き込み、管理者)を制限できます。
- デフォルトで安全。 すべてのリクエストはOne経由でプロキシされ、シークレットは自動的にマスクされるため、各プラットフォームの API キーを管理する必要はありません。
使用例
アクションを直接実行する:
「Gmailから最新のメールを5件取得する」
「Slackの#generalに「10分後に会議があります」と送信する」
「Shopifyストアからすべての商品を取得する」
連携コードを生成する:
「Gmailを使ってメールを送信するReactフォームコンポーネントを作成する」
「Linearのユーザーと割り当て済みプロジェクトをフィルタリング付きで表示するダッシュボードを作成する」
「QuickBooksの請求書を検索・並べ替えできる、ページネーション対応のテーブルを作成する」
ツール
サーバーは3つのMCPツールを公開します。
| ツール | 説明 |
|---|---|
list_one_integrations | 利用可能なプラットフォームとアクティブな接続を、それぞれの接続で付与されるaccess(全アクセス、メソッド単位、または特定のアクション)とともに一覧表示します |
find_one_actions | タスクに必要な各操作のアクションを、プラットフォーム横断でドキュメントとともに1回の呼び出しで検索します。loadを使うと、ドキュメントの続きを取得したり、別の選択肢を取得したりできます |
execute_one_action | 接続済みのプラットフォームで API アクションを実行します |
アクションの検索
find_one_actions では、操作ごとに 1 つの requests エントリーを指定します。各エントリーには、ケバブケースの platform と、操作だけを示す短い intent を指定します(メッセージそのものではなく、「チャンネルにメッセージを送信する」)。task には作業全体を一般的な表現で記述し、ai_model には問い合わせるモデルの名前を指定します。エージェントには、似たアクションを区別するのに役立つため、検索のたびに両方を送信するよう求めています。各インテントに対して、One の判断モデルが使用するアクションを選びます。回答にはそのアクションの説明が含まれ、モデルが確信を持てなかった場合は代替案が区別され、ほかの候補もいくつか列挙されます。アクティブなプラットフォームが存在しない platform(click-up に対する clickup など)は検索されません。回答では、該当する可能性のあるプラットフォームが、近い順に提示されるため、エージェントは正しいプラットフォームを指定して再度問い合わせることができます。大きなドキュメントは要約として返されます。省略されたセクションを取得するには load: [{ action_id, section }] を指定して find_one_actions を再度呼び出し、ドキュメント全体を取得するには full: true、目次を取得するには toc: true を指定します。ONE_ACTION_IDS、ONE_PERMISSIONS、ONE_CONNECTION_KEYS はすべての回答に適用されます。これらの設定で拒否されたアクションが提示されることはなく、モデルの選択が拒否された場合は、次に許可された候補がその代わりになります。
1.x からのアップグレード:search_one_platform_actions と get_one_action_knowledge は削除されました。両方の機能を find_one_actions が置き換えます。
リモート MCP サーバー
ローカルで何も実行したくない場合は、One がホストするリモート MCP サーバー https://mcp.withone.ai/mcp をご利用ください。リモート(HTTP)サーバーに対応する MCP クライアントからこの URL を指定し、OAuth で One に認証します。npm install は不要で、管理が必要な ONE_SECRET もありません。One の同意画面でアクセスを承認する際に、エージェントに許可する接続、アクション、権限レベルを正確に指定できます。その設定は各接続の access フィールドを通じてエージェントに返されるため、検索しなくても実行できる内容がわかります。
クライアントの MCP 設定に追加してください。エンドポイントは Streamable HTTP トランスポートに対応しています。
{
"mcpServers": {
"one": {
"type": "http",
"url": "https://mcp.withone.ai/mcp"
}
}
}
クライアントによっては type が省略され、URL だけで設定できます。UI ベースのクライアント(カスタムコネクター)では、URL を指定するだけで構いません。初回接続時にクライアントがブラウザーを開き、One への認証と認可を行います。その後は、同じ 3 つのツールを利用できます。
ワンクリックでインストール:
Windsurf のリンクを開くと、エディターの MCP マーケットプレイスにある One のページが表示されます。このマーケットプレイスは、One が ai.withone/mcp として公開されている公式 MCP レジストリから提供されています。そのページからインストールすると、Windsurf が OAuth のサインインを処理します。
手動インストール
one init を使わずにサーバーを手動で設定する場合は、パッケージを直接インストールしてください。
npm install @withone/mcp
次に、必須の環境変数を設定します。
ONE_SECRET=your-one-secret-key
ID のスコープ設定
接続を特定の ID(ユーザー、チーム、組織など)に限定します。
ONE_IDENTITY=user_123
ONE_IDENTITY_TYPE=user
| 変数 | 説明 | 値 |
|---|---|---|
ONE_IDENTITY | エンティティの識別子(ユーザー ID、チーム ID など) | 任意の文字列 |
ONE_IDENTITY_TYPE | ID の種類 | user、team、organization、project |
設定すると、MCP サーバーは指定された ID に関連付けられた接続のみを返します。特定のユーザーやエンティティに連携を限定したいマルチテナントアプリケーションで便利です。
アクセス制御
MCP サーバーが参照・実行できる内容を細かく調整します。
ONE_PERMISSIONS=read
ONE_CONNECTION_KEYS=conn_key_1,conn_key_2
ONE_ACTION_IDS=action_id_1,action_id_2
ONE_KNOWLEDGE_AGENT=true
| 変数 | 型 | デフォルト | 説明 |
|---|---|---|---|
ONE_PERMISSIONS | read | write | admin | admin | HTTP メソッドでアクションをフィルタリングします。read = GET のみ、write = GET/POST/PUT/PATCH、admin = すべてのメソッド |
ONE_CONNECTION_KEYS | * またはカンマ区切りのキー | * | 表示される接続とプラットフォームを特定の接続キーに限定します |
ONE_ACTION_IDS | * またはカンマ区切りの ID | * | 表示・実行できるアクションを特定のアクション ID に限定します |
ONE_KNOWLEDGE_AGENT | true | false | false | execute_one_action ツールを完全に削除し、ナレッジ専用モードにします。この場合、find_one_actions は選択した各アクションのドキュメント全体と、コードからの呼び出し方法を返します。また、アプリケーションコードの作成に必要な Integration Code Guide(パススルー URL、x-one-* ヘッダー、ONE_SECRET / ONE_{PLATFORM}_CONNECTION_KEY 環境変数、バックエンドのみに配置すること)も返します |
すべてのデフォルト設定は現在の動作を維持します。アクセス制御の環境変数を設定しない場合、サーバーはフルアクセスですべてのツールを利用できる状態で起動します。
ここで設定した内容はエージェントにも提示されます。list_one_integrations は各接続に access フィールドを付与するため、エージェントは検索にターンを費やさなくても、各接続で実行できる内容を事前に把握できます。値は次のいずれかです。
access | 条件 |
|---|---|
{ "policy": "full" } | アクションの許可リストがなく、ONE_PERMISSIONS=admin の場合。すべてのアクションを実行できます。 |
{ "policy": "methods", "methods": ["GET", ...] } | アクションの許可リストはありませんが、ONE_PERMISSIONS が read / write の場合。指定された HTTP メソッドのみ実行できます。 |
{ "policy": "actions", "actions": [{ "actionId", "title", "method" }] } | ONE_ACTION_IDS が設定されている場合。その接続のプラットフォームに該当する指定アクションのみ実行できるため、検索は不要です。 |
手動設定
one init を使用した場合、以下の設定はすでに完了しています。次の例は、参照用または手動で設定する場合のものです。
スタンドアロン
npx @withone/mcp
Node.js 22.23.4+、24.22.1+ または 26.12.1+ が必要です。これより古い Node は侵害された eMudhra CA 証明書(2026 年 10 月)を信頼するため、ネットワーク上の攻撃者が ONE_SECRET を傍受する可能性があります。古い Node でもサーバーは起動しますが、すべてのツールがエラーを返し、Node のインストール方法に応じた更新コマンドが示されます。まだ更新できない場合は、ONE_ALLOW_UNPATCHED_NODE=1 を設定すると One を呼び出せますが、設定中は引き続き危険にさらされます。
Claude Desktop / Cursor
MCP 設定に次の内容を追加します。
- Claude Desktop: MacOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json· Windows:%APPDATA%/Claude/claude_desktop_config.json - Cursor: Cursor メニューを開き、「MCP Settings」を選択します
{
"mcpServers": {
"one": {
"command": "npx",
"args": ["@withone/mcp"],
"env": {
"ONE_SECRET": "your-one-secret-key"
}
}
}
}
Docker
docker build -t one-mcp-server .
docker run -e ONE_SECRET=your_one_secret_key one-mcp-server
上記のすべての環境変数は、-e フラグで渡すことができます。
セキュリティ
サードパーティのプラットフォームへのリクエストはすべて認証され、One の API を介してプロキシされます。MCP サーバーが OAuth トークンやプラットフォームの API キーを直接扱うことはありません。必要な認証情報は ONE_SECRET キーのみで、クライアントに返されるすべてのレスポンスペイロードから自動的にマスキングされます。機密性の高いヘッダーは、ログに記録されるリクエスト設定および返されるリクエスト設定から削除されます。
ライセンス
MIT
サポート
サポートについては、[email protected] にお問い合わせいただくか、https://withone.ai をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。