Multi-Model MCP SDK — deploy to GPT, Claude, Gemini, Copilot from one codebase.
Project description
Kalibr SDK v1.0.26
Multi-Model AI Integration Framework
Write once. Deploy anywhere. Connect to any AI model.
Kalibr turns your Python functions into APIs that automatically work with GPT Actions, Claude MCP, Gemini Extensions, and Copilot Plugins — all from one codebase.
It’s the unified SDK layer for building, packaging, and deploying AI-ready endpoints.
🧠 Core Purpose
Kalibr is a multi-model integration SDK that converts simple Python functions into fully MCP-compatible APIs for every major AI model ecosystem.
One function → Four schemas → Deploy anywhere.
⚙️ What It Does
1. Unified Schema Generation
Kalibr automatically generates and serves schemas for:
/openapi.json→ GPT Actions/mcp.json→ Claude MCP/schemas/gemini→ Gemini Extensions/schemas/copilot→ Copilot Plugins/models/supported→ List of supported integrations
No manual YAML or JSON schema creation needed.
2. Environment-Aware Base URLs
Kalibr auto-detects where it's running and sets the correct base URL automatically:
| Environment | Example Base URL |
|---|---|
| Local | http://localhost:8000 |
| Fly.io | https://<app>.fly.dev |
| Render | https://<app>.onrender.com |
| Custom | Set via KALIBR_BASE_URL |
3. Deployment & Runtime Abstraction
Kalibr provides a single CLI entrypoint for local and hosted runtime deployment:
kalibr serve my_app.py
kalibr deploy my_app.py --runtime fly|render|local
kalibr version
Each runtime automatically generates valid schema URLs and deployment bundles (Dockerfile, fly.toml, etc).
4. Two Development Modes
Simple Mode (Function-Level)
For lightweight APIs and test integrations.
from kalibr import Kalibr
app = Kalibr(title="Weather API")
@app.action("get_weather", "Fetch weather data")
def get_weather(city: str):
return {"city": city, "temp": 72, "condition": "sunny"}
Advanced Mode (Full App)
from kalibr import KalibrApp
from kalibr.types import FileUpload, Session
app = KalibrApp(title="Document API")
@app.file_handler("analyze_doc", [".pdf", ".docx"])
async def analyze_doc(file: FileUpload):
return {"filename": file.filename, "result": "parsed"}
@app.session_action("save_data")
async def save_data(session: Session, data: dict):
session.set("data", data)
return {"saved": True}
Includes:
- Async/await support
- File uploads
- Session persistence
- Streaming responses
- Workflow scaffolding
5. Built-in Routes
| Endpoint | Purpose |
|---|---|
/health |
Health + version check |
/docs |
Swagger UI |
/models/supported |
Shows model compatibility |
/openapi.json, /mcp.json, etc. |
Model schemas |
6. CLI Reference
kalibr serve my_app.py # Run locally
kalibr deploy my_app.py # Deploy to Fly/Render
kalibr examples # Copy examples
kalibr version # Show SDK version
7. Value Proposition
For developers or MCP infrastructure projects (e.g. Emergent):
- Instant MCP onboarding — one file → all model schemas
- Zero config — no schema or deployment setup required
- Multi-runtime support — local, Fly, Render, or custom hosts
- Unified interface layer — consistent schema output for all AI platforms
8. Upcoming Additions
- Observability + tracing hooks
- Usage metering and billing
- Schema diffing / auto-validation
- Multi-runtime load routing
License
MIT License © 2025 Kalibr Team
GitHub: https://github.com/devonakelley/kalibr-sdk
Kalibr SDK — the unified layer between AI models and the real world.
Write once. Deploy anywhere. Integrate everything.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kalibr-1.0.26.tar.gz.
File metadata
- Download URL: kalibr-1.0.26.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c928947509ccb7a448006b50bf1fcc3b5505a2ea4964577b901b3cd465fafd83
|
|
| MD5 |
74c6278bb724d42be18a3ceeb2d2e241
|
|
| BLAKE2b-256 |
fb3a457d0703f621fe2f04860763fbb300b2102875b1f6bacfdb159253493556
|
File details
Details for the file kalibr-1.0.26-py3-none-any.whl.
File metadata
- Download URL: kalibr-1.0.26-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63ff35fa0ee3a82c98f907de2a7acb67cdcf32e2ff7616607525af1098da2e57
|
|
| MD5 |
184d11cf5de8550d4c93e7ab86fd205d
|
|
| BLAKE2b-256 |
5d7f25cb234720828275bd9def5d6b8d9c1e67c8405683eff44c6115cf11ded6
|