kody
Kody is an MCP server that gives AI agents a portable home for memory, keys, code, and automations on Cloudflare Workers. It offers a compact tool surface with powerful search and execute flows for multi-user personal assistant capabilities.
README
<div align="center"> <img src="./packages/worker/public/logo.png" alt="kody logo" width="400" />
<p> <strong>Your assistant's home — the memory, keys, code, and automations your AI agent keeps, portable across every MCP host. Built on Cloudflare Workers.</strong> </p>
<p> <a href="https://github.com/kentcdodds/kody/actions/workflows/deploy.yml"><img src="https://img.shields.io/github/actions/workflow/status/kentcdodds/kody/deploy.yml?branch=main&style=flat-square&logo=github&label=CI" alt="Build Status" /></a> <img src="https://img.shields.io/badge/TypeScript-6.0-blue?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" /> <img src="https://img.shields.io/badge/Node-26-5FA04E?style=flat-square&logo=node.js&logoColor=white" alt="Node 26" /> <img src="https://img.shields.io/badge/Cloudflare-Workers-F38020?style=flat-square&logo=cloudflare&logoColor=white" alt="Cloudflare Workers" /> <img src="https://img.shields.io/badge/Remix-3.0_beta-000000?style=flat-square&logo=remix&logoColor=white" alt="Remix" /> </p> </div>
Kody is your assistant's home—the memory, keys, code, and automations your AI
agent keeps, portable across every MCP host. Built on Cloudflare Workers and the
Model Context Protocol (MCP), it ships a Remix UI, Worker-based request routing,
package runtime plumbing, and OAuth-protected MCP endpoints. The project favors
a compact MCP surface with powerful search and Code Mode execute flows over
a large static tool catalog.
Kody is a multi-user personal assistant: each signed-in user gets a fully isolated assistant (packages, jobs, secrets, values, memories, and related state). Tests and fixtures may seed deterministic local accounts, but no account is privileged at runtime. The repo follows several epicflare starter conventions.
The repo is organized as an Nx monorepo, with shared modules in
packages/shared (@kody-internal/shared), the main app worker under
packages/worker, and mock Workers under packages/mock-servers/*.
Quick Start
npm install
npm run dev
The dev server runs at localhost:3742 by default (the CLI picks the next free
port and prints the resolved URL). Wrangler handles the local Cloudflare Workers
runtime and D1 database automatically.
To scaffold a new project from the epicflare template instead, run
npx create-epicflare.
See
docs/contributing/getting-started.md
for the full setup paths and expectations. Contributors and agents should start
with AGENTS.md for repo-specific guidance.
If you are trying to understand what this repository is for, start with
docs/contributing/project-intent.md.
Tech Stack
| Layer | Technology |
|---|---|
| Runtime | Cloudflare Workers |
| UI Framework | Remix 3 (beta) |
| Package Manager | npm |
| Workspace | Nx + npm workspaces |
| Database | Cloudflare D1 |
| Session/OAuth | Cloudflare KV |
| MCP State | Durable Objects |
| E2E Testing | Playwright |
| Bundler | esbuild |
Scope
- Fair Source personal assistant platform, not a general-purpose agent harness
- MCP-first architecture intended to work across compatible AI agent hosts
- Compact MCP surface area preferred over a large static tool inventory
- ChatGPT is a likely primary host target, while keeping the server usable from other MCP hosts where practical
How It Works
Request → packages/worker/src/index.ts
│
├─→ OAuth handlers
├─→ MCP endpoints
├─→ Static assets (`packages/worker/public/`)
└─→ Server router → Remix components
packages/worker/src/index.tsis the entrypoint for Cloudflare Workers- OAuth requests are handled first, then MCP requests, then static assets
- Non-asset requests fall through to the server handler and router
- Client assets are bundled into
packages/worker/public/and served via theASSETSbinding
Documentation
| Document | Description |
|---|---|
docs/contributing/getting-started.md |
Setup, environment variables, deploy |
docs/contributing/environment-variables.md |
Adding new env vars |
docs/contributing/cloudflare-offerings.md |
Optional Cloudflare integrations |
docs/contributing/project-intent.md |
Scope, goals, and non-goals |
docs/contributing/index.md |
Developing and extending Kody |
docs/use/index.md |
Using Kody over MCP |
docs/contributing/setup.md |
Local development and verification |
License
Kody is licensed under the Functional Source License, Version 1.1, ALv2 Future License (FSL-1.1-ALv2). You can use, copy, modify, create derivative works from, publicly perform, publicly display, and redistribute the software for any purpose other than Competing Use. Competing Use means making the software available to others in a commercial product or service that substitutes for Kody, substitutes for another product or service the licensor offers using Kody that existed when the version was made available, or offers the same or substantially similar functionality. Each version becomes available under the Apache License 2.0 on the second anniversary of the date that version was made available.
Community packages published through Kody remain MIT-licensed; that requirement is separate from this repository's license.
<div align="center"> <sub>Built with ❤️ by <a href="https://epicweb.dev">Epic Web</a></sub> </div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.