Skip to content
Back to Converted — Campaigns Agent Team

Card snapshot

mcp.htmlpub.com · 2026-07-17 01:12:00 UTC · 19081dc375b160ba234c610effc1c73b4371407fe92d8535dfa956037d8b193b

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.3.0",
  "name": "Converted \u2014 Campaigns Agent Team",
  "description": "Talk with nine marketing agents \u2014 Otto, Piper, Cash, Iris, Ray, Milo, Penn, Vera, Flo \u2014 who watch, propose, and (with your approval) optimize your ad campaigns on Converted. Ask questions in plain language; approve changes in-conversation.",
  "url": "https://mcp.htmlpub.com/api/a2a",
  "version": "1.0.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "securitySchemes": {
    "oauth": {
      "type": "oauth2",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://mcp.htmlpub.com/api/mcp/oauth/authorize",
          "tokenUrl": "https://mcp.htmlpub.com/api/mcp/oauth/token",
          "scopes": {
            "funnels:read": "Read funnels, metrics, and agent proposals",
            "agents:chat": "Converse with the agent team (spends org AI credits)",
            "agents:approve": "Approve/dismiss agent proposals (mutates live ad accounts)"
          }
        }
      }
    }
  },
  "security": [
    {
      "oauth": [
        "funnels:read"
      ]
    }
  ],
  "skills": [
    {
      "id": "team_chat",
      "name": "Talk with the funnel team",
      "tags": [
        "chat"
      ],
      "description": "Group conversation with all nine agents \u2014 Otto (experiments), Piper (pages), Cash (budgets & campaigns), Iris (audiences), Ray (publishing), Milo (creative), Penn (copy), Vera (analytics), Flo (funnel structure). The most relevant agent answers each turn, attributed by name.",
      "examples": [
        "How is my webinar funnel doing this week?",
        "What should I fix first?"
      ]
    },
    {
      "id": "talk_to_agent",
      "name": "Talk with a specific agent",
      "tags": [
        "chat"
      ],
      "description": "One-on-one with a named agent: ask Vera for numbers, Cash for budget moves, Otto for split tests, Iris for retargeting audiences. Send a DataPart {agent: <roster key>} to pin the persona; attribution is server-enforced.",
      "examples": [
        "Cash, shift budget toward whichever campaign converts cheapest",
        "Otto, is the pricing page worth testing?"
      ]
    },
    {
      "id": "review_proposals",
      "name": "Review the team's proposals",
      "tags": [
        "read"
      ],
      "description": "List pending agent proposals (budget rebalances, audience syncs, split tests) with full payload detail \u2014 the same queue shown in the in-app Command Center."
    },
    {
      "id": "decide_proposal",
      "name": "Approve or dismiss a proposal",
      "tags": [
        "mutate"
      ],
      "description": "Approve (executes against the live ad account, respecting org autonomy rules) or dismiss a pending proposal, in-conversation. Requires agents:approve and an explicit confirmation round-trip."
    },
    {
      "id": "funnel_overview",
      "name": "Funnel overview",
      "tags": [
        "read"
      ],
      "description": "List funnels; get a funnel's graph, stage metrics, leaks, and pending publish queue \u2014 the raw data behind the agents' answers."
    }
  ]
}