Self-hosted · Agent-agnostic · MCP-ready · Apache-2.0

Bring your own agent.
Keep your own work.

A self-hosted board and knowledge base that any personal AI agent can drive over MCP, Claude Code, Codex, Grok Build, OpenClaw, or whatever you run next year. Swap the agent and the work stays, because none of it ever lived inside the agent.

self-hosted, your server any MCP agent: Claude Code, Codex, Grok Build, OpenClaw knowledge base that travels with you multi-tenant workspaces + RBAC
53 tools · 82 skills · 19 agents

Agent-agnostic

Bring your own agent. Connect it over MCP.

OperationKit doesn't ship a personal agent of its own. Point whichever one you already run at its MCP server (read-only: search, read, and list your knowledge base and board, no write access) and it drives the work.

Claude Code

Official MCP client. Bundled into Claude Pro/Max; add OperationKit with claude mcp add.

verified: MCP client

Codex CLI

Official MCP client, stdio and Streamable HTTP. Bundled into ChatGPT Plus/Pro/Business.

verified: MCP client

Grok Build

MCP servers work out of the box, including headless/scripted use, on every X Subscription tier.

verified: MCP client

OpenClaw

Native MCP support, tools/resources/prompts. Free, MIT-licensed, self-hosted, bring your own LLM key.

verified: MCP client

Manus

Supports MCP only through its own prebuilt connectors (Notion, Atlassian, Linear). No documented way to add a custom server today, so it can't drive OperationKit directly yet.

Not yet compatible

Run your own coding subscription, not a shared one: Claude, OpenAI, and xAI all permit automating your own single account and all prohibit pooling or reselling one seat across different people. If you run OperationKit's workspaces for genuinely separate clients or teams, give each its own account, not a shared seat.

Why own it

Infrastructure you own outlasts any one model.

AI labs are racing toward IPOs, and public markets price growth, not margin. Today's below-cost token pricing is a land-grab subsidy, not a floor.

Once a lab answers to shareholders, usage at your scale gets repriced toward what it actually costs to serve. If your business runs on AI at volume, the cheapest and most durable move is to own the infrastructure that work runs on, so the model underneath is a swappable input, not a structural dependency.

OperationKit is built that way. Your skills, agents, and knowledge base live in plain files on your own server, not inside Anthropic's, OpenAI's, or xAI's product. Point OperationKit at Claude today. Point it at GPT or Grok next quarter. Point it at an open-weight model on your own GPUs the quarter after that, once the economics or the capability bar make that the better call. The work you've built, your context, your playbooks, your history of decisions, comes with you every time, because none of it was ever stored in the model provider's walled garden.

This isn't a bet against any one lab. It's a bet that the labs' pricing and policies will keep changing faster than your business should have to, and that the only durable position is to own the layer above the model, not rent your operating system from inside someone else's.

Own your compute. Run it on a VPS you control. No usage ceiling set by someone else's infrastructure budget.

Own your data. Skills, agents, and the knowledge base are plain markdown and a database you control, not locked inside a vendor's product.

No lock-in. Claude, GPT, Grok, or your own GPUs underneath. You own the car; you don't rebuild it to use a different gas station.

Any model

Point it at Claude. Point it at Grok. Point it at your own GPUs.

OperationKit is the car: it holds your workspaces, your knowledge base, your agents, your history. The model is the gas station you fill up at. You don't rebuild the car to use a different station; you just pull into whichever one has the best price today, or is actually open.

Claude (Anthropic)

Native engine. The default route, with an Opus fallback if a pinned model goes unavailable.

native engine

Codex (OpenAI)

Native engine. GPT-style model ids route automatically to the Codex engine.

native engine

Grok (xAI)

Native engine. Grok ids route automatically to the Grok engine, as a real job on a VPS you control.

native engine

Gemini

Routes through the bundled LiteLLM proxy. Powers the research model group today, with a Claude fallback.

via litellm

Local, open-weight (Ollama)

Routes through LiteLLM to a model on your own GPUs. Powers the code model group today, with a Claude fallback. The concrete proof that "your own hardware" isn't aspirational.

via litellm

Any OpenAI-compatible endpoint

Each model group is independently configurable. Today's default config routes most reasoning and writing work to Claude; wiring the rest is on the roadmap.

Roadmap

Self-hosted inference beyond Ollama

vLLM and similar inference servers aren't wired in yet. Not promised until it ships.

Roadmap

What transfers when you swap: skills, agents, the knowledge base, and workspace state. All of it is plain markdown or a database you control, never stored inside a model provider's product.

The field left something open

The shared board your agents drive.

Hermes, OpenClaw, and Grok Bot each install in one command. Paste your OperationKit API key, or point an MCP client at it, and they drive objectives and read your team's shared knowledge base. Running more than one coding subscription of your own? The account router rotates across them for you, your accounts, your rate limits, never a seat shared across different people.

Ships configured.

Six-phase pipeline, C-suite personas, per-workspace context. Plain markdown you own.

Multi-tenant out of the box.

One deployment, isolated workspaces, real RBAC. No sales call required.

Governed by design.

An adversarial reviewer grades every output against locked criteria.

Under the hood

Four layers. One-way dependency.

Tools → Skills → Agents. Edges declared in frontmatter, validated by okit. Dangling references are build failures.

Objectives, not tasks.

Every objective runs in its own dedicated session. Strategy objectives spawn workers and re-wake on completion. Workers run, get reviewed, report back. SQLite-backed state survives restarts.

objective state machine
# objective state machine planning → queue → working → ai_review → human_review → done ↑ fail: reverts here findings prepended to next prompt

A second agent grades every output.

A fresh-context reviewer grades output against pre-locked criteria, blind to the worker's scratch. Auto-iterates up to three times. You see results, not drafts.

review gate - fresh context
# review gate - fresh context, criteria locked up front working → ai_review auto ai_review → working verdict: FAIL (findings prepended) ai_review → human_review verdict: PASS (project-type only) ai_review → done verdict: PASS (task/bug type)

Context that loads in the right order.

Four tiers load before the model sees a token: global routing, agent persona, workspace context, user profile. Late-loaded tiers cannot override earlier rules. OperationKit has four, validated by okit validate.

session context - assembled on spawn
# session context - assembled on spawn ~/.claude/CLAUDE.md # global routing ~/ai-workspace/agents/<agent>.md # persona + skills workspaces/<ws>/context.md # business context users/<user>/profile.md # user preferences + objective memory, KB hits, recent decisions

Tools, skills, agents. Every edge is declared.

53 tools. 82 skills. 19 agents. Every edge declared in frontmatter. okit validate hard-fails on any slug that does not resolve. A renamed tool is a build error.

tools → skills → agents (one-way)
# tools → skills → agents (one-way) # okit validate: dangling edge = hard failure skills/email/SKILL.md tools: resend, google-workspace agents/cmo.md skills: pipeline, marketing, email, ...

Honest answers

Three things you are probably thinking.

Hermes, OpenClaw, and Grok Bot already install in one command.

They do, and OperationKit doesn't compete with them, it's what they drive. Give any MCP-capable agent your OperationKit API key and it controls objectives on the board and reads your knowledge base live. OperationKit adds the workspaces, shared context, and a router that spreads your own accounts' rate limits, never someone else's seat.

What about my API keys?

It runs on your server, code you can audit. Your keys do not leave your machine. Not a hardened managed SaaS, not a security guarantee. If "I need to read every line that touches my keys" is the bar, this is it.

How do I evaluate this before committing?

Clone github.com/m1keluka/OperationKit. Start with SECURITY.md; it states the threat model. Apache-2.0. Star the repo to follow releases.

Follow the build.

The source is live. Star the repo, or leave your email for release notes.

Or star the repo to follow along.