MCP
Frontière AI for your AI agents, over MCP
One URL connects any Model Context Protocol client — Claude Code, Cursor, Cline, Roo Code — to the full Frontière AI API: model catalog, sovereign inference, embeddings, account balance, and live web search. Stateless JSON-RPC 2.0 over HTTP: no SDK to install, same prepaid balance as the REST API.
One endpoint, the whole API
POST /api/mcp speaks JSON-RPC 2.0. Every request is self-contained: initialize, list the tools, call one — no long-lived streams, no session state, which is exactly what serverless and edge runtimes need. The catalog tools work without a key; inference, embeddings, balance and web tools authenticate with your sk-front-… key on the Authorization header of each request.
Endpoint
curl https://getfrontiereai.eu/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'No key needed for this call — catalog tools are public.
Eight tools
Three are public catalog lookups, five are authenticated. Inference and embeddings forward through the exact same gateway as /api/v1 — same providers, same fallback cascade, same per-token billing on your prepaid balance.
| Tool | What it does | API key |
|---|---|---|
| list_models | List the model catalog with pricing, sovereignty labels and context windows | none |
| get_model | Full details for one model by slug — license, compliance, tool calling, notes | none |
| search_models | Find models by keyword across name, vendor, modality and provider | none |
| chat_completion | Chat completion — same gateway and billing as POST /api/v1/chat/completions | required |
| create_embedding | Embeddings — same gateway and billing as POST /api/v1/embeddings | required |
| check_balance | Current prepaid credit balance | required |
| web_search | Live web search (Linkup, EU) — up to 8 results with full page text | required |
| web_fetch | Read one page as clean markdown (Linkup, EU) | required |
Web access, without leaving the EU
web_search and web_fetch run on Linkup, a search API built in Paris — zero-retention processing and SOC 2 Type II, disclosed as the provider's claims. Your agent asks, Frontière searches, and the model receives the full page text of the top results, the same engine that powers the dashboard chat console.
01
web_search returns up to 8 results with the FULL page text of each — not snippets — so the model can answer from the first call.
02
web_fetch reads any page as clean markdown: follow up on a result URL when the search text is not enough.
03
Search calls are covered by our own Linkup quota — they cost your balance nothing. Only the inference you trigger is billed, at the usual per-token price.
Connect a client
Any MCP client that supports streamable HTTP connects with a URL and a header. Point the URL at /api/mcp and set your API key as the Authorization header — that is the whole setup.
Client config (Claude Desktop, Cursor, Cline…)
{
"mcpServers": {
"frontiere": {
"url": "https://getfrontiereai.eu/api/mcp",
"headers": {
"Authorization": "Bearer ***"
}
}
}
}Or call it raw — one JSON-RPC request per HTTP POST
curl https://getfrontiereai.eu/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'FAQ
Which clients can connect?
Any MCP client that speaks streamable HTTP: Claude Desktop and Claude Code, Cursor, Cline, Roo Code, Continue — or your own integration against the JSON-RPC protocol. No Frontière-specific SDK.
Do all tools require an API key?
No. list_models, get_model and search_models are public, so an agent can discover the catalog first. chat_completion, create_embedding, check_balance, web_search and web_fetch require your sk-front-… key on the Authorization header.
Is billing different from the REST API?
No. The tools forward through the same gateway as /api/v1: same per-token prices, same prepaid balance, same usage logs. An interrupted or failed call is not billed.
Where does web search go?
To Linkup, a search API based in Paris. Zero retention and SOC 2 Type II are the provider's claims, disclosed as such. The search call itself is covered by our Linkup quota — you are billed for the inference you run, not for the search.
Is state kept between calls?
No. The endpoint is stateless: each POST is an independent JSON-RPC request with a synchronous response. That is deliberate — it keeps the endpoint safe on serverless and edge runtimes where connections are short-lived.
Give your agent sovereign models
Create an account, grab a key, paste the URL — your agent has the whole EU-labeled catalog in minutes.