Understanding MCP

MCP vs REST API: what is the difference, and which should you use?

The Model Context Protocol (MCP) and a REST API both open up a software product’s data, but to different readers: a REST API is consumed by code a developer writes, while MCP is consumed by an AI assistant that works out on its own what it can do. This page explains MCP vs API without shortcuts, debunks the most repeated misconception on the topic, and shows how Ondes PRO builds its MCP server on top of its v1 API.

The Ondes PRO teamUpdated on
.ondes.pro/mcp/

Type your workspace name: the configurations on this page adapt. It is remembered in this browser only.

What is the difference between MCP and a REST API?

A REST API exposes resources — orders, invoices, products — behind URLs and HTTP verbs. A developer reads the docs, picks the calls, writes the code that chains them and handles failures. Everything is settled up front: the program does exactly what it was told, thousands of times a day if needed.

An MCP server exposes tools described in plain language, each with a parameter schema. An MCP client (Claude, Cursor, Visual Studio Code…) connects, fetches the tool list, and the model decides mid-conversation which tool to call and with what arguments. The integration logic is no longer written in advance; it is assembled on the fly from your request.

So the MCP vs API distinction is not about transport — both run over HTTP — but about who reads the description and who decides the sequence of calls. REST assumes a human writing code; MCP assumes a model reasoning. That is why they do not compete: they serve different jobs.

MCP and REST compared, criterion by criterion

The same criteria on both sides, applied to Ondes PRO.

CriterionREST API (Ondes PRO v1 API)MCP server (Ondes PRO)
Intended readerCode written by a developerAn AI assistant, during a conversation
What is exposedAbout 135 resources, each with its own URLs and verbs8 stable tools that reach those same resources
DiscoveryDocs, an OpenAPI 3.1 schema and an explorer in the adminThe client lists tools on connect; ondes_guide and ondes_ressource serve docs on demand
Call sequencingFixed in advance, in codeChosen by the model based on the request
AuthenticationScoped API key, JWT or sessionOAuth 2.1 with PKCE, or the same API key
Safe writes/api/v1/test/… twins and the Idempotency-Key headerTest mode by default, simuler: true, idempotency key set automatically
Server-side stateNone: every request carries its identityNone: no Mcp-Session-Id, every call stands alone
Best forSyncs, websites, repetitive high-volume jobsOne-off questions, cross-module actions, coding assistance

Comparison made on 21 October 2026 on an Ondes PRO instance.

“MCP is stateful, REST is stateless”: an outdated claim

Plenty of comparisons boil MCP vs REST API down to one line: REST is stateless, MCP keeps state. That was a fair reading of early protocol versions, which had an initialize handshake and an optional session ID. It is no longer accurate.

The 28 July 2026 MCP specification makes the protocol explicitly stateless: no initialize exchange, no Mcp-Session-Id header, every request self-contained. Even before that, the Streamable HTTP transport let each server decide whether to open a session at all.

Ondes PRO’s MCP server made that call from day one: it issues no session ID and keeps nothing in memory between calls. A GET on its address returns 405, which the spec allows for a server that does not open a stream. It currently advertises protocol versions 2025-06-18, 2025-03-26 and 2024-11-05; its session-free design already matches the model the protocol later adopted.

The criterion that matters is therefore not state but audience. When an article tells you to “pick REST for scalability because MCP holds sessions”, check which protocol version it is describing.

Will MCP replace REST APIs?

No — and the way most MCP servers are built proves it: an MCP tool nearly always ends up calling an API. MCP is a description and discovery layer designed for language models. It does not replace the transport, the business logic or the access control that live behind the API.

A REST API remains the right tool whenever a job must be deterministic: syncing a catalogue every night, showing stock on a website, receiving a webhook on every payment. Nobody wants a model to “decide” how to import 5,000 orders. Conversely, writing code to answer “which Studio Nord invoices are overdue?” once would be overkill — that is precisely what MCP makes instant.

When to use the REST API

  • Your website or app lists products, takes orders or creates accounts: the code must behave identically on every visit.
  • Scheduled syncs: accounting exports, catalogue imports, stock updates from another system.
  • Events: receive a signed webhook when an order is paid or an invoice is issued — see the Ondes PRO REST API.
  • Volume: cursor pagination, fields to fetch only the columns you need, quotas reported in X-RateLimit-* headers.

When to use MCP

  • A one-off question about your data, asked in plain English: “How many brass pendant lights are left?”
  • An action spanning several modules: draft a quote, create the matching Kanban card and block a time slot, in a single request.
  • Writing the integration code itself: a coding assistant connected to the server reads your workspace’s exact documentation while it writes the REST call.
  • Access without a developer: a business owner pastes the workspace address into Claude and gets to work without writing a line.

At Ondes PRO, MCP runs on top of the v1 API

The MCP server is not a second front door with its own rules. The ondes_appeler tool replays the request against the real v1 API view: same permission checks, same key scopes, same quotas, same idempotency, same partitioning between companies, same structured error messages. Not a single access check is rewritten on the MCP side, so none can drift.

Documentation follows the same principle. ondes_guide, ondes_chercher and ondes_ressource serve, section by section, the guide generated from your workspace’s real routes — the one a developer reads in the admin. The server’s permanent context weighs around 2,700 tokens, where the old documentation file people copied into their repositories weighed 44,000 and went stale the moment it was copied.

In practice, whatever your assistant does through MCP, your code can reproduce through REST, and vice versa. Calls made over MCP even land in the same log as REST calls, tagged “MCP”.

The same call, two ways

Listing overdue invoices. First, a developer writes the request; second, the assistant calls the ondes_appeler tool, which runs that very request.

bash
# REST API: called by your code
curl "https://your-workspace.ondes.pro/api/v1/billing/factures/?statut=en_attente&date_echeance__lt=2026-10-21" \
  -H "Authorization: ApiKey opk_…"

# MCP: called by the assistant (JSON-RPC request sent by the client)
curl -X POST "https://your-workspace.ondes.pro/mcp/" \
  -H "Authorization: Bearer <OAuth token>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"ondes_appeler",
                 "arguments":{"chemin":"billing/factures",
                              "params":{"statut":"en_attente","date_echeance__lt":"2026-10-21"}}}}'

You never type the second request yourself: your MCP client does it for you.

MCP helping you write REST code

The scenario developers relate to most: they are coding a REST integration, and their assistant, connected to the MCP server, checks every route instead of guessing.

Claude Code · Example conversation · demo data (Atelier Lumen)
  1. You : Atelier Lumen’s website should send its own confirmation email when an order is paid. Write the webhook receiver in Python.
  2. MCP tool : ondes_chercher Searches “webhook”: the developer/abonnements resource and the guide section on signed events.
  3. MCP tool : ondes_exemple Fetches the “subscribe to events” recipe, verified against the live API.
  4. MCP tool : ondes_impossible Confirms no route returns an existing secret: it is shown only at creation.
  5. Assistant : Here is the receiver: it verifies the Ondes-Signature header (HMAC-SHA256 over timestamp and body), rejects stale timestamps, then handles the commande.payee event. The secret is displayed once when the subscription is created, so I read it from an environment variable. Shall I validate the subscription with a dry run first, writing nothing?

Security: is MCP riskier than an API?

The protocol is neither safer nor riskier than an API: it all depends on what the server allows. The risk specific to MCP is model autonomy — it can chain calls nobody reviewed. That is why Ondes PRO’s safeguards sit in the server: writes default to test mode when a resource has a twin, dry runs, a plan to approve for the built-in assistant, and the mode always stated in the response.

On identity, an OAuth connection acts with your full permissions, one hour per token, and can be revoked instantly; an API key keeps its limited scopes whether you use it over REST or MCP. Details are on the MCP server security page.

Keep reading

Frequently asked questions

What is the difference between MCP and an API?

A REST API exposes resources that code calls in a sequence written in advance. MCP exposes tools described in natural language that an AI assistant discovers and chooses during a conversation. Both run over HTTP; the difference is who is on the other end.

Is MCP a stateful protocol?

Not any more. The 28 July 2026 specification removes the initialize handshake and the session ID, making the protocol stateless. Ondes PRO’s server already opened no session before that.

Will MCP replace REST APIs?

No. Most MCP servers call an API behind their tools. The API remains the right answer for any repetitive, deterministic job; MCP adds a layer designed for AI assistants.

Do I need an API key to use the Ondes PRO MCP server?

No. The default connection uses OAuth: your client opens a window from your workspace and you sign in. An API key is still an option when you want to restrict access to specific scopes.

MCP vs RAG: what is the difference?

RAG retrieves document passages to enrich an answer. MCP gives the assistant tools to query and act inside software. An MCP server can serve documentation, as ondes_guide does, but its main job is reading live data and running actions.

Can I use the REST API and MCP at the same time?

Yes, that is the intended setup. Ondes PRO’s MCP server replays its calls on the v1 API: same permissions, same quotas, same log. Your website talks to the API, your assistant talks to MCP, and both see the same data.

Are the MCP server and the API part of the subscription?

Yes, both are included in every Ondes PRO plan, from Essentiel to Entreprise. See pricing.

Plug your AI into your business

The MCP server is included in every plan, with no add-on or extra fee.

Read next

Claude, Claude Code and Claude Desktop are trademarks of Anthropic, PBC; Cursor is a trademark of Anysphere, Inc.; Visual Studio Code and Microsoft are trademarks of the Microsoft group of companies; GitHub and GitHub Copilot are trademarks of GitHub, Inc.; ChatGPT and OpenAI are trademarks of OpenAI; Windsurf is a trademark of Cognition; Zed is a trademark of Zed Industries, Inc.; JetBrains, Cline, Zapier, Make, n8n, Stripe and Model Context Protocol are trademarks of their respective owners. These names are used solely to describe compatibility or to make a comparison. Ondes PRO is not affiliated with, sponsored or endorsed by these companies.