MCP Hub
Back to servers

Kopern

Full AI agent lifecycle platform — create, grade, optimize, deploy and orchestrate AI agents from your IDE or terminal.

glama
Updated
Apr 3, 2026

Kopern

The open-source platform to build, grade, and deploy AI agents — no code required.

Live Demo MIT License TypeScript Next.js 16

npm version Smithery Glama

Features · Quick Start · Why Kopern · Architecture · MCP · Contributing


Kopern Demo — Create an agent in 30 seconds

Describe your agent in plain text. Kopern builds it, tests it, optimizes it, and deploys it — in under a minute.


Why Kopern?

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.

KopernLangChain / CrewAIAutoGenDify
No-code agent builderYesNoNoPartial
Deterministic grading (6 criteria)YesNoNoNo
Self-improving optimization labYes (6 modes)NoNoNo
One-click deploy (Widget, Slack, Telegram, WhatsApp, Webhooks)YesNoNoPartial
Visual team orchestration (React Flow)YesNoNoNo
Code execution (Python/Node/Bash)YesNoNoPartial
MCP server (Claude Code, Cursor)YesNoNoNo
Built-in Stripe billingYesNoNoNo
Multi-provider LLM (Anthropic, OpenAI, Google, Ollama)YesYesYesYes
EU AI Act compliance toolsYesNoNoNo
Agent memory + context compactionYesPartialNoPartial
Email + Calendar tools (OAuth)YesNoNoNo

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.


Features

Agent Builder

  • AI Agent Wizard — Describe your agent in plain text, get a fully configured agent (system prompt, skills, tools, extensions, grading suite) generated as structured JSON
  • Zero-Code Onboarding — Template gallery (28 general + 9 vertical business templates) with guided questionnaire and 1-click deploy
  • Visual Configuration — System prompts, markdown skills, custom tools (sandboxed JS), TypeScript extensions, branding (custom icons + colors)
  • Multi-Model — Anthropic (Claude), OpenAI (GPT), Google (Gemini), Ollama (local) via unified streaming with key rotation failover (up to 5 keys/provider)
  • Extended Thinking — 6 levels (off, minimal, low, medium, high, xhigh)
  • Agent Memory — Persistent key-value memory across sessions, auto-injected in context, LRU eviction, cross-session search
  • Context Compaction — Automatic Haiku-based summarization of old messages when context window fills up

Built-in Agent Tools

  • web_fetch — Server-side HTTP fetch (GET/POST/PUT/DELETE), HTML-to-text extraction, anti-loop protection
  • code_interpreter — Python, Node.js, and Bash execution via GCP Cloud Run (numpy, pandas, matplotlib pre-installed, auto-scale 0-10, 300s timeout)
  • Agent Memoryremember, recall, forget, search_sessions tools
  • Email (Gmail + Outlook) — read_emails, send_email, reply_email via OAuth
  • Calendar (Google + Microsoft) — list_events, check_availability, create_event, update_event, cancel_event
  • GitHubread_file, search_files, create_branch, commit_files, create_pull_request
  • Bug Managementlist_bugs, get_bug, update_bug_status, send_thank_you_email (admin-only)

Grading and Optimization Lab

  • Deterministic Grading — 6 criteria: output match, schema validation, tool usage, safety check, custom script, LLM judge
  • Scheduled Grading — Vercel Cron with configurable schedule, score drop and threshold alerts via email/Slack/webhook
  • AutoTune — Iterative prompt refinement via hill-climbing
  • AutoFix — One-click diagnosis and patch for failed test cases (self-sufficient: generates its own test suite if needed)
  • Stress Lab — Automated red team: prompt injection, jailbreaks, hallucination traps, with auto-hardening
  • Tournament — A/B model arena to find the best config
  • Distillation — Same quality, fraction of the cost
  • Evolution — Parallel search across prompt x model x config space

Deploy Everywhere

  • Embeddable Widget — Drop-in <script> tag for any website (Shadow DOM, SSE, markdown, mobile-responsive)
  • Slack Bot — OAuth install, @mention/DM, thread context, conversational tool approval
  • Telegram Bot — Webhook-based, async processing, conversational tool approval
  • WhatsApp — Cloud API (Meta Business), conversational tool approval
  • Webhooks — Inbound (sync JSON, HMAC) + Outbound with anti-loop protection
  • MCP Protocol — Real Streamable HTTP server for Claude Code, Cursor, and any MCP client
  • n8n / Zapier / Make — Native integration via HTTP Request nodes

Visual Orchestration (React Flow)

  • Flow Editor — Drag-and-drop node editor with 5 node types: Agent, Condition, Trigger, Output, Export
  • Node Configuration — Double-click to edit any node; full agent config editing without leaving the page
  • Agent Branding — Custom icons and colors visible on team flow nodes
  • Export Node — Choose output format (JSON, CSV, Markdown, PDF) with auto-download
  • Runtime Status — Live node status updates during team execution
  • Auto-layout — Automatic parallel/sequential/conditional layout
  • Activity Timeline — 8-action audit trail for team operations
  • Kanban Board — 6-column drag-drop task management
  • Goal Tree — Collapsible goal hierarchy with progress bars
  • Org Chart — SVG organizational chart with Buchheim-Walker layout
  • Routine Scheduler — CRON-based recurring team tasks
  • Budget Enforcer — Team spend tracking and budget limits
  • Pipelines — Multi-step workflows with input mapping and per-step tool calling
  • Sub-agent Delegation — Coordinator agents delegate subtasks to specialists

Operator Dashboard

  • KPI Cards — Messages, resolution rate, satisfaction, cost at a glance
  • One-click AutoFix — Improve your agent with zero technical knowledge
  • Simplified Edit Form — Re-answer onboarding questions to update agent behavior
  • Memory Panel — View, add, delete agent memories with usage indicator
  • Connector Status — See which channels are active with dedicated config pages
  • Service Connector Panel — Connect/disconnect Google and Microsoft OAuth

Billing and Security

  • Stripe Billing — Subscriptions + usage-based meters, customer portal
  • Plan Enforcement — Token, agent, grading, team, pipeline, MCP limits
  • Rate Limiting — 8 Upstash Redis sliding window limiters
  • Input Validation — Zod v4 schemas on all API routes
  • Tool Approval — EU AI Act Art. 14 human oversight for destructive actions (interactive SSE + conversational on messaging channels)
  • Encrypted OAuth Tokens — AES-256-GCM, daily limits (20 emails/day, 10 events/day per agent)
  • CSP Headers — Content Security Policy on all routes

Platform

  • Internationalization — Full English/French (800+ keys each)
  • Dark Mode — OKLch color system
  • Mobile Responsive — Sheet drawer sidebar
  • Session Tracking — Conversation timelines, JSON export
  • Version Control — Snapshot agents, track grading per version, auto-increment on prompt change
  • Bug Fixer Agent — Autonomous dev agent: reads codebase, creates PR, sends thank-you email
  • EU AI Act Compliance — Automated compliance reports (Art. 6, 12, 14, 52)

Quick Start

Prerequisites

  • Node.js >= 20
  • A Firebase project (Firestore + Auth)
  • At least one LLM API key (Anthropic, OpenAI, or Google)

Install

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

Environment Variables

Click to expand full .env.local template
# 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=...

Deploy Firestore Rules

firebase deploy --only firestore:rules,firestore:indexes

Tech Stack

LayerTechnology
FrameworkNext.js 16 (App Router)
LanguageTypeScript (strict mode)
UIshadcn/ui + Radix UI + Tailwind CSS 4
AnimationFramer Motion 12
Visual EditorReact Flow v12
DatabaseCloud Firestore (real-time)
AuthFirebase Authentication (Google/GitHub/Email)
BillingStripe (subscriptions + usage meters)
LLMMulti-provider streaming (Anthropic, OpenAI, Google, Ollama)
Code ExecutionGCP Cloud Run (Python/Node/Bash sandbox)
Rate LimitingUpstash Redis
ValidationZod v4
EncryptionAES-256-GCM (OAuth tokens)

Architecture

                    +------------------+
                    |   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)|
  +---------+ +---------+ +--------+ +------------+

Firestore Schema

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}
apiKeys/{sha256Hash}                # MCP API keys (O(1) lookup)
slackTeams/{teamId}                 # Slack workspace index
telegramBots/{hash}                 # Telegram bot routing
whatsappPhones/{phoneId}            # WhatsApp phone routing

API Routes

RoutePurpose
POST /api/agents/[id]/chatSSE streaming chat with tool calling
POST /api/agents/[id]/grading/[suite]/runGrading runner
POST /api/agents/[id]/autoresearch/*6 optimization modes
POST /api/agents/meta-createAI agent creation (JSON output)
POST /api/mcp/serverMCP Streamable HTTP protocol
POST /api/widget/chatEmbeddable widget SSE
POST /api/webhook/[id]Inbound webhooks
POST /api/slack/eventsSlack Events API
POST /api/telegram/webhookTelegram bot
POST /api/whatsapp/webhookWhatsApp Cloud API
POST /api/teams/[id]/executeTeam execution SSE
GET /api/oauth/google|microsoftService connector OAuth
GET /api/cron/gradingScheduled grading + alerts (Vercel Cron)
GET /api/cron/routinesScheduled team routines (Vercel Cron)
Full route list (25+ routes)
  • POST /api/agents/[id]/pipelines/[pid]/execute — Pipeline execution
  • POST /api/agents/[id]/approve — Tool approval decision
  • POST/PUT/DELETE /api/mcp/keys — API key management
  • POST /api/mcp — Legacy JSON-RPC endpoint
  • POST /api/stripe/checkout — Stripe Checkout session
  • POST /api/stripe/webhook — Stripe webhook (9 events)
  • GET /api/stripe/subscription — Current subscription
  • POST /api/stripe/portal — Customer Portal redirect
  • GET/POST /api/github/content — Repo tree + file content
  • GET /api/github/repos — List user repos
  • POST /api/bug-report — Bug report submission
  • GET /api/widget/config — Widget config JSON
  • GET /api/widget/script — Widget JS bundle
  • GET /api/slack/install — Slack OAuth URL
  • GET /api/slack/oauth — Slack OAuth callback
  • POST /api/telegram/setup — Telegram bot setup
  • POST /api/whatsapp/setup — WhatsApp phone setup
  • POST /api/oauth/disconnect — Revoke service connector
  • GET /api/agents/[id]/compliance-report — EU AI Act report
  • GET /api/health — Liveness check

MCP Integration

Kopern 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.

Setup

Option A — Platform key (recommended for most use cases):

  1. Sign up on kopern.ai
  2. Go to Settings > Personal API Key — generate a key
  3. Add to your .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):

  1. Create an agent in Kopern
  2. Go to MCP/API tab > generate an API key
  3. Same .mcp.json format — this key unlocks kopern_chat and kopern_agent_info in addition to all platform tools.

Available MCP Tools (32)

Agent-Bound Only (require agent key)

ToolDescription
kopern_chatSend a message to the agent with tool calling
kopern_agent_infoGet agent metadata

Agent CRUD

ToolDescriptionLLM Cost
kopern_create_agentCreate agent with system prompt, skills, toolsFree
kopern_get_agentFull agent details + subcollection countsFree
kopern_update_agentUpdate prompt, model, tools, configFree
kopern_delete_agentPermanent delete with cascadeFree
kopern_list_agentsList all agents with scoresFree

Templates

ToolDescriptionLLM Cost
kopern_list_templatesBrowse 37 templates (28 general + 9 vertical)Free
kopern_deploy_template1-click deploy with onboarding variablesFree

Grading & Optimization

ToolDescriptionLLM Cost
kopern_grade_promptGrade a system prompt inline (no agent needed)Your keys
kopern_create_grading_suiteDefine test cases on an agentFree
kopern_run_gradingRun all test cases, get detailed scoresYour keys
kopern_run_autoresearchAutoTune iterative optimizationYour keys
kopern_get_grading_resultsDetailed results of a grading runFree
kopern_list_grading_runsScore history over timeFree

Teams & Pipelines

ToolDescriptionLLM Cost
kopern_create_teamMulti-agent team (parallel/sequential/conditional)Free
kopern_run_teamExecute team on a promptYour keys
kopern_create_pipelineMulti-step pipeline with input mappingFree
kopern_run_pipelineExecute pipeline sequentiallyYour keys

Connectors

ToolDescriptionLLM Cost
kopern_connect_widgetEmbeddable chat widget + embed codeFree
kopern_connect_telegramTelegram bot via @BotFatherFree
kopern_connect_whatsappWhatsApp Business via Meta Cloud APIFree
kopern_connect_slackSlack OAuth install URLFree
kopern_connect_webhookInbound/outbound webhooks (n8n, Zapier, Make)Free
kopern_connect_emailGmail/Outlook OAuth + email toolsFree
kopern_connect_calendarGoogle/Microsoft Calendar + scheduling toolsFree

Monitoring & Data

ToolDescriptionLLM Cost
kopern_list_sessionsConversation history with metricsFree
kopern_get_sessionFull session detail (events, tool calls)Free
kopern_manage_memoryAgent memory CRUD (remember/recall/forget/list)Free
kopern_compliance_reportEU AI Act compliance report (Art. 6/12/14/52)Free
kopern_get_usageToken usage, cost, per-agent breakdownFree
kopern_export_agentExport agent as portable JSONFree
kopern_import_agentImport agent from Kopern export JSONFree

Plan Limits

Starter (Free)Pro ($79/mo)Usage (PAYG)Enterprise ($499/mo)
Agents225UnlimitedUnlimited
Tokens/month10K1MPay per use10M
MCP Endpoints110UnlimitedUnlimited
Grading runs5/mo100/mo$0.10/runUnlimited
ModelsSonnet + HaikuAllAllAll + fine-tuned
Connectors03UnlimitedUnlimited
Optimization Lab--6 modes6 modes6 modes + priority
Teams05UnlimitedUnlimited

Deployment

Vercel (Recommended for SaaS)

# 1. Push to GitHub
# 2. Import in Vercel
# 3. Add env vars in Vercel dashboard
# 4. Deploy

Self-Hosted (Docker)

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):

  1. Uncomment the firebase-emulator service in docker-compose.yml
  2. Uncomment the ollama service for local LLMs
  3. Set FIRESTORE_EMULATOR_HOST=firebase-emulator:8080 in .env.local
  4. Set OLLAMA_BASE_URL=http://ollama:11434 in .env.local
  5. No Stripe keys needed — billing features are disabled without them

Enterprise LLM support:

  • Ollama — already supported, full local, zero API calls
  • Azure OpenAI — use azure-openai provider with your deployment endpoint
  • Any OpenAI-compatible endpoint — use openai provider with custom OPENAI_BASE_URL for vLLM, TGI, or internal LLMs

Stripe Setup

  1. Create products/prices in Stripe Dashboard
  2. Create Billing Meters for usage tracking
  3. Configure webhook: https://your-domain.com/api/stripe/webhook
  4. Register events: checkout.session.completed, customer.subscription.*, invoice.*

Contributing

We welcome contributions of all kinds. See CONTRIBUTING.md for guidelines.

Good first issues:

  • New vertical templates for specific industries
  • Translations beyond EN/FR
  • New LLM provider support
  • Pre-built tool integrations (Notion, Linear, Discord...)
  • Custom connector plugins (when Plugin SDK ships)
  • Documentation and tutorials

Development

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

Security

See SECURITY.md for vulnerability reporting.


Roadmap

  • Agent Builder + Playground
  • Grading Engine (6 criteria)
  • Optimization Lab (6 modes)
  • 5 Connectors (Widget, Slack, Telegram, WhatsApp, Webhooks)
  • MCP Protocol — 32 tools (Streamable HTTP, Vague 1 + 2)
  • Agent Memory + Context Compaction
  • Service Connectors (Gmail, Outlook, Google Calendar, Microsoft Calendar)
  • Operator Dashboard (no-code agent management)
  • EU AI Act Compliance Tools
  • Zero-Code Onboarding + 37 Templates (28 general + 9 vertical)
  • Code Interpreter (Python/Node/Bash via GCP Cloud Run)
  • web_fetch builtin (server-side HTTP fetch)
  • Agent Teams + Visual Orchestration (React Flow v12)
  • Conversational Tool Approval (Telegram/WhatsApp/Slack)
  • Scheduled Grading + Alerts (Vercel Cron)
  • Self-Hosted Docker deployment (docker-compose + Ollama)
  • Agent Export/Import (portable JSON)
  • Template Marketplace
  • Connector Plugin SDK
  • TypeScript SDK
  • Customer Discovery (Grenoble/Rhone-Alpes)
  • Concierge Pilots + First Paying Customers

License

MIT — use it, fork it, build on it.


Built with coffee and ambition in Grenoble, France.

Reviews

No reviews yet

Sign in to write a review