MCPUpdated for MCP and REST v1

MCP Server

Connect an agent client to Novabrand over JSON-RPC 2.0 using the MCP endpoint at `https://api.novabrand.ai/mcp`.

Endpoint

POST/mcpmcp

JSON-RPC 2.0 MCP endpoint.

GET/mcpnone

Returns 405. MCP accepts POST only.

Initialize

Initialize requestbash
curl -X POST "https://api.novabrand.ai/mcp" \
  -H "Authorization: Bearer nb_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}}'
Typical initialize resultjson
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2025-06-18",
    "capabilities": { "tools": { "listChanged": false } },
    "serverInfo": { "name": "novabrand", "title": "Novabrand", "version": "1.0.0" }
  }
}

List tools

Tools list requestbash
curl -X POST "https://api.novabrand.ai/mcp" \
  -H "Authorization: Bearer nb_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
  1. 1

    list_projects to find an existing project_uuid, or create_project from a brand website.

  2. 2

    If a project was created, poll check_brand_analysis until it returns status: "completed" and a project_uuid.

  3. 3

    list_product_images to get product image UUIDs.

  4. 4

    For model photoshoots, call list_models to get reusable model image UUIDs.

  5. 5

    Call generate_ad or generate_model_shot.

  6. 6

    Poll check_generation with the returned id until completed is true.

Call a tool

List projectsbash
curl -X POST "https://api.novabrand.ai/mcp" \
  -H "Authorization: Bearer nb_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "list_projects",
      "arguments": {}
    }
  }'

Tool results

A successful tools/call returns the data inside result.content as a single text item whose text value is a JSON string. Parse that string to get the structured object. The field meanings for every tool are listed in MCP Tools.

tools/call result (list_projects)json
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ \"projects\": [ { \"project_uuid\": \"proj_uuid\", \"name\": \"Acme\", \"website_url\": \"https://acme.com\", \"has_brand_profile\": true, \"asset_count\": 12 } ] }"
      }
    ]
  }
}

Tool errors vs protocol errors

When a tool rejects a request because of invalid input, a missing resource, or insufficient credits, it still returns a normal result with isError: true and a readable message in text. Malformed JSON-RPC or an unknown method returns a JSON-RPC error object instead.

Agent guidance

Agents should prefer IDs returned by Novabrand tools over user-typed IDs. Before generating, list the project assets and pass only product or model image UUIDs returned for that project.