# FoodPerfect for AI agents

> Connect Claude, ChatGPT, Cursor, Codex or your own agent to FoodPerfect through MCP, and let it run a restaurant's social media.

FoodPerfect runs social media for restaurants: brand strategy, AI food photos and reels, scheduling and publishing to Instagram, Facebook, TikTok and LinkedIn. Everything your team does in the app, an AI agent can do through the **FoodPerfect MCP server**.

MCP (the [Model Context Protocol](https://modelcontextprotocol.io)) is the open standard that AI assistants use to call outside tools. Connect FoodPerfect once and your agent can read the brand, generate content, plan the calendar and publish, with your approval before anything goes live.

<div class="cards">
  <a href="/docs/quickstart/"><b>Quickstart</b><span>Create a key, connect your client and make your first call in five minutes.</span></a>
  <a href="/docs/agent-prompt/"><b>Prompt for your agent</b><span>A copy-paste system prompt and ready-made recipes.</span></a>
  <a href="/docs/clients/"><b>Connect a client</b><span>Claude Code, Claude Desktop, Cursor, VS Code, Codex, Windsurf and APIs.</span></a>
  <a href="/docs/tools/"><b>Tool reference</b><span>All 51 tools, their inputs, costs and safety rules.</span></a>
</div>

## What an agent can do

| Area | Tools | Example ask |
|---|---|---|
| Account and brand | `get_account`, `get_brand_dna`, `update_brand_dna`, `run_brand_analysis`, `regenerate_brand_dna` | "What's my balance? Analyze my Instagram and build a brand strategy." |
| Photos, promos and menus | `generate_photo`, `generate_promo`, `generate_menu`, `photo_prompt`, `edit_image`, `remove_background`, `upscale_image`, `upload_asset` | "Make a promo, then brighten it and add a banner." |
| Video and reels | `list_reel_presets`, `create_reel`, `generate_reel_script`, `animate_reel_shot`, `generate_reel_music`, `render_reel`, `schedule_reel_post`, `generate_video_from_image`, `scrape_trending_hooks` | "Make a reel with animated shots and schedule it for Monday." |
| Planning and publishing | `generate_publish_schedule`, `generate_scheduled_post_content`, `list_scheduled_posts`, `publish_post_now` | "Plan the next two weeks and publish tomorrow's post." |
| Inbox and replies | `list_inbox`, `get_inbox_item`, `get_inbox_settings`, `draft_reply`, `send_reply`, `set_inbox_status`, `sync_inbox`, `update_inbox_settings`, `moderate_comment` | "Answer comments about our hours with an AI draft, then send it." |
| Library | `list_generations`, `get_generation`, `list_assets`, `delete_generation`, `delete_asset` | "Show me every promo from this month." |
| Accounts | `get_connect_link`, `finalize_connection` | "Give me a link to connect our TikTok." |

## How it works

1. **You create an API key** in the FoodPerfect app under [Settings → API Keys](https://app.foodperfect.ai/settings). A key belongs to one FoodPerfect account and can be limited to certain tools.
2. **Your MCP client connects** to `https://mcp.foodperfect.ai/mcp` over Streamable HTTP and sends the key as a bearer token.
3. **The agent calls tools.** Reads are free. Generations draw from the account's dollar balance at the plan's rates, the same as in the app.
4. **Risky actions wait for approval.** Publishing, scheduling a reel and deleting return a preview and an approval token first. Nothing goes live until the call is confirmed.

> [!NOTE]
> The FoodPerfect MCP server is in **early access**, and tools and limits may still change. If something doesn't work, email [support@foodperfect.ai](mailto:support@foodperfect.ai?subject=MCP%20early%20access) with the `x-request-id` from the response.

## Good to know

- **One transport:** Streamable HTTP at `https://mcp.foodperfect.ai/mcp`. There is no local (stdio) package to install. Clients that only speak stdio can use the `mcp-remote` bridge, see [Connect a client](/docs/clients/).
- **Stateless:** every request stands alone. There are no MCP sessions to keep alive.
- **Same account, same rules:** an agent sees what the key's owner sees in the app and pays the same prices. It can't reach other accounts.
- **Built for agents to read:** every page has a Markdown version (**Copy page**, top right), and [`/llms.txt`](/llms.txt) indexes the docs for LLMs.
