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

SurfaceUse it for
MCP serverlist_journeys, draft_campaign, get_delivery_health, ingest, activate
audryo CLIcontacts, events, transactional send, journey inspect/activate
SkillsAPI 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

curl
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

curl
node packages/audryo/bin/audryo.js mcp

Example Cursor / Claude Desktop config:

JSON
{
  "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

curl
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 health

audryo 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

SkillPath
API usagepackages/audryo/skills/api-usage/SKILL.md
Email authoringpackages/audryo/skills/email-authoring/SKILL.md
Sending best practicespackages/audryo/skills/sending-best-practices/SKILL.md

This repository also installs copies under .cursor/skills/audryo-*.

Scopes

ActionScope
List / inspectread
Ingest, draft campaign, propose journeywrite
Activate/pause journey, campaign send, transactional senddeliver

Proposals stay reviewable. Do not activate or send unless the operator explicitly asked.