Pet Portrait, inside your agent.
An MCP server that lets Claude Desktop, Cursor, or any MCP-compatible client browse styles, look up an order, or generate a free preview portrait — without leaving the conversation.
https://petportrait.io/mcpAdd it to Claude Desktop
Open your Claude Desktop config file (Settings → Developer → Edit Config) and add the block below to the mcpServers object:
{
"mcpServers": {
"pet-portrait": {
"url": "https://petportrait.io/mcp"
}
}
}Restart Claude Desktop. Pet Portrait's tools appear in your tool picker automatically.
Add it to Cursor
Cursor uses the same shape. Add to ~/.cursor/mcp.json (or your project's .cursor/mcp.json):
{
"mcpServers": {
"pet-portrait": {
"url": "https://petportrait.io/mcp"
}
}
}Try it from the shell
Any HTTP client works — the protocol is JSON-RPC 2.0 over one POST endpoint. Here's the tool inventory:
curl -X POST https://petportrait.io/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'What's in the box
browse_stylesThe 8 painting styles Pet Portrait offers (Renaissance, Watercolor, Cinematic, etc.).
browse_scenesThe 12 scenes a pet can be placed in (Royal, Astronaut, Knight, Chef, Cowboy...).
get_pricingCurrent product catalog + USD prices, refreshed live from the same source the site uses.
get_guidesSummaries + URLs for the buying / how-to guides — feed into your agent's context.
check_order_statusLook up an order by Stripe Checkout session id (starts with cs_). Requires the customer to supply their own id.
preview_portraitGenerate a free preview from a pet photo URL or base64. Rate-limited per IP.
What's not in the box
- No add-to-cart / checkout. Full purchases stay in the studio where the customer has full context, promo application, and a real payment flow.
preview_portraitreturns a shareable studio link the customer opens to complete an order. - No mutating account tools. Order lookup is read-only; changing an order (cancel, address change) still routes through the site's contact flow.
- No auth tokens yet. Reads are anonymous;
check_order_statususes knowledge-of-session-id as the auth boundary;preview_portraitis IP rate-limited. If we ever need per-user identity we'll bolt on MCP's OAuth spec.
Discovery + docs
- Machine-readable manifest: https://petportrait.io/.well-known/mcp.json
- Protocol version:
2024-11-05(streamable HTTP) - Source + issues: github.com/creid04/pet-portrait
- Parent: Galax Launchpad
Built the MCP server? Try Pet Portrait direct.
Open the studio →