Skip to content

ojusave/kody

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

623 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kody logo

An experimental personal assistant platform built on Cloudflare Workers and MCP

Build Status TypeScript Node 24 Cloudflare Workers Remix


kody is an experimental personal assistant platform 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:8787. 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 (alpha)
Package Manager npm
Workspace Nx + npm workspaces
Database Cloudflare D1
Session/OAuth Cloudflare KV
MCP State Durable Objects
E2E Testing Playwright
Bundler esbuild

Scope

  • Personal assistant experiment, not a multi-tenant SaaS product
  • 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

Built with ❤️ by Epic Web

About

An experimental personal assistant platform built on Cloudflare Workers and MCP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 99.6%
  • Other 0.4%