Run it. Point your SDK at it. Ship.
AdaptiveAPI is a multilingual proxy you self-host. The reference below walks through running the stack locally, creating a route, and wiring up OpenAI, Anthropic, MCP, or any HTTP+JSON API. Deploy notes and a full configuration reference live at the end.
Getting started
Clone, run with Docker, send your first translated request inside five minutes.
02Authentication
Where DeepL, OpenAI, Anthropic, and MCP tokens go. What is stored, what is forwarded, what is hashed.
03Routes and tokens
How a route is shaped, how tokens are issued and stored, and the request-time headers you can use.
04LLM providers
Drop-in patterns for OpenAI and Anthropic. Same SDK, same keys, new base URL.
05MCP servers
Translate every MCP server (remote and stdio) without changing your client or your credentials.
06Generic JSON API
Translate any HTTP+JSON API by describing which JSON paths carry human text. No code on either end.
07Style rules & customization
Locale-aware adaptation. Number formats, date formats, formality, terminology, custom instructions.
08PII detection
Built-in regex detectors, Presidio for higher recall, and custom rules for your own identifiers.
09Translation pipeline
Streaming strategies, tool-call walking, and glossary mechanics.
10Deployment
Docker compose, Helm chart, source builds, and what to flip when you outgrow SQLite.
11Configuration
Every env var and appsettings key, with defaults and where it gets read.
How the pieces fit together
The API is a .NET 10 minimal API. It exposes four request surfaces.
/v1/<route>/ for OpenAI-shaped traffic, /anthropic/v1/<route>/
for Anthropic, /mcp/<route> for MCP servers, and
/generic/<route>/ for any other JSON API you describe in
route config.
Each surface speaks the upstream wire format byte for byte. The translation
pipeline only touches the human-language fields. Identifiers, schemas,
streaming framing, and tool argument keys stay verbatim. The admin UI
sits at /admin and is served by a Vue 3 build.
What you need before you start
- Docker (for the quick start) or .NET 10 + Node 20 (for source).
- Optionally, a translator backend. The default is
passthrough, which leaves text unchanged so you can verify routing first. - Whichever upstream key you plan to forward (OpenAI, Anthropic, MCP server token). Your key is forwarded, not stored.