MCP Server
Claude, ChatGPT, Cursor, VS Code, または任意の MCP クライアントをワークスペースに直接接続します。
SOIS を戦略的に活用する方法は, あなた自身のエージェントを持ち込むことです。Sois AI ワークスペースは完全な MCP サーバーなので, すでに使っている AI エージェントがワークスペースのツールに直接接続して推論を行います。ますます多くの人が SOIS コンソールにログインすることなく, 自分の Claude, ChatGPT, Cursor または Gemini に必要なことを伝え, MCP を介して SOIS を操作させています。コンソールはエージェントの活動を確認および管理する場所となり, 作業の主な手段ではなくなります。
Model Context Protocol を話す任意のクライアントが接続して, ワークスペースのツールを利用できます。連絡先の検索, タスクの作成, メールの送信, ドキュメントの管理など, 統合を一切書かずに実行できます。推論はあなた自身のエージェントが行うため, SOIS はあなたに代わって AI を消費しません。
1 つのエンドポイント。標準プロトコル。アカウントで利用できるすべてのツールが, 互換性のある任意のクライアントで利用できます。
1 つの URL
ワークスペースは単一の MCP エンドポイントを公開します。
https://<your-workspace>.sois.ai/api/mcp
サーバーはワークスペースのブランド (例: "Acme") で自身を識別するので, クライアント内であなた自身の名前で表示されます。以下のすべてはこの 1 つの URL に依存します。
認証方法は 2 つあります。OAuth が推奨パスで, Claude や ChatGPT のアプリ内コネクタが使用するものです。URL を貼り付けて一度承認するだけで, トークンを手動でコピーしたりローテーションしたりする必要はありません。Bearer トークン + API キーも, OAuth を行わないスクリプト, サーバー, クライアント向けにサポートされています。
オプション A: OAuth 2.1 (推奨, 貼り付けるものはなし)
最新の MCP コネクタはサインイン全体を自動で検出して完了します。URL を提供するだけです。
1. クライアント (例: Claude または ChatGPT) でカスタムコネクタを追加し, MCP URL を貼り付けます: https://<your-workspace>.sois.ai/api/mcp
2. クライアントはトークンなしでエンドポイントを呼び出し, 検出チャレンジを含む 401 を受け取ります。
WWW-Authenticate: Bearer resource_metadata="https://<your-workspace>.sois.ai/.well-known/oauth-protected-resource"
3. クライアントはそのメタデータを読み取り, ワークスペースの認可サーバーを見つけ, 自身を自動登録 (Dynamic Client Registration) し, サインインと同意画面を開きます。
4. SOIS アカウントで接続を承認します。クライアントは PKCE (回転するリフレッシュトークン付き) でトークンを受け取り, 動作を開始します。トークンが手動でコピーされることはありません。
安全性について。 認可サーバーはあなた自身のワークスペースドメインなので, トークンはテナントスコープでネットワーク外に出ることはありません。認可はあなたの役割です。付与されたトークンはあなたができること以上には決して実行できません。すべてのツール呼び出しは実行時に権限チェックされるためです。スコープ文字列は意図的に粗くしており, 本当の境界はユーザーごとの権限です。
認可サーバーが公開する内容:
| Property | Value |
|---|---|
| Authorization endpoint | /oauth/authorize |
| Token endpoint | /oauth/token |
| Registration endpoint | /oauth/register (Dynamic Client Registration) |
| Grant types | authorization_code, refresh_token |
| PKCE | required (S256) |
| Scopes | mcp, mcp:read, mcp:write, offline_access |
通常これらを自分で呼び出す必要はありません。準拠した MCP クライアントは URL を取得すると自動でフローを実行します。
オプション B: Bearer トークン + API キー (直接またはサーバーサイド)
OAuth を実装しないスクリプト, サーバー, または任意のクライアント向けです。2 つの認証情報を生成し, すべてのリクエストでヘッダーとして送信します。
1. Sois AI ワークスペースの 設定 > エージェントを接続 を開きます。
2. クライアント (Claude Desktop, Cursor, VS Code, または Generic) を選択し, 認証情報を生成 をクリックして Bearer トークン, API キー, およびすぐに使える設定スニペットを取得します。
3. 設定をクライアントに貼り付けます。
{
"mcpServers": {
"sois-workspace": {
"url": "https://<your-workspace>.sois.ai/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN",
"X-Api-Key": "YOUR_API_KEY"
}
}
}
}
Cursor は .cursor/mcp.json で同じ形式を使用します。VS Code は "mcp": { "servers": { ... } } の下に "type": "http" を付けてネストします。
| Header | Value | Purpose |
|---|---|---|
Authorization |
Bearer <token> |
Identity (Sanctum token, 90-day expiry) |
X-Api-Key |
sois_... |
Budget and usage tracking |
2 つの認証情報が必要な理由は, アイデンティティと支出が別だからです。トークンはあなたが誰であるかを証明し, キーはコストを制御および計測します。どちらか 1 つだけでは役に立ちません。(OAuth トークンは認可を異なる方法で運ぶため, オプション A のコネクタは X-Api-Key ヘッダーを必要としません。)
オンボーディングを自動化する場合は, このペアをプログラムで生成できます。
curl -X POST "https://<your-workspace>.sois.ai/api/mcp/quick-setup" \
-H "Authorization: Bearer YOUR_EXISTING_TOKEN" \
-H "Content-Type: application/json" \
-d '{"client": "generic"}'
検出エンドポイント
クライアントはワークスペースルートの 3 つの公開ドキュメントから必要なすべてを学習できます。
| Endpoint | Purpose |
|---|---|
/.well-known/mcp.json |
Server card: name, version, protocol version, and the OAuth metadata locations |
/.well-known/oauth-protected-resource |
RFC 9728: which authorization server protects this resource |
/.well-known/oauth-authorization-server |
RFC 8414: the authorize, token, and registration endpoints, grants, and PKCE method |
サーバーカードは authentication.type を oauth2 と報告し, 2 つの OAuth ドキュメントにリンクします。これによりコネクタはオプション A のフローを開始する方法を知ります。
プロトコルの詳細
エンドポイントは Streamable HTTP と JSON-RPC 2.0 (仕様バージョン 2025-06-18) を使用します。
セッションのライフサイクル
| Step | Request | Notes |
|---|---|---|
| Initialize | POST /api/mcp method initialize |
Negotiates capabilities; the response carries an Mcp-Session-Id header |
| List tools | POST /api/mcp method tools/list |
Returns every tool your account is allowed to use |
| Call a tool | POST /api/mcp method tools/call |
params.name + params.arguments |
| Keep-alive | GET /api/mcp with Mcp-Session-Id |
Opens an SSE stream for server-to-client messages |
| Teardown | DELETE /api/mcp with Mcp-Session-Id |
Ends the session |
初期化応答から得た Mcp-Session-Id を以降のすべてのリクエストに含めてください。
サポートされるメソッド
| Method | Description |
|---|---|
initialize |
Start a session, negotiate capabilities |
ping |
Health check |
tools/list |
List available tools with schemas |
tools/call |
Execute a tool by name with arguments |
notifications/initialized |
Client confirms initialization (no response) |
notifications/cancelled |
Client cancels a pending request (no response) |
利用可能なツール
tools/list は Sois AI 内であなたのアカウントができるすべてのことを, 権限でフィルタリングして返します。
- Contacts: search, create, update, summarise
- Tasks: create, assign, update status, search
- Calendar: list, create, update events, check availability
- Documents: search, create, update content
- Files: browse, upload, download
- Inbox: read, compose, send
- Departments and team: list and manage (admin)
- Installed apps: every tool added by the extensions you have installed (CRM, invoicing, warehouse, custom entities, and so on)
正確な一覧は認証されたユーザーの役割とインストール済みアプリによって異なります。ツールは権限でフィルタリングされ, フェイルクローズするので, 接続がユーザーに許可されていないものを呼び出すことはできません。
アプリビルダーも同じエンドポイントで動作します
アプリを構築するための別個の MCP サーバーはありません。extension-builder ツールは同じワークスペース MCP サーバーの一部として提供され, 同じ tools/list に表示されます。ただし, admin-gated であるため, ビルダー権限を持つアカウントにのみ表示されます。アカウントでアプリを構築できる場合, ツール一覧には以下も含まれます。
getExtensionRules,getExtensionFrameSpec(what an app must look like)createExtensionProject,listExtensionProjects,getExtensionStatusvalidateExtensionBundle,uploadExtensionBundle
アプリの構築は他のすべての操作と同じです。エージェントをワークスペースに 1 度接続するだけで, ビルダーであればビジネスを実行しながらアプリをスキャフォールド, 検証, 公開できます。すべて 1 つの /api/mcp エンドポイントを通じて行われます。ワークフローについては Build an app を参照してください。
(オペレーターがネットワークの機能を宣伝するために追加できる, 公開の読み取り専用 build-context コネクタとは混同しないでください。これはネットワークドメイン上の別個の, 認証不要のエンドポイントであり, あなたのワークスペース MCP サーバーではありません。)
予算, 制限, エラー
| What | Value |
|---|---|
| Rate limit | 120 requests/minute |
| Tool-call cost | metered as AI credits |
| Budget | per API key (Option B) or per workspace; you set the cap |
| Token expiry | 90 days (Option B Sanctum token); OAuth tokens refresh automatically |
標準の JSON-RPC エラーに加え, いくつかの固有のコードがあります。
| Code | Meaning |
|---|---|
-32001 |
Unauthorized or session expired (Option A connectors get the OAuth challenge here) |
-32002 |
Insufficient AI credits |
-32003 |
Tool not permitted for this account |
-32004 |
Budget cap reached |
接続をテストする
curl -X POST "https://<your-workspace>.sois.ai/api/mcp/test" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Api-Key: YOUR_API_KEY"
認証情報が有効か, それらから何個のツールが見えるかを返します。
あなた自身のエージェントを持ち込むことが戦略的な道です。 MCP Server により, あなた自身の AI クライアントが SOIS ツールを直接推論できるため, SOIS はあなたに代わって AI を消費しません。Chat Agent Gateway はエージェントを持たない呼び出し元向けの入り口です。HTTP 上の平易な英語メッセージで, SOIS 自身のエージェントが推論を行います。呼び出し元に合う方, または両方を使用してください。
代わりに Sois を外部の MCP サーバーに接続したい場合は, アウトバウンド接続向けの MCP Gateway を参照してください。