Repository

kody

Your assistant's home — the memory, keys, code, and automations your AI agent keeps, portable across every MCP host. Built on Cloudflare Workers.

Layer
Technology
Runtime
Cloudflare Workers
UI Framework
Remix 3 (beta)
Package Manager
npm

Specs

  • LayerTechnology
  • RuntimeCloudflare Workers
  • UI FrameworkRemix 3 (beta)
  • Package Managernpm
  • WorkspaceNx + npm workspaces
  • DatabaseCloudflare D1
  • Session/OAuthCloudflare KV
  • MCP StateDurable Objects
  • E2E TestingPlaywright
  • Bundleresbuild
  • DocumentDescription
  • docs/contributing/getting-started.mdSetup, environment variables, deploy
  • docs/contributing/environment-variables.mdAdding new env vars
  • docs/contributing/cloudflare-offerings.mdOptional Cloudflare integrations
  • docs/contributing/project-intent.mdScope, goals, and non-goals
  • docs/contributing/index.mdDeveloping and extending Kody
  • docs/use/index.mdUsing Kody over MCP
  • docs/contributing/setup.mdLocal development and verification

README

kody logo

Your assistant's home — the memory, keys, code, and automations your AI agent keeps, portable across every MCP host. Built on Cloudflare Workers.

Build Status TypeScript Node 26 Cloudflare Workers Remix


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.ts is 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 the
    ASSETS binding

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.


Built with ❤️ by Epic Web