AI Research & Engineering · Multi-Agent Coordination

RFC: HCT Coordination Signals for MCP

The Full Protocol Specification
HCT-MCP Signals RFC

Status: Public Preview
Target: AAIF/MCP Working Group

Implementations:


Abstract

This RFC proposes extending the Model Context Protocol (MCP) with coordination semantics derived from Harmonic Coordination Theory (HCT). While MCP excels at tool/resource connections, it lacks standard vocabulary for expressing urgency, resource intensity, approval gates, and synchronization—concepts essential for robust, scalable multi-agent coordination.


Problem Statement

MCP provides tasks/send and tasks/sendSubscribe for task dispatch, but offers no standard way to express:

  1. Urgency/Priority: "Process this immediately" vs "batch for later"
  2. Resource Intensity (Dynamics): "Use cheap/fast model" vs "Use expensive Chain-of-Thought"
  3. Approval Gates: "Hold until human approves"
  4. Synchronization: "Wait for all agents before proceeding"
  5. Quality Thresholds: "Repeat until quality score > 0.9"

Without these semantics, agents must implement ad-hoc coordination logic in prompts or side-channels, leading to fragmented, non-interoperable systems.


Proposal: HCT Signal Extension

We propose 7 coordination signals as an optional MCP extension (hct_signal), inspired by musical ensemble coordination but strictly defined for computational utility.

Signal Definitions

SignalMCP MethodSemanticsComputational Utility
cuetasks/sendTrigger agent activationStandard task dispatch / Handoff
fermatatasks/sendSubscribeHold for approvalHuman-in-the-loop / Governance Gates
attaccatasks/sendImmediate transitionLow-latency / Real-time handoff
vamptasks/sendSubscribeRepeat until conditionPolling / Retry loops / Quality Gates
caesuratasks/cancelFull stopEmergency shutdown / Circuit Breaker
tacetN/AAgent inactiveResource conservation / Sleep
downbeatnotifications/messageGlobal sync pointBarrier synchronization

Performance Parameters (Metadata)

HCT signals carry "Performance" metadata that dictates how the task should be executed.

Dynamics: Resource Intensity Control

Musical dynamics mapped to Token/Compute Budget.

MarkingLevelResource MultiplierUse Case
ppPianissimo< 0.5xCache/Lookup: Use cheapest model, no reflection, retrieval only.
pPiano0.8xEfficient: Standard model, zero-shot.
mfMezzo-Forte1.0xStandard: Recommended model, standard prompt chain.
fForte1.5xDeep: Models with reasoning (e.g., o1), multi-shot.
ffFortissimo> 2.0xMaximum Depth: Ensemble voting, extensive Chain-of-Thought.

Tempo: Execution Urgency

Musical tempo mapped to Latency/Priority.

MarkingLevelPriorityUse Case
LargoSlowBatch/LowBackground tasks, deep analysis (no deadline).
ModeratoModerateNormalStandard interactive tasks.
PrestoFastReal-timeLatency-critical flows, user-facing voice/chat.

JSON Schema Extension

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "HCT-MCP Signal Extension",
  "type": "object",
  "properties": {
    "hct_signal": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["cue", "fermata", "attacca", "vamp", "caesura", "tacet", "downbeat"]
        },
        "performance": {
          "type": "object",
          "properties": {
            "urgency": {"type": "integer", "minimum": 1, "maximum": 10},
            "tempo": {"type": "string", "enum": ["largo", "andante", "moderato", "allegro", "presto"]},
            "dynamics": {
                "type": "string",
                "enum": ["pp", "p", "mf", "f", "ff"],
                "description": "Resource intensity: pp=minimal (<0.5x), mf=standard (1.0x), ff=high depth (>1.5x)"
            },
            "timeout_ms": {"type": "integer"}
          }
        },
        "context": {
            "type": "object",
            "description": "Optional: Transport context for maintained state (typically managed by hct-core)",
            "properties": {
                "movement": { "type": "string" },
                "objectives": { "type": "array", "items": { "type": "string" } },
                "reference_frame": { "type": "object" },
                "prior_outputs": { "type": "array" }
            }
        },
        "conditions": {
          "type": "object",
          "properties": {
            "hold_type": {"type": "string", "enum": ["human", "governance", "resource", "quality"]},
            "repeat_until": {"type": "string"},
            "quality_threshold": {"type": "number", "minimum": 0, "maximum": 1}
          }
        }
      },
      "required": ["type"]
    }
  }
}

Examples

CUE with High Resource Intensity (ff)

{
  "jsonrpc": "2.0",
  "method": "tasks/send",
  "params": {
    "id": "task-123",
    "message": {
      "role": "user",
      "content": "Analyze Q4 revenue anomalies"
    },
    "hct_signal": {
      "type": "cue",
      "performance": {
        "urgency": 8,
        "tempo": "allegro",
        "dynamics": "ff"
      },
      "context": {
          "movement": "financial_analysis",
          "objectives": ["identify_root_cause"]
      }
    }
  }
}

FERMATA with Human Approval

{
  "jsonrpc": "2.0",
  "method": "tasks/sendSubscribe",
  "params": {
    "id": "task-456",
    "message": {
      "role": "user",
      "content": "Ready to deploy to production"
    },
    "hct_signal": {
      "type": "fermata",
      "conditions": {
        "hold_type": "human",
        "timeout_ms": 3600000
      }
    }
  }
}

Common Patterns

HCT signals enable standardized implementation of common multi-agent design patterns. See the Patterns Library for full documentation.

Human-in-the-Loop (Fermata)

When an agent requires external input or authorization, it emits a FERMATA. This explicitly signals a pause in the workflow until a resolution (Downbeat) is provided.

  • A2A Map: tasks/sendSubscribe
  • Signal: type="fermata", reason="..."

Status Streaming (Ostinato)

Long-running agents emit periodic low-priority CUE signals to indicate liveness and progress.

  • A2A Map: Repeating tasks/send or stream chunks
  • Signal: type="cue", performance.dynamics="pp"

Compatibility

  • Backward Compatible: The hct_signal field is optional; existing MCP clients/servers ignore it.
  • Graceful Degradation: Servers that don't support HCT signals process the base message normally.
  • Discovery: Servers can advertise HCT support via capabilities.hct_signals: true.

Rationale

Why Musical Metaphors? (Hybrid Coordination)

As AI agents move from pilot to production, teams become hybrid ensembles of humans and agents. Music provides a centuries-proven vocabulary for:

  1. Distributed Sync: Getting 100+ actors to align without centralized locking (downbeat).
  2. Shared Semantics: Humans intuitively understand "CUE" (start) and "FERMATA" (hold/pause), bridging the gap between technical protocols and human workflow.
  3. Nuance: "Dynamics" allows expressing the quality of effort (quick sketch vs. masterpiece) in a way that rigid "sim/med/hard" flags do not capture.

Why Extend MCP?

MCP is establishing the standard transport layer for tools. By layering coordination semantics on top of MCP, we avoid protocol fragmentation and allow coordination patterns to ride on existing infrastructure.


References