Fooodo / Docs

API and integration surface

How partners and developers integrate with Fooodo — the public MCP server, POS connector and white-label contracts, what's open versus closed today, and the integration roadmap.

Fooodo's public integration surface is small and focused. This page documents what is open today, what is closed, and what is on the roadmap.

What's open today

MCP server

Fooodo runs a Model Context Protocol (MCP) server at /api/mcp for AI agents to query the handbook and take a small number of bounded actions on a buyer's behalf. Agents read the handbook without scraping HTML and submit structured requests without filling HTML forms — so partner-support assistants, integration-scoping copilots, and buyer-side procurement agents stay grounded in canonical data and reach the right inbox.

# Connect from Claude Desktop, Cursor, or any MCP-compatible client:
mcp connect https://fooodo.com/api/mcp

Read tools (no side effects):

ToolReturns
list_docsEvery handbook page with slug, title and one-line description.
get_doc({ slug })The processed MDX content of a single page.
search_docs({ query })Substring search over titles, descriptions, and bodies, with a snippet around each match.
list_pos_connectorsLive POS connectors and the per-customer scoping policy for the rest.
get_pricing_scope({ locations?, region? })Engagement model (per-location subscription, EUR), segment indicators (Insights bundled at 5+ locations, Enterprise at 150+), and a fit verdict for the buyer's inputs. Does not return a price — the platform is quoted per-customer; this tool returns the shape of the engagement so a buyer's agent can qualify before requesting a quote.

Action tool (sends an email to the Fooodo team):

ToolDoes
request_walkthrough({ name, email, variant?, company?, role?, locations?, message?, locale?, agent_origin? })Sends a lead email to ops on behalf of the buyer the agent represents. Replies arrive at email within two business days. variant defaults to demo; pass pricing for a quote, partner for reseller interest, developer for API/MCP integration scoping. agent_origin is surfaced in the email so ops can triage agent-driven leads separately from form submissions.

The action tool is rate-limited per buyer email (3 per hour) and the whole MCP surface is rate-limited per IP (60 calls per minute). Lead emails route to info@fooodo.com by default.

Insights MCP server (per-tenant)

A separate MCP server ships with every Fooodo Insights tenant. Where the handbook MCP above exposes Fooodo's public content and the lead-capture action, the Insights MCP exposes that tenant's own operational analytics — period summaries, sales- and marketing-channel performance, product and per-restaurant performance, P&L data, three AI specialist agents, the cross-domain orchestrator, and a bounded set of write actions like trigger data import and resolve alert.

The server speaks OAuth 2.1 with Dynamic Client Registration over Streamable HTTP, so any MCP-compatible client connects with the same one-click flow. The feature is dark per-org by default; enablement and tenant URL provisioning run through support@fooodo.com. Full tool inventory, per-client setup, and security details: Insights MCP server.

LLM-friendly site index

/llms.txt provides a flat, structured index of every public page on the marketing site and the handbook. /llms-full.txt is the same handbook concatenated as a single Markdown document for one-shot ingestion. Both are the canonical entry points if you are pointing an LLM at Fooodo.

Sitemap and Open Graph

Standard surfaces — /sitemap.xml covers all 7 marketing locales × public routes. Open Graph and Twitter Card images are generated per-locale.

What's closed today

The menu app's order API and the payment service's payment API are not public. They run on infrastructure operated for our deployment partners, secured with per-partner credentials issued during onboarding.

If you are a POS vendor wanting to integrate with Fooodo, write to hello@fooodo.com — the integration path is hands-on today, not self-serve.

What partners actually integrate with

The integration shapes that exist today, in order of how many partners use them:

POS connector (back-end)

The most-requested integration. A new POS connector implements the same outbound and inbound contract that R-Keeper uses (see R-Keeper integration). The connector is a Laravel package added to the menu app — it is not a separate process.

Required surface:

  • Pull menu (products, categories, modifiers, prices, tax flags)
  • Push order (create, update, lock, mark paid)
  • Status (restaurant online/offline, table state)

R-Keeper is the only connector live in production today. The connector contract itself is POS-agnostic — additional POS connectors are scoped per-customer and quoted on demand. If you are a POS vendor interested in collaborating on a connector, start with the POS integration requirements — the evaluation-level spec — and reach out via partners@fooodo.com.

White-label deployment (front-end)

Some resellers run a Fooodo deployment under their own brand. The customer-facing app supports brand configuration at the company level: logo, color tokens, domain, payment branding. This is a configuration surface, not an API.

Embedded widgets (light)

The AI Ask widget on this site can be embedded in partner sites with a single script tag. Other widgets (menu preview, table availability) are not yet shipped but on the roadmap.

Authentication and secrets

When partners do get API access (POS connector packages, white-label deployments), authentication is bearer token. Secrets are issued per-environment; staging and production use separate tokens. There is no OAuth flow today — the audiences using the API are too small to justify it.

Webhooks (incoming, for partners) — planned

For partner deployments, outbound webhooks for order events are on the integration roadmap. The planned event set:

  • order.created
  • order.paid
  • order.cancelled
  • order.errored

The internal events that drive these already exist on the menu app side; the outbound dispatcher is wired per partner during onboarding rather than running as a default service. If you need event push as part of your integration, raise it during scoping — we add it to your deployment as an opt-in module.

Versioning

Internal APIs are versionless — the menu app and payment service deploy together for Čili Pizza. Once external partners are using the API, we will introduce version tags. We have not yet hit that point.

Rate limits

The marketing site's public APIs (/api/ask, /api/mcp) are rate-limited per IP. Limits are not currently published; they are sized for normal partner usage and will be relaxed for partners on a deal.

Roadmap

In rough order of priority:

  • A second POS connector — scoped per-customer when a chain commits to it.
  • A typed JS SDK for the white-label embedding flow.
  • A public read-only API for menu queries (so partner sites can show "today's menu" without scraping).

If you need any of these sooner, email hello@fooodo.com — partner pull tends to move them up.

On this page