MCP Server
Connect an agent client to Novabrand over JSON-RPC 2.0 using the MCP endpoint at `https://api.novabrand.ai/mcp`.
Endpoint
/mcpmcpJSON-RPC 2.0 MCP endpoint.
/mcpnoneReturns 405. MCP accepts POST only.
Initialize
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"}}'{
"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
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":{}}'Recommended flow
- 1
list_projectsto find an existingproject_uuid, orcreate_projectfrom a brand website. - 2
If a project was created, poll
check_brand_analysisuntil it returnsstatus: "completed"and aproject_uuid. - 3
list_product_imagesto get product image UUIDs. - 4
For model photoshoots, call
list_modelsto get reusable model image UUIDs. - 5
Call
generate_adorgenerate_model_shot. - 6
Poll
check_generationwith the returned id untilcompletedis true.
Call a tool
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.
{
"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.
