Introduction
RCP (REST Connector Protocol) is a lightweight, open protocol for exposing REST APIs as AI-callable tools — without running a protocol server.
If MCP is the right fit when you need rich, stateful capabilities, RCP is for the much more common case: you already have a REST API, and you just want an AI application to be able to call some of its endpoints as tools.
The shape of it
A server publishes a plain JSON manifest at a URL. A client fetches it, builds callable tools from it, and calls the endpoints it describes directly — no JSON-RPC, no persistent connection.
Client Server
------ ------
GET <manifest-url> --> 200 { "rcpVersion": "0.1", "tools": [...] }
...model picks a tool...
<method> <tool's own url> --> (whatever that endpoint normally returns)That’s the entire wire protocol. There is no other message type.
Two roles, nothing else
RCP has exactly two roles — no third “host” layer, no persistent per-server connection to hold open.
- Client — the AI application. Registers servers (URL + how to authenticate), fetches their manifests, presents the tools they describe to a model, executes the ones the model calls.
- Server — anything that answers
GET <manifest-url>with a conformant manifest. A static JSON file behind a CDN is a valid, fully conformant RCP server.
Design principles
- Zero protocol library on the server side. A conformant server can be
curl-tested — no handshake, no persistent socket. - Discovery and execution hit different places. The manifest is a directory, not a proxy — a tool call goes straight to the tool’s own URL, which can be an entirely different host.
- The client is the trust boundary. A server’s manifest is untrusted input until the client’s operator has explicitly registered that server.
- Secrets never appear in the manifest, and never reach the model.
- No persistence requirement. A client may treat a manifest as fully ephemeral, or cache it with a TTL — nothing in the protocol depends on either choice.
Want the full picture of what’s built versus still open? See the roadmap. Ready to see RCP end to end? Continue to Getting started — expose your REST API to AI in 5 minutes.
Explore RCP
- RCP vs MCP — lightweight alternative to Model Context Protocol — when to use stateless HTTP vs a dedicated MCP server
- The manifest — JSON directory of AI tools — how
GET /manifestturns REST endpoints into AI-callable tools - Resolvers — hide tenant ID & user ID from the LLM — resolver-bound params for secure multi-tenant isolation
- Build AI agent with OpenAI SDK — REST API as tools —
rcpToolsToOpenAiTools()adapter - Build AI agent with LangChain — REST API as DynamicStructuredTool — LangChain & LangGraph adapter with MultiServerRcpClient
- Full RCP specification v0.1 — architecture, security & trust model