API reference

MCP tools

The tool catalog

The public tool catalog — including each tool's input schema and required scopes — is available without authentication at GET /v1/mcp/tools. Over MCP, tools/list returns only the tools your token's scopes can actually execute.

Utility tools

Available with mcp:tools:read (invocation additionally requires mcp:tools:call):

  • lucra.scopes.list — the public API scope taxonomy and bundled grants
  • lucra.mcp.tools.list — this catalog, with per-tool access for your token

Domain tools

Domain tools read live workspace data. Each requires mcp:tools:call plus one of the listed actor scopes, and returns JSON as MCP text content:

ToolActor scope (any of)Returns
lucra.organization.get_contextbrand:organization:read, partner:organization:readOrganization identity and partner status
lucra.creators.searchbrand:creator:read, partner:creator:readRoster creators — name, handle, status, tags
lucra.programs.listbrand:programs:read, partner:programs:read, creator:programs:readPrograms with status, visibility, and type
lucra.products.listbrand:products:read, partner:products:read, creator:products:readProducts with type, vendor, and status
lucra.ads.listbrand:ads:read, partner:ads:readNon-archived paid campaigns with platforms and status
lucra.submissions.listbrand:submissions:read, partner:submissions:read, creator:submissions:readSubmissions with review state
lucra.analytics.summarybrand:analytics:read, partner:analytics:read, creator:analytics:readAggregate spend, clicks, impressions, and outcomes
lucra.finance.summarybrand:finance:read, partner:finance:read, creator:finance:readTransaction totals by status
lucra.creator.profile.getcreator:creator:readThe authenticated creator's profile

Inputs and bindings

List and search tools accept two optional arguments: limit (1–100, default 20) and query (search text, max 120 characters). Organization tools require the token to be bound to an organization, and lucra.creator.profile.get requires a creator binding — calls on an unbound token return JSON-RPC error -32602.

Calling a tool

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "lucra.programs.list",
    "arguments": { "limit": 10, "query": "spring" }
  }
}

Results come back as MCP text content containing JSON, for example:

{
  "programs": [
    {
      "id": "spring-creator-spark",
      "name": "Spring Creator Spark",
      "status": "Live",
      "visibility": "open",
      "programType": "paid_ads"
    }
  ]
}