keryx
by actionhero·★ 29·Score 44
Fullstack TypeScript framework where actions work as HTTP, WebSocket, CLI, tasks, and MCP tools automatically.
Overview
Keryx is a modern fullstack TypeScript framework built on Bun that unifies API development across multiple transport layers. It transforms a single action class into HTTP endpoints, WebSocket handlers, CLI commands, background tasks, and MCP tools with no code duplication. Every action supports OAuth 2.1 authentication for MCP clients and maintains consistent validation through Zod schemas across all transport methods.
Try asking AI
After installing, here are 5 things you can ask your AI assistant:
When to choose this
Choose Keryx when you're building a new fullstack TypeScript application and want the same business logic to work for both human users and AI agents without duplicating code.
When NOT to choose this
Don't choose Keryx if you're already invested in a Node.js ecosystem (it requires Bun), need complex database relationships beyond what Drizzle supports, or require multi-language support for your MCP server.
Tools this server exposes
2 tools extracted from the READMEuser:createCreate a new user
user-getGet user information by ID
Comparable tools
Installation
# Create a new project
bunx keryx new my-app
cd my-app
cp .env.example .env
bun install
bun devFor Claude Desktop MCP configuration:
{
"mcpServers": {
"my-app": {
"url": "http://localhost:8080/mcp"
}
}
}FAQ
- How does Keryx handle MCP authentication?
- Keryx uses OAuth 2.1 with PKCE for MCP authentication. Clients go through a browser-based login flow, and subsequent tool calls carry a Bearer token tied to the authenticated user's session.
- Can I selectively expose actions as MCP tools?
- Yes. By default, all actions are exposed as MCP tools. You can exclude specific actions with `mcp = { tool: false }` or expose them as MCP resources or prompts instead.
Compare keryx with
Last updated · Auto-generated from public README + GitHub signals.