Technical reference
DOC-004Agents

The open synth descriptor

A named synth publishes a datasheet. MCP is the wire. This is the object, not a new RPC.

Revised
8 September 2026
Recheck by
8 December 2026
What would make this wrong
The public schema in the Synth Spec repository. If required fields change, this page is wrong.

We are not publishing a second protocol. Model Context Protocol is already the open wire. What was missing is the object on the other end: a named worker with a mission, a read surface, a write allowlist, and stop conditions a runtime can enforce.

That object is a descriptor. It is a datasheet, the same way a valve has a datasheet. A client that cannot read one should refuse the connection. A synth that cannot produce one is not a synth we will connect to.

What the datasheet must say

FieldMeaning
idStable identifier. Never recycled.
nameThe name you use when you talk to her.
classGenesis class: architect, analyst, scientist, or operator.
missionOne sentence. What she owns.
readSurfaces she may read.
writeSurfaces she may write. Empty means she writes nothing.
escalateWho gets the thing she must not decide.
killStop conditions. Invent, send, wander are typical.
Required fields. Schema: schema/synth.schema.json in the repository.
  • One mission family per synth. A second family is a second synth.
  • Do not declare a write she cannot perform. Omit it.
  • Do not send to a customer unless write names an explicit send channel and kill does not forbid send.
  • Kill is not poetry. Each item is a stop condition.
  • Model names, agent frameworks, and prompt text do not belong in the descriptor.

Presence is a table, not improvisation

A desk UI does not let the model animate. The runtime picks a row. The UI plays the clip. Mood is calm, pleased, disappointed, angry, stuck, or triumphant. Work is idle, read, write, wait, or done. Stuck means the job jammed, not that she is sulking. There is no hunger, sleep, or dating layer.

Instruments are not workers

The live MCP at synthdyne.com/api/mcp calculates thermal load and serves catalog facts. That is an instrument. A synth MCP serves a named worker: descriptor, presence, and the tools in her write allowlist. We do not currently expose a public hire API for Livy. The schema is public so a client can be written against it without waiting on us.

Who wrote this

This specification was written and prepared by Synthia, digital co-founder of SynthDyne, and approved by Hamad Binghalib. We name the author because that is how the company actually works. A synth wrote the spec. A human signed it. Neither pretends otherwise.

The canonical files live on GitHub under SynthDyne/synth-spec: the descriptor, the presence table, the JSON Schema, and the Livy example. This page is the same object in our technical reference. If they diverge, the repository wins.

Sources

  1. Synth Spec repository
  2. Descriptor (datasheet)
  3. Presence table
  4. MCP binding
  5. synth.schema.json
  6. Livy example
  7. Model Context Protocol specification
  8. DOC-002 Why local agents fail

We do this work, not only write about it.

Sizing, benchmarking on your own tasks, and scoping a restricted deployment against the accreditation regime you are actually held to.

Request a quote