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.typeoauth2 と報告し, 2 つの OAuth ドキュメントにリンクします。これによりコネクタはオプション A のフローを開始する方法を知ります。


プロトコルの詳細

エンドポイントは Streamable HTTPJSON-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, getExtensionStatus
  • validateExtensionBundle, 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 を参照してください。