# Keryx > The Modern TypeScript API Framework Write one action. It handles HTTP, WebSocket, CLI, background tasks, and MCP tool calls. Built on Bun, powered by Zod, backed by Redis and Postgres. ## Table of Contents ### Introduction - [Getting Started](/guide.md): Get up and running with Keryx — prerequisites, installation, and your first dev server. ### Core Concepts - [Actions](/guide/actions.md): Actions are the universal controller — one class handles HTTP, WebSocket, CLI, background tasks, and MCP. - [Initializers](/guide/initializers.md): Initializers are lifecycle components that set up services and attach them to the global API singleton. - [Channels](/guide/channels.md): Channels define PubSub topics for real-time WebSocket messaging with middleware-based authorization. - [Background Tasks](/guide/tasks.md): Background tasks with Resque workers and the fan-out pattern for distributing work across child jobs. - [Middleware](/guide/middleware.md): Middleware intercepts action execution for authentication, authorization, logging, and response modification. - [MCP Server](/guide/mcp.md): Expose your actions as MCP tools for AI agents, with built-in OAuth 2.1 authentication. - [Configuration](/guide/config.md): Modular configuration with per-environment overrides via environment variables. ### Usage - [Security](/guide/security.md): Built-in security features — rate limiting, security headers, cookie hardening, CORS, WebSocket protections, and OAuth validation. - [Testing](/guide/testing.md): Testing with Bun's built-in test runner — real HTTP requests, no mocking. - [Deployment](/guide/deployment.md): Deploying Keryx — Docker, production builds, and running frontend and backend independently. ### Classes - [Action](/reference/actions.md): Action class definition, transport behavior across HTTP/WebSocket/CLI/tasks, type helpers, and middleware. - [Initializer](/reference/initializers.md): Initializer class definition and the module augmentation pattern. - [Other Classes](/reference/classes.md): API singleton, Connection, Channel, Server, TypedError, and Logger class definitions. ### Transports - [Servers](/reference/servers.md): Server class and the built-in transports — HTTP, WebSocket, CLI, and MCP via Bun.serve. ### Configuration - [Configuration Reference](/reference/config.md): Auto-generated configuration reference — every config key, its environment variable, and default value.