loading…
Search for a command to run...
loading…
Full AI agent lifecycle platform — create, grade, optimize, deploy and orchestrate AI agents from your IDE or terminal.
Full AI agent lifecycle platform — create, grade, optimize, deploy and orchestrate AI agents from your IDE or terminal.
The open-source platform to build, grade, and deploy AI agents — no code required.
Features · Quick Start · Why Kopern · Architecture · MCP · Contributing
Describe your agent in plain text. Kopern builds it, tests it, optimizes it, and deploys it — in under a minute.
Most AI agent tools are frameworks — they give you building blocks and wish you luck. Kopern is a platform: build, test, deploy, and monitor in one place.
| Kopern | LangChain / CrewAI | AutoGen | Dify | |
|---|---|---|---|---|
| No-code agent builder | Yes | No | No | Partial |
| Deterministic grading (6 criteria) | Yes | No | No | No |
| Self-improving optimization lab | Yes (6 modes) | No | No | No |
| One-click deploy (Widget, Slack, Telegram, WhatsApp, Webhooks) | Yes | No | No | Partial |
| Visual team orchestration (React Flow) | Yes | No | No | No |
| Code execution (Python/Node/Bash) | Yes | No | No | Partial |
| MCP server (Claude Code, Cursor) | Yes | No | No | No |
| Built-in Stripe billing | Yes | No | No | No |
| Multi-provider LLM (Anthropic, OpenAI, Google, Ollama) | Yes | Yes | Yes | Yes |
| EU AI Act compliance tools | Yes | No | No | No |
| Agent memory + context compaction | Yes | Partial | No | Partial |
| Email + Calendar tools (OAuth) | Yes | No | No | No |
Kopern is what you'd build if you started from the problem — "How do I ship a production AI agent today?" — instead of the technology.
git clone https://github.com/berch-t/kopern.git
cd kopern
npm install
cp .env.example .env.local # Edit with your keys
npm run dev # http://localhost:3000
# Firebase Client (public)
NEXT_PUBLIC_FIREBASE_API_KEY=...
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-project.firebasestorage.app
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=...
NEXT_PUBLIC_FIREBASE_APP_ID=...
# Firebase Admin (server-side only)
FIREBASE_PROJECT_ID=your-project
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-...@your-project.iam.gserviceaccount.com
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
# Stripe (optional — billing features)
STRIPE_SECRET_KEY=sk_...
STRIPE_WEBHOOK_SECRET=whsec_...
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_...
# LLM API Keys (add the ones you need)
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GOOGLE_AI_API_KEY=AI...
OLLAMA_BASE_URL=http://localhost:11434
# Admin (optional)
NEXT_PUBLIC_ADMIN_UID=your-firebase-uid
# Service Connectors — OAuth (optional)
GOOGLE_OAUTH_CLIENT_ID=...
GOOGLE_OAUTH_CLIENT_SECRET=...
MICROSOFT_OAUTH_CLIENT_ID=...
MICROSOFT_OAUTH_CLIENT_SECRET=...
ENCRYPTION_KEY=... # 64-char hex: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# Slack Bot (optional)
SLACK_CLIENT_ID=...
SLACK_CLIENT_SECRET=...
SLACK_SIGNING_SECRET=...
# Rate Limiting (optional)
UPSTASH_REDIS_REST_URL=...
UPSTASH_REDIS_REST_TOKEN=...
firebase deploy --only firestore:rules,firestore:indexes
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript (strict mode) |
| UI | shadcn/ui + Radix UI + Tailwind CSS 4 |
| Animation | Framer Motion 12 |
| Visual Editor | React Flow v12 |
| Database | Cloud Firestore (real-time) |
| Auth | Firebase Authentication (Google/GitHub/Email) |
| Billing | Stripe (subscriptions + usage meters) |
| LLM | Multi-provider streaming (Anthropic, OpenAI, Google, Ollama) |
| Code Execution | GCP Cloud Run (Python/Node/Bash sandbox) |
| Rate Limiting | Upstash Redis |
| Validation | Zod v4 |
| Encryption | AES-256-GCM (OAuth tokens) |
remember, recall, forget, search_sessions toolsread_emails, send_email, reply_email via OAuthlist_events, check_availability, create_event, update_event, cancel_eventread_file, search_files, create_branch, commit_files, create_pull_requestgemini-3.1-flash-image-preview, auto-upload to Firebase Storagesocial_create_post, social_create_thread, social_read_feed, social_get_metrics, social_search_mentions, social_reply (Bluesky AT Protocol)list_bugs, get_bug, update_bug_status, send_thank_you_email (admin-only)<script> tag for any website (Shadow DOM, SSE, markdown, mobile-responsive)/monitor page: 18 standardized prompts across 6 criteria (reasoning, instruction following, consistency, latency, edge cases, output quality)[CRITICAL] and [SUGGESTION] parsed into expandable severity-coded cards/monitor/{runId} page, JSON download, Twitter sharing, OG images/grader page: paste a system prompt + test cases, get a radar chart scorecard/blog with Markdown files (gray-matter), reading time, i18n locale fallback +------------------+
| Next.js App |
| (App Router) |
+--------+---------+
|
+--------------+--------------+
| | |
+-----+-----+ +-----+----+ +------+-----+
| Dashboard | | API | | Landing |
| (auth) | | Routes | | (public) |
+-----------+ +----+-----+ +------------+
|
+--------------------+--------------------+
| | | | |
+----+---+ +--+-----+ +--+----+ +--+------+ +-+------+
| Chat | |Grading | | MCP | |Connectors| | Teams |
| SSE | | Lab | |Server | | (5 ch.) | | (Flow)|
+----+---+ +---+----+ +---+---+ +---+------+ +----+--+
| | | | |
+----+--------+-----------+---------+-------------+--+
| runAgentWithTools() |
| (shared agentic loop — all routes) |
+----+------------+------------+--------------+------+
| | | |
+----+----+ +---+----+ +---+----+ +-----+------+
|streamLLM| |Firebase | |Stripe | |GCP Cloud |
|(multi- | |Admin SDK| |Billing | |Run (code |
|provider)| |Firestore| |Meters | |interpreter)|
+---------+ +---------+ +--------+ +------------+
users/{userId}
/agents/{agentId}
/skills, /tools, /extensions, /versions
/memory/{key} # Agent memory (LRU eviction, keyword search)
/gradingSuites/{suiteId}/cases, /runs/{runId}/results
/autoresearchRuns/{runId}/iterations
/pipelines/{pipelineId}, /sessions/{sessionId}
/connectors/widget, /connectors/slackConnection
/webhooks/{webhookId}, /webhookLogs/{logId}
/mcpServers/{serverId}/usage/{yearMonth}
/serviceConnectors/{provider} # Encrypted OAuth tokens (AES-256-GCM)
/agentTeams/{teamId}
/activity/{activityId} # 8-action audit trail
/tasks/{taskId} # Kanban task board
/routines/{routineId} # CRON scheduled routines
/goals/{goalId}
/usage/{yearMonth} # Token + cost tracking with agent breakdown
/bugs/{bugId}
monitorRuns/{runId} # Workflow quality diagnostic results
apiKeys/{sha256Hash} # MCP API keys (O(1) lookup)
slackTeams/{teamId} # Slack workspace index
telegramBots/{hash} # Telegram bot routing
whatsappPhones/{phoneId} # WhatsApp phone routing
| Route | Purpose |
|---|---|
POST /api/agents/[id]/chat |
SSE streaming chat with tool calling |
POST /api/agents/[id]/grading/[suite]/run |
Grading runner |
POST /api/agents/[id]/autoresearch/* |
6 optimization modes |
POST /api/agents/meta-create |
AI agent creation (JSON output) |
POST /api/mcp/server |
MCP Streamable HTTP protocol |
POST /api/widget/chat |
Embeddable widget SSE |
POST /api/webhook/[id] |
Inbound webhooks |
POST /api/slack/events |
Slack Events API |
POST /api/telegram/webhook |
Telegram bot |
POST /api/whatsapp/webhook |
WhatsApp Cloud API |
POST /api/teams/[id]/execute |
Team execution SSE |
GET /api/oauth/google|microsoft |
Service connector OAuth |
POST /api/monitor/run |
Workflow quality diagnostic (SSE, 18 prompts) |
GET /api/monitor/[runId] |
Fetch shared diagnostic report |
POST /api/grader/run |
Public prompt grading (no auth) |
GET /api/cron/grading |
Scheduled grading + alerts (Vercel Cron) |
GET /api/cron/routines |
Scheduled team routines (Vercel Cron) |
POST /api/agents/[id]/pipelines/[pid]/execute — Pipeline executionPOST /api/agents/[id]/approve — Tool approval decisionPOST/PUT/DELETE /api/mcp/keys — API key managementPOST /api/mcp — Legacy JSON-RPC endpointPOST /api/stripe/checkout — Stripe Checkout sessionPOST /api/stripe/webhook — Stripe webhook (9 events)GET /api/stripe/subscription — Current subscriptionPOST /api/stripe/portal — Customer Portal redirectGET/POST /api/github/content — Repo tree + file contentGET /api/github/repos — List user reposPOST /api/bug-report — Bug report submissionGET /api/widget/config — Widget config JSONGET /api/widget/script — Widget JS bundleGET /api/slack/install — Slack OAuth URLGET /api/slack/oauth — Slack OAuth callbackPOST /api/telegram/setup — Telegram bot setupPOST /api/whatsapp/setup — WhatsApp phone setupPOST /api/oauth/disconnect — Revoke service connectorGET /api/agents/[id]/compliance-report — EU AI Act reportPOST /api/monitor/setup-team — Create monitor agent team for userGET /api/monitor/[runId]/og — OG image for monitor reportPOST /api/grader/run — Public prompt grading (rate-limited 5/day/IP)GET /api/grader/[runId]/og — OG image for grader scorecardPOST /api/grader/generate-cases — AI-generate test cases for a promptPOST /api/grader/probe — Probe external endpoint formatGET /api/health — Liveness checkKopern exposes its entire platform as an MCP server — 32 tools for the full agent lifecycle, from creation to deployment to monitoring. Works with Claude Code, Cursor, Windsurf, and any MCP client.
Option A — Platform key (recommended for most use cases):
.mcp.json:{
"mcpServers": {
"kopern": {
"type": "http",
"url": "https://kopern.ai/api/mcp/server",
"headers": {
"Authorization": "Bearer kpn_your_api_key_here"
}
}
}
}
Option B — Agent-bound key (for chat + agent-specific tools):
.mcp.json format — this key unlocks kopern_chat and kopern_agent_info in addition to all platform tools.| Tool | Description |
|---|---|
kopern_chat |
Send a message to the agent with tool calling |
kopern_agent_info |
Get agent metadata |
| Tool | Description | LLM Cost |
|---|---|---|
kopern_create_agent |
Create agent with system prompt, skills, tools | Free |
kopern_get_agent |
Full agent details + subcollection counts | Free |
kopern_update_agent |
Update prompt, model, tools, config | Free |
kopern_delete_agent |
Permanent delete with cascade | Free |
kopern_list_agents |
List all agents with scores | Free |
| Tool | Description | LLM Cost |
|---|---|---|
kopern_list_templates |
Browse 37 templates (28 general + 9 vertical) | Free |
kopern_deploy_template |
1-click deploy with onboarding variables | Free |
| Tool | Description | LLM Cost |
|---|---|---|
kopern_grade_prompt |
Grade a system prompt inline (no agent needed) | Your keys |
kopern_create_grading_suite |
Define test cases on an agent | Free |
kopern_run_grading |
Run all test cases, get detailed scores | Your keys |
kopern_run_autoresearch |
AutoTune iterative optimization | Your keys |
kopern_get_grading_results |
Detailed results of a grading run | Free |
kopern_list_grading_runs |
Score history over time | Free |
| Tool | Description | LLM Cost |
|---|---|---|
kopern_create_team |
Multi-agent team (parallel/sequential/conditional) | Free |
kopern_run_team |
Execute team on a prompt | Your keys |
kopern_create_pipeline |
Multi-step pipeline with input mapping | Free |
kopern_run_pipeline |
Execute pipeline sequentially | Your keys |
| Tool | Description | LLM Cost |
|---|---|---|
kopern_connect_widget |
Embeddable chat widget + embed code | Free |
kopern_connect_telegram |
Telegram bot via @BotFather | Free |
kopern_connect_whatsapp |
WhatsApp Business via Meta Cloud API | Free |
kopern_connect_slack |
Slack OAuth install URL | Free |
kopern_connect_webhook |
Inbound/outbound webhooks (n8n, Zapier, Make) | Free |
kopern_connect_email |
Gmail/Outlook OAuth + email tools | Free |
kopern_connect_calendar |
Google/Microsoft Calendar + scheduling tools | Free |
| Tool | Description | LLM Cost |
|---|---|---|
kopern_list_sessions |
Conversation history with metrics | Free |
kopern_get_session |
Full session detail (events, tool calls) | Free |
kopern_manage_memory |
Agent memory CRUD (remember/recall/forget/list) | Free |
kopern_compliance_report |
EU AI Act compliance report (Art. 6/12/14/52) | Free |
kopern_get_usage |
Token usage, cost, per-agent breakdown | Free |
kopern_export_agent |
Export agent as portable JSON | Free |
kopern_import_agent |
Import agent from Kopern export JSON | Free |
| Starter (Free) | Pro ($79/mo) | Usage (PAYG) | Enterprise ($499/mo) | |
|---|---|---|---|---|
| Agents | 2 | 25 | Unlimited | Unlimited |
| Tokens/month | 10K | 1M | Pay per use | 10M |
| MCP Endpoints | 1 | 10 | Unlimited | Unlimited |
| Grading runs | 5/mo | 100/mo | $0.10/run | Unlimited |
| Models | Sonnet + Haiku | All | All | All + fine-tuned |
| Connectors | 0 | 3 | Unlimited | Unlimited |
| Optimization Lab | -- | 6 modes | 6 modes | 6 modes + priority |
| Teams | 0 | 5 | Unlimited | Unlimited |
# 1. Push to GitHub
# 2. Import in Vercel
# 3. Add env vars in Vercel dashboard
# 4. Deploy
Run Kopern on your own infrastructure. Ideal for enterprises with data sovereignty requirements or teams wanting full local operation with Ollama.
git clone https://github.com/berch-t/kopern.git
cd kopern
cp .env.example .env.local
# Edit .env.local with your Firebase + LLM keys
docker compose up -d
# Open http://localhost:3000
Full local mode (no cloud dependencies):
firebase-emulator service in docker-compose.ymlollama service for local LLMsFIRESTORE_EMULATOR_HOST=firebase-emulator:8080 in .env.localOLLAMA_BASE_URL=http://ollama:11434 in .env.localEnterprise LLM support:
azure-openai provider with your deployment endpointopenai provider with custom OPENAI_BASE_URL for vLLM, TGI, or internal LLMshttps://your-domain.com/api/stripe/webhookcheckout.session.completed, customer.subscription.*, invoice.*We welcome contributions of all kinds. See CONTRIBUTING.md for guidelines.
Good first issues:
npm install # Install dependencies
npm run dev # Dev server on :3000
npm run build # Production build
npm run lint # ESLint
npx tsc --noEmit # Type check
See SECURITY.md for vulnerability reporting.
MIT — use it, fork it, build on it.
Built with coffee and ambition in Grenoble, France.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"kopern": {
"command": "npx",
"args": []
}
}
}