Skip to main content
Status: Request for Comments Last Updated: January 25, 2026 本ドキュメントは Signals Protocol の仕様を定義します。ここで使用する “MUST”、“MUST NOT”、“REQUIRED”、“SHALL”、“SHALL NOT”、“SHOULD”、“SHOULD NOT”、“RECOMMENDED”、“MAY”、“OPTIONAL” といったキーワードは、RFC 2119 に従って解釈してください。

Abstract

Signals Protocol は、AI を活用したシグナルの探索・有効化・管理システムの標準インターフェースを定義します。このプロトコルにより、AI アシスタントは自然言語での対話を通じて、マーケターがデータシグナル(オーディエンス、コンテキスト、地理、時間、多次元データ)を発見・有効化・管理できるよう支援します。

Protocol Overview

Signals Protocol では次のことが可能です。
  • マーケティング目的に基づく自然言語でのシグナル探索
  • 1 回のリクエストで複数プラットフォームのシグナルを探索
  • 特定のプラットフォームやアカウントへのシグナル有効化
  • CPM やレベニューシェアモデルによる透明な価格提示
  • 個人・デバイス・世帯など単位別のシグナル規模報告

Transport Requirements

シグナルエージェントは以下のいずれか少なくとも 1 つのトランスポートをサポートしなければなりません。
TransportProtocolDescription
MCPModel Context ProtocolTool-based interaction via JSON-RPC
A2AAgent-to-AgentMessage-based interaction
シグナルエージェントは優先トランスポートとして MCP をサポートすることが推奨されます。 シグナルエージェントは get_adcp_capabilities で Signals Protocol のサポートを宣言しなければなりません。
{
  "$schema": "https://adcontextprotocol.org/schemas/v2/protocol/get-adcp-capabilities-response.json",
  "adcp": { "major_versions": [2] },
  "supported_protocols": ["signals"]
}

Core Concepts

Request Roles

すべてのシグナルリクエストには 2 つの役割が存在します。
  • Orchestrator: API リクエストを送るプラットフォーム(例: Scope3, Claude)
  • Principal: リクエストが代行される主体(例: Nike, Omnicom)

Signal Agent Types

プライベートシグナルエージェント — プリンシパルが専有し、専用アクセスを持つもの:
  • 権限のないプリンシパルに対しては AGENT_NOT_FOUND を返さなければなりません
  • 他のプリンシパルにプライベートシグナルを公開してはなりません
マーケットプレイスシグナルエージェント — 複数のプリンシパルにシグナルデータをライセンス提供するもの:
  • プリンシパル登録なしでの公開カタログアクセスをサポートしなければなりません
  • 登録済みプリンシパル向けのパーソナライズされたカタログをサポートすることが推奨されます

Identifiers

  • signal_agent_segment_id: シグナルを一意に識別する ID。シグナルエージェントは各シグナルに対してこれを返さなければなりません。オーケストレーターは activate_signal リクエストでこれを使用しなければなりません。
  • activation_key: キャンペーンのターゲティングに使うキー。is_live: true かつ呼び出し元がデプロイメントへのアクセス権を持つ場合、シグナルエージェントはこれを返さなければなりません。オーケストレーターはターゲティングに activation_key を使用し(signal_agent_segment_id ではなく)、なければなりません。

Tasks

Signals Protocol は 2 つのタスクを定義します。完全なリクエスト/レスポンススキーマと例はタスクリファレンスを参照してください。

get_signals

Schema: get-signals-request.json / get-signals-response.json Reference: get_signals task キャンペーン条件に合致するシグナルを探索します。 要件:
  • オーケストレーターは signal_specdeliver_to を含めなければなりません
  • シグナルエージェントはレスポンススキーマに定義された必須フィールドをすべて返さなければなりません
  • is_live: true かつ呼び出し元がデプロイメントにアクセスできる場合、シグナルエージェントは activation_key を含めなければなりません

activate_signal

Schema: activate-signal-request.json / activate-signal-response.json Reference: activate_signal task 意思決定プラットフォームで使用するためにシグナルを有効化します。 要件:
  • オーケストレーターは signal_agent_segment_iddeployments を含めなければなりません
  • 成功時、シグナルエージェントは各デプロイメントの is_live を含む deployments 配列を返さなければなりません
  • is_live: true かつ呼び出し元がデプロイメントにアクセスできる場合、シグナルエージェントは activation_key を返さなければなりません
  • 失敗時、シグナルエージェントは errors 配列を返さなければならず(deployments 配列は含めない)

Error Handling

シグナルエージェントは 標準の AdCP エラースキーマ に従ってエラーを返さなければなりません。 シグナルエージェントは エラーハンドリングリファレンス で定義された Signals Protocol のエラーコードを使用しなければなりません。

Security Considerations

Transport Security

Signals Protocol の通信はすべて TLS 1.2 以上の HTTPS を使用しなければなりません。

Authentication

  • オーケストレーターは有効な認証情報を用いてシグナルエージェントに認証しなければなりません
  • シグナルエージェントはリクエストを処理する前に認証情報を検証しなければなりません
  • シグナルエージェントはプリンシパルのコンテキストを利用してカタログのアクセスレベルを判断することが推奨されます

Activation Key Security

  • シグナルエージェントは認証済みでデプロイメントにアクセスできる呼び出し元にのみ activation_key を返さなければなりません
  • 呼び出し元がアクセスできないデプロイメントに対するアクティベーションキーを返してはなりません

Data Minimization

  • シグナルエージェントはプリンシパルがアクセスを許可されていないシグナルを返してはなりません

Conformance

Signal Agent Conformance

準拠した Signals Protocol エージェントは次を満たさなければなりません。
  1. 指定されたトランスポート(MCP または A2A)のうち少なくとも 1 つをサポートする
  2. スキーマに沿って get_signalsactivate_signal タスクを実装する
  3. レスポンススキーマで定義された必須フィールドを返す
  4. 規定のエラーコードを使用する
  5. プライベートシグナルとアクティベーションキーへのアクセス制御を適用する

Orchestrator Conformance

準拠した Signals Protocol オーケストレーターは次を満たさなければなりません。
  1. シグナルエージェントと認証を行う
  2. リクエストスキーマで定義された必須フィールドを含める
  3. 非同期の有効化レスポンスを処理する
  4. キャンペーンターゲティングに activation_key を用いる

Implementation Notes

Multi-Platform Discovery

オーケストレーターは 1 回の get_signals 呼び出しで複数プラットフォームにわたるシグナルを要求してもかまいません。 シグナルエージェントは要求されたすべてのプラットフォームについてデプロイ情報を返すことが推奨されます。

Activation Timing

シグナルの有効化は通常非同期です。
  • シンプルな有効化: 1〜2 時間
  • 複雑なデプロイ: 最大 24〜48 時間
オーケストレーターは有効化リクエスト直後に利用可能になると仮定してはなりません。

Schema Reference

SchemaDescription
signals/get-signals-request.jsonget_signals request
signals/get-signals-response.jsonget_signals response
signals/activate-signal-request.jsonactivate_signal request
signals/activate-signal-response.jsonactivate_signal response
core/deployment.jsonDeployment target
core/activation-key.jsonActivation key