Skip to main content
Synth Tag is the session-shaped delegate API for Managed Research. Use it when you want to hand Synth one task from the SDK or MCP, steer the same active run, and retrieve a receipt when the run reaches a terminal state. Tag v1 is SDK and MCP only. It does not ship Slack, CLI commands, access bundle CRUD, memory, routines, a web console, or automatic Factory linking.

When to use Tag

Use Tag for one-off delegated work:
  • investigate a benchmark failure
  • summarize a repository or run result
  • produce a short research note with a definition of done
  • give an MCP-enabled agent a smaller task surface than the full Factory API
Use Research Factories when you need a durable program with repeated Efforts, scheduling, status projections, and follow-up runs.

Install and authenticate

Install the Research SDK package selected in the release checklist:
For local development against a slot backend, pass the backend URL explicitly:

Create a session

sessions.create creates a Tag session, starts its bound Managed Research run, and returns both session_id and run_id.
If you omit scope_id, the backend creates or reuses the default Tag scope for the organization.

Steer the active run

Use sessions.messages.send to add guidance to the same Tag session. A successful steer keeps the same run_id; it does not start another run.

Poll for the receipt

sessions.get returns coarse status: queued, running, done, or failed. When the session is terminal, the receipt includes the run id, terminal state, run URL, and either artifact URLs or an explicit empty-artifact reason.

Smoke script

The synth-ai package includes examples/tag_delegate_smoke.py for delegate, steer, and receipt checks:
The synth-dev wrapper loads SYNTH_API_KEY from the local synth-ai/.env and maps slot ports:

MCP tools

Tag tools intentionally use tag_* names so delegate sessions do not collide with the lower-level smr_* Factory and run-control tools.

Tag vs Factory

Tag can later link into Factory programs, but v1 treats Factory linking, Gardener, Seraph, routines, and memory as future work.

Limits and errors

Tag uses existing organization-level Managed Research limits. Launch denials surface through the same error classes as normal runs: See Preflight and Errors for the broader Managed Research launch-denial vocabulary.

Beta scope

Synth Tag v1 ships:
  • SDK and MCP delegate/steer/receipt
  • default Tag scope per organization
  • optional definition of done stored on the session and passed into the run
  • run receipts with artifact pointers or explicit empty-artifact reasons
Coming later: CLI, access bundles, live checklist items, memory, routines, Factory program linking, and messaging adapters such as Slack or Linear.