invariant
Invariant
Die agentische API-Bereitstellungsschicht. Ihr KI-Agent erhält Wetterdaten, Aktienkurse, Gesundheitsdaten, Karten und führende LLMs über einen einzigen Endpunkt. invariant erstellt die Konten, verwaltet die Schlüssel, setzt Kontingente durch und springt ein, wenn etwas ausfällt. Sie müssen nie ein Entwicklerportal berühren.
Ein Schlüssel rein. Jede API raus.
Warum existiert invariant?
Ein nützlicher KI-Agent muss zehn verschiedene Dienste aufrufen. Ein LLM, eine Wetter-API, einen Aktienticker, einen Geocoder, eine Gesundheitsdatenbank, eine Suche für Wohltätigkeitsorganisationen. Das heute aufzubauen bedeutet:
Zehn Entwicklerportale, zehn Anmeldeformulare, zehn E-Mail-Bestätigungen
Zehn API-Schlüssel, die rotiert und gesichert werden müssen
Zehn verschiedene Authentifizierungsschemata, Ratenbegrenzungen und Fehlerformate
Zehn Möglichkeiten, wie ein einzelner Aufruf fehlschlagen kann, und kein Fallback, wenn einer ausfällt
invariant fasst all das in einer verwalteten Schicht zusammen. Sie verbinden sich einmal über MCP oder REST, und die Bereitstellung, das Routing, die Kontingentabrechnung und das Failover geschehen oberhalb Ihres Agenten.
Related MCP server: Frostbyte MCP
Anbieterkatalog
Anbieter | Kategorie | Ratenbegrenzung | Schlüssel nötig? |
OpenFDA | Körperliche Ges. | 240 Anfr./Min. | Nein |
Mental Health Resources | Psychische Ges. | unbegrenzt | Nein |
CoinGecko | Finanzen | ~50 Anfr./Min. | Nein |
Finnhub | Finanzen | 60 Anfr./Min. | Kostenlose Anm. |
Every.org | Soziale Wirkung | großzügig | Kostenlose Anm. |
OpenWeatherMap | Umwelt | 60 Anfr./Min. | Kostenlose Anm. |
Anthropic Claude | KI | . | Bezahlt |
Google Gemini | KI | 1.500 Anfr./Tag | Kostenlos (AI Studio) |
HuggingFace | KI | großzügig | Kostenlose Anm. |
Geoapify | Karten | 3.000 Anfr./Tag | Kostenlos, keine Karte |
In der gehosteten Instanz übernimmt invariant jede Zeile mit "Kostenlose Anm." für Sie. Sie sehen diese Portale nie. Selbst gehostete Instanzen können ihre eigenen Schlüssel über Umgebungsvariablen einbringen.
Funktionsweise
┌─────────────────────┐
│ Your AI Agent │
│ (Claude, Cursor, │
│ Codex, custom) │
└──────────┬──────────┘
│ MCP (JSON-RPC) or REST
│ single key: x-pl-key
▼
┌─────────────────────────────────┐
│ invariant │
│ ┌───────────────────────────┐ │
│ │ auth + quota │ │
│ │ (Supabase + Upstash) │ │
│ ├───────────────────────────┤ │
│ │ reasoning layer │ │
│ │ (recommend / compare) │ │
│ ├───────────────────────────┤ │
│ │ provider router + fall- │ │
│ │ back + usage logging │ │
│ └───────────────────────────┘ │
└──────────┬──────────────────────┘
│ managed upstream credentials
▼
OpenFDA . Mental Health . CoinGecko . Finnhub . Every.org
OpenWeatherMap . Anthropic . Gemini . HuggingFace . GeoapifyZugriffsmodi
invariant stellt dieselbe Engine über zwei Schnittstellen bereit.
1. MCP (empfohlen für KI-Clients). JSON-RPC über HTTP unter POST /api/mcp. Funktioniert mit Claude Desktop, Cursor, Claude Code, Windsurf, Cline, Continue.dev, Codex CLI, Goose und der OpenAI Responses API.
2. REST (für eigenen Code). Einfache HTTP-Endpunkte, falls Sie Ihre eigene Integration bauen:
Endpunkt | Methode | Zweck |
| GET | Alle Anbieter und deren Status auflisten |
| POST | Eine Aktion bei einem Anbieter ausführen |
| POST | invariant bitten, den besten Anbieter für ein Ziel zu wählen |
| GET | Ihr aktuelles Kontingent, Tarif und Aufschlüsselung pro Anbieter |
| POST | MCP JSON-RPC-Endpunkt (gleiche Tools, agentenfreundliches Format) |
Jeder Endpunkt erfordert einen x-pl-key: pl_... Header.
Erste Schritte
1. Holen Sie sich Ihren invariant-Schlüssel
Registrieren Sie sich bei der gehosteten Instanz. Sie erhalten einen pl_... Schlüssel. Das ist die einzige Anmeldeinformation, die Sie jemals sehen. Dahinter hält invariant bereits jedes Upstream-Konto für Sie bereit.
2. Verbinden Sie Ihren KI-Client
Alle Clients verbinden sich mit demselben Remote-Endpunkt. Kein Klonen, kein Bauen, kein Node.js erforderlich.
URL: https://pclabs.dev/api/mcp
Header: x-pl-key: pl_your_key_hereClaude Code (CLI)
claude mcp add invariant --transport http https://pclabs.dev/api/mcp --header "x-pl-key: pl_your_key_here"Claude Desktop
Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) oder %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"invariant": {
"type": "http",
"url": "https://pclabs.dev/api/mcp",
"headers": {
"x-pl-key": "pl_your_key_here"
}
}
}
}Starten Sie Claude Desktop nach dem Speichern neu.
claude.ai (Web)
Einstellungen → Integrationen → Benutzerdefinierte Integration hinzufügen. Fügen Sie die URL ein und setzen Sie den x-pl-key Header im Formular. Keine Dateibearbeitung.
Cursor
Bearbeiten Sie ~/.cursor/mcp.json (global) oder .cursor/mcp.json (pro Projekt):
{
"mcpServers": {
"invariant": {
"url": "https://pclabs.dev/api/mcp",
"headers": {
"x-pl-key": "pl_your_key_here"
}
}
}
}Oder über die Benutzeroberfläche: Einstellungen → Tools & Integrationen → MCP → Server hinzufügen.
Windsurf
Bearbeiten Sie ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"invariant": {
"url": "https://pclabs.dev/api/mcp",
"headers": {
"x-pl-key": "pl_your_key_here"
}
}
}
}Oder über die Benutzeroberfläche: Cascade-Panel → MCP-Server → Konfigurieren.
Cline (VS Code Erweiterung)
Öffnen Sie die Cline-Seitenleiste
Klicken Sie auf den Tab "MCP-Server" (Stecker-Symbol)
Server hinzufügen → HTTP
Fügen Sie
https://pclabs.dev/api/mcpals URL einFügen Sie den Header
x-pl-key: pl_ihr_schluessel_hierhinzu
Continue.dev
Bearbeiten Sie ~/.continue/config.json:
{
"mcpServers": [
{
"name": "invariant",
"transport": {
"type": "http",
"url": "https://pclabs.dev/api/mcp",
"headers": {
"x-pl-key": "pl_your_key_here"
}
}
}
]
}OpenAI Codex CLI
Bearbeiten Sie ~/.codex/config.toml:
[mcp_servers.invariant]
type = "http"
url = "https://pclabs.dev/api/mcp"
[mcp_servers.invariant.headers]
x-pl-key = "pl_your_key_here"OpenAI Responses API
Übergeben Sie den MCP-Server direkt als Tool:
response = client.responses.create(
model="codex-mini-latest",
tools=[{
"type": "mcp",
"server_url": "https://pclabs.dev/api/mcp",
"headers": { "x-pl-key": "pl_your_key_here" }
}],
input="What crypto prices are available?"
)Goose (Block)
Bearbeiten Sie ~/.config/goose/config.yaml:
extensions:
invariant:
type: mcp
enabled: true
transport: http
url: https://pclabs.dev/api/mcp
headers:
x-pl-key: pl_your_key_hereMCP-Tools
Der MCP-Endpunkt stellt vier Tools bereit.
recommend
Beschreiben Sie, was Sie benötigen. invariant gibt bewertete Anbieter mit Punktzahlen, Begründung, Preisgestaltung und Verfügbarkeit zurück. Dies ist der agentische Einstiegspunkt. Agenten sollten hier beginnen, nicht mit query.
{
"need": "real-time crypto prices with no signup",
"priorities": ["no-auth", "cost"],
"budget": "free"
}compare
Direkter Vergleich von zwei oder mehr Anbietern hinsichtlich Preisgestaltung, Ratenbegrenzungen, Stärken und Schwächen.
{ "provider_ids": ["claude", "gemini"] }list_providers
Durchsuchen Sie den Katalog, optional gefiltert nach Kategorie: physical_health, mental_health, financial, social_impact, environment, ai, maps.
query
Führen Sie eine spezifische Aktion bei einem bestimmten Anbieter aus. Das Low-Level-Primitiv, das recommend letztendlich aufruft.
{
"provider_id": "coingecko",
"action": "price",
"params": { "ids": "bitcoin", "vs_currencies": "usd" }
}Selbst-Hosting
Sie können Ihre eigene invariant-Instanz betreiben, wenn Sie Ihre eigenen Upstream-Anmeldeinformationen einbringen oder auf Ihrer eigenen Infrastruktur hosten möchten.
Voraussetzungen
Node.js 18+
Ein Supabase-Projekt für Konten und Nutzungsprotokollierung. Siehe migration.sql für das Schema.
Eine Upstash Redis-Instanz für die Ratenbegrenzung pro Minute
Bereitstellung auf Railway
invariant läuft als einzelner Node-HTTP-Server, der in dev-server.ts definiert ist und die Routen-Handler in api/ sowie die Admin-, Anmelde- und Wartelisten-Routen einbindet. Railway erkennt das start-Skript automatisch, daher ist keine railway.toml oder Procfile erforderlich.
npm install
npm run build
npm start # runs dist/dev-server.js on $PORTVerweisen Sie Railway auf dieses Repository und setzen Sie die unten aufgeführten Umgebungsvariablen im Railway-Dashboard.
Umgebungsvariablen
Plattform (erforderlich):
Variable | Beschreibung |
| Supabase-Projekt-URL |
| Supabase-Service-Role-Schlüssel (nur serverseitig) |
| Upstash Redis REST-URL |
| Upstash Redis REST-Token |
| Passwortschutz für die Admin-API-Endpunkte |
Upstream-Anbieter (optional). Lassen Sie eine Variable weg, um diesen Anbieter zu deaktivieren:
Variable | Anbieter |
| Anthropic Claude (console.anthropic.com) |
| Google Gemini (aistudio.google.com) |
| HuggingFace (huggingface.co/settings/tokens) |
| Finnhub (finnhub.io) |
| CoinGecko. Optional, erhöht die Ratenbegrenzung. |
| Every.org (partners.every.org) |
| OpenWeatherMap (openweathermap.org/api) |
| Geoapify (myprojects.geoapify.com) |
| OpenFDA. Optional, erhöht die Ratenbegrenzung. |
Anbieter ohne konfigurierten Schlüssel zeigen Status: Not configured in list_providers an und geben bei Abfrage einen 503-Fehler zurück. OpenFDA und Mental Health Resources funktionieren ganz ohne Schlüssel.
Bereitstellung von Schlüsseln
Schlüssel leben in Supabase, nicht in einer Umgebungsvariable. Wenden Sie migration.sql auf Ihr Projekt an, um die Tabellen accounts und usage zu erstellen, und erstellen Sie dann Konten über die Admin-Endpunkte (geschützt durch ADMIN_PASSWORD) oder durch direktes Einfügen von Zeilen. Jede Kontozeile enthält einen pl_... Schlüssel, einen Tarif, ein monatliches Kontingent und eine Rate pro Minute.
Lokale Entwicklung
cp .env.example .env # fill in your values
npm install
npx tsx dev-server.ts # HTTP server with hot-restart via tsxDer Server lauscht auf $PORT (Standard: 3000). Rufen Sie http://localhost:3000/api/providers mit Ihrem x-pl-key Header auf, um die Funktion zu überprüfen.
Um stattdessen das stdio-MCP-Fallback (siehe unten) auszuführen, verwenden Sie npm run dev.
Fallback: lokales stdio-MCP
Für MCP-Clients, die kein HTTP sprechen, liefert das Repository auch einen schlanken stdio-Proxy in src/, der an ein Remote-invariant-Backend weiterleitet:
npm install
npm run build{
"mcpServers": {
"invariant": {
"command": "node",
"args": ["/absolute/path/to/invariant/dist/index.js"],
"env": {
"PL_API_KEY": "pl_your_key_here",
"PL_BACKEND_URL": "https://pclabs.dev/api/mcp"
}
}
}
}MCP-Client-Umgebungsvariablen für den stdio-Pfad:
Variable | Erforderlich | Beschreibung |
| Ja | Ihr |
| Nein | Backend-URL überschreiben. Standard: |
Hinzufügen eines Anbieters
Erstellen Sie
lib/providers/my-provider.ts, das dasProvider-Interface aus lib/providers/types.ts implementiertRegistrieren Sie es in lib/providers/registry.ts
Fügen Sie alle erforderlichen Umgebungsvariablen zu .env.example hinzu
Fügen Sie Metadaten zu lib/reasoning/ hinzu, damit das
recommend-Tool sie anzeigen kann
Skripte
npm run dev # stdio MCP server via tsx, no build
npm run build # compile TypeScript → dist/
npm start # run compiled standalone server (dist/dev-server.js)
npm test # run test.ts against local backendAufgebaut auf MCP, Hono, Supabase und Upstash Redis.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA bridge allowing AI/LLMs to seamlessly interact with external APIs for weather, finance, and news services through a standardized MCP-compliant interface.
- AlicenseNot gradedqualityCmaintenanceA unified MCP server providing AI agents with 40+ developer APIs including geolocation, crypto prices, DNS lookup, and web scraping. Enables natural language access to various tools through a single gateway.1MIT
- FlicenseNot gradedqualityBmaintenanceA unified gateway for AI agent tools that provides a single MCP stdio endpoint for executing tool calls with unified auth, rate limiting, and observability. Enables agents to interact with multiple external APIs through a standardized interface.1

UnifyAPIofficial
FlicenseNot gradedqualityBmaintenanceOne API key and one billing rail for hundreds of API tools across many providers — exposed to AI agents through a single MCP endpoint and billed per call with x402 crypto payments.
Related MCP Connectors
290+ quality-scored API capabilities for AI agents across 27 countries via MCP.
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/getinvariant/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server