MCP

Sealith MCP をローカル実行型クライアントに接続する

HTTP JSON-RPC の MCP endpoint を公開しています。Business プランなら、AI クライアントから secure handoff と監査ログ追記を呼べます。ただしファイル転送の完結性は、クライアントがローカルコマンドやローカルファイルに触れられるかに依存します。

Endpoint

https://www.sealith.com/api/mcp

認証は Authorization: Bearer sl_agent_... です。

サポートするメソッドは initializetools/listtools/call です。

AI 起点の呼び出しでは purposejobIdaiProvideraiClient が必須です。aiModel は任意です。

Business 以上で利用できます。

URL共有と短い text file は広く扱えますが、PDF・画像・Office などのバイナリ file はクライアント実行環境によって完結可否が変わります。

Slack 連携も Business 以上ですが、こちらは MCP ではなく Web アプリ側の workspace 接続と posting policy で扱います。MCP と Slack delivery は同じ handoff / revoke / audit 基盤を共有します。

MCP が向く場面

Claude Code や Cursor のようにローカル実行しやすいクライアントへ handoff 操作を渡したいときに向いています。短い text file は 1 回で完結し、Google Drive や Box の URL共有は即時完了です。PDF・画像・Office などのバイナリは、ローカル環境では helper upload が使いやすく、Claude App や ChatGPT のようなリモート実行型クライアントではクライアント側のネットワークや添付仕様を確認する必要があります。

受信側での広げ方

受信企業も Sealith アカウントを持つなら、受信後の資料を自社 AI で処理する次のワークフローに MCP を使えます。受信の瞬間より、その後の社内処理で効く設計です。

ツール一覧

create_secure_handoff

暗号化ファイル共有または監査付きURL共有の handoff を作成します。

upload_handoff_chunk

generic MCP クライアント向けの後方互換フローです。upload session に base64 chunk を追加します。

complete_handoff_upload

generic MCP クライアント向けの後方互換フローです。chunk upload を完了し、暗号化・確定処理へ進めます。

cancel_handoff_upload

進行中の大容量ファイル upload session を取り消します。

get_handoff_status

handoff 状態を返します。

finalize_handoff

従来の file upload フローや手動制御時に handoff を有効化し、通知を送ります。

receive_handoff

人が送った handoff を AI が受信します。file では暗号パラメータ、url では targetUrl を返します。

revoke_handoff

handoff を共有停止します。

get_handoff_logs

監査ログを返します。

append_audit_context

purpose、jobId、note、result を監査ログへ追記します。

list_handoffs

キーワード・ステータス・宛先・日付でこの token が作成した handoff を検索します。transfer ID を覚えていなくても探せます。

bulk_revoke_handoffs

複数の handoff をまとめて取り消します。理由を監査ログに残せます(最大20件)。

get_org_usage

プランの上限値と今月の転送利用状況(残件数・リセット日)を返します。

verify_audit_integrity

SHA-256 ハッシュチェーンを全件検証し、監査ログの改ざん有無を確認します。コンプライアンス証跡として利用できます。

JSON-RPC 例

MCP クライアントを使わず自前で疎通確認する場合は、text file / binary file / URL / receive の4パターンを押さえると全体像がつかめます。binary file はクライアント側のローカル実行権限も合わせて確認してください。

initialize

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {}
}

tools/list

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list"
}

tools/call create_secure_handoff

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "create_secure_handoff",
    "arguments": {
      "purpose": "contract_review",
      "jobId": "job_20260423_001",
      "aiProvider": "anthropic",
      "aiClient": "claude_code",
      "aiModel": "claude-sonnet-4",
      "type": "file",
      "fileName": "nda.txt",
      "fileSizeBytes": 32,
      "textContent": "Sealith MCP inline upload test",
      "recipients": [{ "email": "legal@example.com", "name": "法務担当" }],
      "message": "レビューをお願いします。",
      "securityMode": "standard",
      "expiresInHours": 72,
      "maxDownloads": 3,
      "sensitivityLevel": "confidential"
    }
  }
}

tools/call create_secure_handoff (大容量 file の開始)

{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "tools/call",
  "params": {
    "name": "create_secure_handoff",
    "arguments": {
      "purpose": "board_pack_review",
      "jobId": "job_20260507_001",
      "aiProvider": "anthropic",
      "aiClient": "claude_code",
      "idempotencyKey": "board-pack-2026-05",
      "type": "file",
      "fileName": "board-pack.pdf",
      "fileSizeBytes": 10485760,
      "mimeType": "application/pdf",
      "recipients": [{ "email": "legal@example.com" }],
      "securityMode": "standard"
    }
  }
}

tools/call create_secure_handoff (URL共有)

{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "tools/call",
  "params": {
    "name": "create_secure_handoff",
    "arguments": {
      "purpose": "dd_link_review",
      "jobId": "job_20260423_002",
      "aiProvider": "openai",
      "aiClient": "chatgpt_connector",
      "type": "url",
      "url": "https://drive.google.com/file/d/xxx/view",
      "title": "DD資料共有リンク",
      "recipients": [{ "email": "legal@example.com", "name": "法務担当" }],
      "message": "リンク先の資料確認をお願いします。",
      "securityMode": "standard",
      "expiresInHours": 72,
      "maxDownloads": 3,
      "sensitivityLevel": "confidential"
    }
  }
}

tools/call receive_handoff

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "receive_handoff",
    "arguments": {
      "transferId": "tr_xxxxxxxxxxxxxxxx",
      "passcode": "A2b!C3d@E4f#G5h$",
      "purpose": "contract_review",
      "jobId": "job_20260423_001",
      "aiProvider": "anthropic",
      "aiClient": "claude_app",
      "recipientEmail": "legal@example.com"
    }
  }
}

Claude Code

Claude Code の公式ドキュメントでは、リモート MCP は HTTP transport を推奨しています。CLI で追加するか、.mcp.json に HTTP server を定義できます。

claude mcp add --transport http sealith https://www.sealith.com/api/mcp \
  --header "Authorization: Bearer ${SEALITH_AGENT_TOKEN}"
{
  "mcpServers": {
    "sealith": {
      "type": "http",
      "url": "https://www.sealith.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${SEALITH_AGENT_TOKEN}"
      }
    }
  }
}

Cursor

Cursor は公式に local / remote の MCP transport を持っています。ローカル実行型のため、helper を使う binary file 転送とも相性が良いです。設定では mcpServers に URL と header を渡し、トークンは直接書かず環境変数参照にしてください。

{
  "mcpServers": {
    "sealith": {
      "url": "https://www.sealith.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:SEALITH_AGENT_TOKEN}"
      }
    }
  }
}

ChatGPT / Claude App

ChatGPT の custom connectors や Claude App の remote MCP は利用できますが、binary file 転送はローカル helper や shell upload の可否がクライアント実装に依存します。現時点では URL共有、監査ログ、短い text file を先に検証し、PDF・画像・Office の完結性は個別クライアントで確認する前提が安全です。

1Password

1Password は MCP クライアントではなく、Sealith Agent Token を平文で持たないための運用導線として使うのが自然です。1Password Environments や CLI で環境変数に供給してから、Cursor / Claude Code の設定で参照します。

1. 1Password Environments で SEALITH_AGENT_TOKEN を管理する
2. ローカル .env file destination か 1Password CLI で環境変数として取り出す
3. Cursor / Claude Code の MCP 設定では平文ではなく環境変数参照を使う

例:
SEALITH_AGENT_TOKEN=sl_agent_...

実行環境の考え方

Claude Code / Cursor はローカル helper やローカルファイル参照と相性が良く、binary file 転送を組み込みやすいクライアントです。

Claude App / ChatGPT は remote MCP や custom connector としては接続できますが、binary file 転送の完結性はクライアント側の shell / network / attachment 仕様に依存します。

エラーコード

codemessage意味
-32600invalid_requestJSON-RPC の形式が不正です。method がありません。
-32601method_not_foundinitialize / tools/list / tools/call 以外を呼んでいます。
-32602tool_name_requiredtools/call で params.name がありません。
-32000tool_call_failed下位の Agent API 呼び出しが失敗しました。content 内に API エラー JSON が入ります。
-32001feature_not_available_on_planBusiness 未満のため MCP を使えません。

使い分け

アプリやバックエンドへ組み込むなら REST API + OpenAPI が向いています。

Claude Code や Cursor のようなローカル実行型クライアントに handoff 操作を渡すなら MCP が向いています。text file、binary file、URL共有を同じ契約で扱えます。

どちらも同じ Agent Token 制約を使うので、運用ルールを分けずに済みます。

監査ログは REST と MCP のどちらから呼んでも同じ形式で蓄積されます。

MCP guide