Docs
Server overview
Run Bedrova's local server so your own apps, scripts, and agents can use your models.
Bedrova runs a local HTTP server so anything on your Mac — your code, a script, another app — can use the models you’ve loaded. It speaks the OpenAI and Anthropic dialects plus a native management API. This page covers how to connect; the per-dialect references list every endpoint.
Connecting
Point your client at the root base URL, not a /v1 URL — Bedrova adds the path itself:
http://127.0.0.1:1337
Most OpenAI clients want a baseURL plus an API key. On localhost the key is ignored, so any
placeholder works:
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:1337/v1", api_key="local")
client.chat.completions.create(
model="qwen35-7b-4bit",
messages=[{"role": "user", "content": "Hello"}],
)
The port is configurable in Settings → Server/API. Ready-made snippets for common clients are in Integrations.
The three surfaces
| Surface | Path prefix | Reference |
|---|---|---|
| OpenAI-compatible | /v1/* | API: OpenAI /v1 |
| Anthropic-compatible | /anthropic/v1/* | API: Anthropic |
| Native management | /api/v1/* | API: Management /api/v1 |
The management routes are the same ones Bedrova’s own UI uses — models, downloads, loaded models, memory, search, rerank, perception, hardware, settings, diagnostics — and they return the shared contract shapes.
Auth and exposure
On 127.0.0.1 the server is open and needs no auth — it’s reachable only from your Mac.
Exposing it to your LAN or Tailscale is behind an explicit toggle with a clear warning, and
turning it on requires an access key. Send it as an OpenAI Authorization: Bearer token
or an Anthropic x-api-key header. CORS origins are configurable. See
Settings reference and the trust note in
Network calls.
Streaming
Chat, responses, audio synthesis, and image progress stream over Server-Sent Events with
OpenAI-style [DONE] framing. Set stream: true on the request.
Just-in-time loading, TTL, and MCP
A model that isn’t loaded yet loads on its first request and auto-evicts after an idle TTL you control. Pinned models stay resident. Tool calling and MCP work over the API as well as in the app — see Tool calling & MCP. The loading and eviction mechanics are in Memory & loading.
Screenshot: the Server view with the live request log — added at launch.