Agents
Agent packaging
MCP server, CLI, and installable skills for the /v1 agent API.
Audryo already exposes OpenAPI, an agent manifest, and scoped workspace tokens. This guide is the packaged way to use that surface from Claude, Cursor, or a terminal without reading the whole docs set.
In-repo package: `packages/audryo`
What you get
| Surface | Use it for |
|---|---|
| MCP server | list_journeys, draft_campaign, get_delivery_health, ingest, activate |
audryo CLI | contacts, events, transactional send, journey inspect/activate |
| Skills | API usage, email authoring, sending best practices |
Authorization is unchanged: send Authorization: Bearer sf_live_... with the scopes created at Settings → Agent access. Rails still enforces read / write / deliver.
Environment
export AUDRYO_API_BASE="http://localhost:3100/v1"
export AUDRYO_API_KEY="sf_live_..."
export AUDRYO_PROJECT_ID="<project-uuid>"GET /bootstrap lists the projects the token can see. Create the token in the app; the secret is shown once.
MCP
node packages/audryo/bin/audryo.js mcpExample Cursor / Claude Desktop config:
{
"mcpServers": {
"audryo": {
"command": "node",
"args": ["packages/audryo/bin/audryo.js", "mcp"],
"env": {
"AUDRYO_API_BASE": "http://localhost:3100/v1",
"AUDRYO_API_KEY": "sf_live_...",
"AUDRYO_PROJECT_ID": "<project-uuid>"
}
}
}
}A coding agent can then list journeys, draft a campaign, and inspect delivery health without a handwritten curl script.
CLI
node packages/audryo/bin/audryo.js bootstrap
node packages/audryo/bin/audryo.js contacts ingest contacts.json
node packages/audryo/bin/audryo.js events ingest events.json
node packages/audryo/bin/audryo.js journeys list
node packages/audryo/bin/audryo.js journeys inspect "$WORKFLOW_ID"
node packages/audryo/bin/audryo.js journeys activate "$WORKFLOW_ID"
node packages/audryo/bin/audryo.js campaigns draft \
--name "July update" --audience-id "$AUDIENCE_ID" --subject "What's new"
node packages/audryo/bin/audryo.js transactional send \
--message-id "$MESSAGE_ID" \
--email amelia@example.com \
--idempotency-key receipt-ord_1842
node packages/audryo/bin/audryo.js delivery healthaudryo events ingest POSTs the file to /projects/{projectId}/event_ingestion. The enrollment side effects are the same as calling that endpoint directly.
Ingest JSON may be a raw array or { "events": [ ... ] } / { "contacts": [ ... ] }.
Skills
| Skill | Path |
|---|---|
| API usage | packages/audryo/skills/api-usage/SKILL.md |
| Email authoring | packages/audryo/skills/email-authoring/SKILL.md |
| Sending best practices | packages/audryo/skills/sending-best-practices/SKILL.md |
This repository also installs copies under .cursor/skills/audryo-*.
Scopes
| Action | Scope |
|---|---|
| List / inspect | read |
| Ingest, draft campaign, propose journey | write |
| Activate/pause journey, campaign send, transactional send | deliver |
Proposals stay reviewable. Do not activate or send unless the operator explicitly asked.