LiveContext
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client. Remote Streamable HTTP server, API keys can be scoped to a subset of tools.
Hosted MCP Server
npx add-mcp 'https://livecontext.ai/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Overview
The Model Context Protocol (MCP) is an open standard that lets an AI client call tools on a server. LiveContext exposes its agent tools through one MCP endpoint, using the Streamable HTTP transport and JSON-RPC 2.0. Any client that supports remote HTTP servers can connect with an API key.
The MCP server is available on LiveContext Cloud and on the self-hosted Community Edition. Everything you do through it runs as you, on your own account and data.
Find your connection details
Go to Settings > MCP Server. The page has three sections:
| Section | What it shows |
|---|---|
| Endpoint | The URL of your MCP endpoint, with a copy button, and the number of tools available (shown as "N tools available"). On LiveContext Cloud the URL is https://livecontext.ai/mcp. |
| API keys | Your named keys, their access, and the buttons to create and revoke them. |
| Client configuration | Ready-to-copy snippets for Claude Code, JSON configuration files, and Codex, already filled with your endpoint URL. |
Create an API key
Every request to the endpoint needs an API key: lc_live_ followed by 64 hexadecimal characters. You can hold up to 20 active keys. Create one key per client so you can revoke one without breaking the others. A key expires 365 days after you create it: the list shows its expiry date, and an expired key no longer connects, so create a new one before then.
- Start a new key In Settings > MCP Server, under API keys, select New key.
- Name it Type a Name that says which client uses it, for example "Cursor on my laptop".
- Choose the access Leave Limit to specific tools off to give the key access to all MCP tools. Turn it on to choose tools one by one under Tools; you must pick at least one.
- Copy the key Select New key. The Key created dialog shows the full key once. Copy it now, then select Done. The list only shows a masked hint afterwards.
To revoke a key, select the Revoke (bin) icon next to it, then Revoke key. Revocation is immediate, and every client configured with that key stops connecting.
Full access or limited to specific tools
| Key | On the MCP endpoint | On the rest of the API |
|---|---|---|
| Full access | Lists and calls every tool. | Works as you on every API call. |
| Limited to specific tools | tools/list returns only the tools you picked. Calling any other tool fails exactly like an unknown tool. | Refused with 403 and {"error": "scope_forbidden", "message": "This API key is limited to the MCP endpoint (/mcp)."}. |
[!tip] Tip Limit keys you hand to a client
A limited key cannot create other keys or reach the REST API, so a leaked one exposes only the tools you picked. Use a full-access key only when the same key must also call the REST API.
Authentication
Send the key in either header. Use the first form unless your client only supports Authorization:
X-API-Key: lc_live_xxxxxxxx
Authorization: Bearer lc_live_xxxxxxxx
A request without a valid key gets 401 Unauthorized with a WWW-Authenticate: Bearer challenge, so your client reports a credentials problem.
Connect a client
The Client configuration section of the settings page offers the three snippets below, with your endpoint URL already filled in. Replace YOUR_API_KEY with the key you created. The examples use the cloud URL; on a self-hosted instance, copy the snippets from your own settings page.
Claude Code
Run this command once in a terminal. It adds the server to Claude Code under the name livecontext.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Cursor, Claude Desktop, and other JSON configurations
Clients that read an mcpServers configuration file take this JSON block. Add the livecontext entry to the file your client uses; its location depends on the client, so check the client's own documentation, and make sure your version supports remote HTTP servers.
{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}
Codex
Add these lines to ~/.codex/config.toml:
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Other clients
Any client that speaks MCP over Streamable HTTP works: point it at the endpoint URL and send the key in the X-API-Key header (or Authorization: Bearer).
Which tools are exposed
The server exposes the same tools as the LiveContext agent in chat, for example workflow (build, run, and inspect workflows), table (your tables), catalog (search and call your connected integrations), interface, and files. The exact list for your install is the one under Tools when you create a limited key, and the one your client receives from tools/list. The Endpoint section shows how many there are.
Integrations are not listed one tool per endpoint: your client reaches them through the catalog tool, with the connections you set up in LiveContext. See Integrations.
Protocol details
| Property | Detail |
|---|---|
| Endpoint | A single POST /mcp. GET and DELETE return 405 with Allow: POST: the server does not open streams of its own. |
| Sessions | Stateless. No Mcp-Session-Id is issued. |
| Protocol versions | 2025-06-18, 2025-03-26, 2024-11-05. A supported requested version is echoed back; otherwise the newest is used. |
| Methods | initialize, ping, tools/list, tools/call, resources/list, resources/templates/list, resources/read. |
| Notifications and batches | Notifications return 202. JSON-RPC batches are accepted. |
| Errors | A tool that fails returns a normal result with isError: true. Protocol errors use JSON-RPC codes -32600, -32601, -32602 (including "Unknown tool"), -32603, and -32002 for a resource that does not exist. |
| Resources | Resources are not filtered by key: a limited key can list and read them. |
Cloud and Community Edition
The endpoint, the keys, the headers, and the 403 scope_forbidden rule behave the same in both editions. The endpoint URL differs: on a self-hosted instance it is built from the public address configured for your install, and the Endpoint section of your own settings page shows it. The per-minute request ceilings described in REST API & webhooks are those of LiveContext Cloud.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| 401 Unauthorized | The key is missing, mistyped, sent in the wrong header, or revoked. | Send it as X-API-Key (or Authorization: Bearer); create a new key if it was revoked. |
403 scope_forbidden | A key limited to specific tools was used on a path other than /mcp. | Use a full-access key for REST calls, or keep the limited key on the MCP endpoint. |
| Unknown tool | The tool is not in the key's list, or the name is wrong. | Create a key that includes the tool, or use a full-access key. |
| 405 Method Not Allowed | The client tried a GET or DELETE (for example to open a stream). | Use a client that supports Streamable HTTP over POST. |
| 429 Too Many Requests (cloud) | The per-minute ceiling of your plan is reached. | Wait for the seconds given in Retry-After. |
| Timeout or 524 on a long call | A call that runs for minutes, such as executing a long workflow, outlived the HTTP request. The run keeps going on the server. | Do not re-send the call: that can start another run. Find the run with the workflow tool's runs action and follow it with get_run. |
[!warn] Warn Long runs: fire, then poll
On LiveContext Cloud, an HTTP request held open for about 100 seconds can be closed by the network edge with status 524, while the work continues on the server. Treat a timeout on an execution as "still running", not as a failure. Start the run with
execute, then poll it withget_run, or wait withwait_runand atimeout_secondsbelow 100 (its default, 120, is above that); whenwait_runanswerstimed_out: true, the run is still going, so call it again.