Connect an AI agent (MCP)
Use Veeton from Claude, Claude Code or any agent that speaks the Model Context Protocol. The connector is the API with tools an agent can call in plain words.
Veeton has an MCP server, so an AI agent can find your products, look at their images, start photo shoots, packshots and edits, and check the results, from a conversation. It is the same API as the rest of this documentation: same organizations, same prices, same request log.
https://api.veeton.com/v1/mcpThe server speaks MCP over Streamable HTTP and exposes tools only.
Who can use it
The connector is open to the organizations the API is open to: API access turned on by Veeton’s team, and a paid plan. See Authentication.
An organization without access can still connect. Every tool then answers with the reason, in words the agent passes on, and nothing runs.
Connect
There are two ways to authenticate. Pick the one your agent supports.
Sign in (Claude, Claude Code)
The agent opens Veeton’s sign-in page, you choose your organization and allow access. No key to create or store.
Claude (web and desktop): Settings → Connectors → Add custom connector, name it Veeton and paste the URL above. Then connect and sign in.
Claude Code:
claude mcp add --transport http veeton https://api.veeton.com/v1/mcpThen run /mcp, select veeton and choose Authenticate.
If you belong to several organizations, the consent screen has an organization selector. The connector works for the organization selected there and no other; to change it, disconnect and connect again.
API key (any other agent)
Agents that take a URL and headers can send an ak_ key instead, the same key as for the API:
{ "mcpServers": { "veeton": { "url": "https://api.veeton.com/v1/mcp", "headers": { "Authorization": "Bearer ak_…" } } }}The exact file and field names depend on the agent; the URL and the header are what matter. Each tool needs the scopes of the API routes it calls, so a key limited to products:read can search products but not start a photo shoot.
Tools
| Tool | What it does | Spends |
|---|---|---|
find_products |
Searches your products by name or reference | |
get_product |
One product: its photos and every result made from it | |
view_images |
Shows the agent up to 4 images, so it can look before it describes or edits | |
list_models |
The models a photo shoot can use, with filters | |
list_options |
Angle shots, backgrounds and packshot styles, with the slugs to pass | |
get_credits |
Your balance and the price of each kind of generation | |
get_results |
The state of up to 20 tasks, and their output images | |
read_help |
Veeton’s help center, for questions about the product, plans and billing | |
add_product |
Creates a product from photos on the web (https links) | |
create_tryon |
Starts up to 4 photo shoots: a product on a model, in an angle shot, on a background | One photo shoot each |
create_beautifier |
Starts one packshot of a product | One packshot |
create_edit |
Changes a result from a prompt, as a new image | One edit |
Generations cost what they cost through the API and the dashboard. A generation takes one to three minutes; the agent starts it, then checks it with get_results.
Spending protection
An agent can run unattended, so the connector adds three guards on top of the API’s own:
- A daily limit. An organization can start 50 generations per day (UTC) through the connector. Past that, the tools refuse until the next day. The API and the dashboard are not affected.
- A limit per call. One call starts at most 4 photo shoots.
- No accidental duplicates. The same request sent again within ten minutes returns the first task instead of creating and charging a second one. The agent passes
again: truewhen you do want another version.
These limits may change. Your credits and your plan apply as everywhere else.
What the connector sees
The connector shows what the API shows. Today that is the products created through the API or an import, and the results made from them. Products created in the dashboard are not listed yet.
Every tool call is recorded in your organization’s API request log, with the API requests it made.
Errors
A tool that cannot do what was asked answers with a sentence, not a code: the API’s own message when the API refused, or the reason your organization cannot use the connector. The agent reads it and tells you.
| Situation | What the agent is told |
|---|---|
| The organization has no API access | API access is not enabled for this organization |
| The organization is on a trial, or has no subscription | The API is available on paid plans |
| The daily limit is reached | The organization has reached 50 generations today through the connector |
| Not enough credits | The API’s refusal, as for POST /v1/tasks/* |
A request sent from a web page (with an Origin header) is refused: the connector is meant for agents, not browsers.