MCP server
The MCP endpoint that AI clients such as Claude, ChatGPT and Cursor connect to.
https://app.getera.io/api/mcpMCP (Model Context Protocol) is a shared language that lets AI clients use a service's tools. Era's MCP server offers your client your business data and every action you are allowed to use, as tools: finding customers, adding leads, listing bookings, recalling from memory and more. Risky writes (sending, publishing, paying, deleting) first create an approval card.
This page is the endpoint's technical contract. To connect your client step by step, see MCP setup.
Getting a key
On the Apps → MCP export tab, click Create key on the MCP server card. The key is shown once; the same card has ready-made config snippets for Claude, ChatGPT and Cursor. Rotate key revokes the old key, and clients using it stop working. The key also shows in Settings → Advanced → API keys.
An ordinary API key created in Settings works on this endpoint too. A key works as the person who created it; the client cannot see what that person cannot.
Authentication
Send the key in one of these headers:
x-api-key: <your era_ key>Authorization: Bearer <your era_ key>
Era keys start with era_.
Request
Stateless JSON-RPC 2.0 over HTTP. Protocol version 2024-11-05. Supported methods: initialize, tools/list, tools/call, ping. Notifications (e.g. notifications/initialized) get 202 with no body.
| Query parameter | Value | Effect |
|---|---|---|
tools | absent (or era) | Era’s named tools (the same ones chat and the CLI use), memory, and permitted connected-app tools. |
tools | compact | A short tool list: the read tools plus two meta tools that reach every action, era_find_tools (finds the right tool) and era_call (calls it). For clients that cannot load many tools. |
tools | full | Every action is listed as its own tool. |
Example
curl -X POST https://app.getera.io/api/mcp \
-H "x-api-key: <your era_ key>" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tools": [
{
"name": "era_overview",
"description": "...",
"inputSchema": { "type": "object", "properties": {} }
}
]
}
}A tools/call result carries JSON text in content[0].text; when a tool fails you get isError: true. For the full tool list see MCP tools.
GET /api/mcp with the same key returns the server's name and protocol version — handy for testing the connection.
Errors
| Status | Body | When |
|---|---|---|
401 | {"error": "An Era key (x-api-key) or an OAuth access token is required."} | No key, an invalid one, or a kind not accepted here (e.g. a paired computer's key). |
400 | JSON-RPC Parse error | The body is not JSON. |
400 | JSON-RPC Invalid Request / Invalid params | Not a JSON-RPC message, or the tool name is missing. |
Workspace MCP server (OAuth)
The same address also works without a key: Claude or Cursor opens the browser once for you to sign in (OAuth). Clients find the sign-in through the standard discovery documents:
https://app.getera.io/.well-known/oauth-protected-resource/api/mcphttps://app.getera.io/.well-known/oauth-authorization-server/api/mcp
The setup steps are on MCP setup.