MCP Catalogs
Homekeryx screenshot

keryx

by actionhero·29·Score 44

Fullstack TypeScript framework where actions work as HTTP, WebSocket, CLI, tasks, and MCP tools automatically.

developer-toolsai-llmops-infra
5
Forks
5
Open issues
1 mo ago
Last commit
2d ago
Indexed

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:

you:Building AI agent backends with MCP tools that mirror your existing API endpoints
you:Creating unified APIs that work across web, WebSocket, CLI, and background processing
you:Developing fullstack applications with Drizzle ORM and type-safe responses
you:How does Keryx handle MCP authentication?
you:Can I selectively expose actions as MCP tools?

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 README
  • user:create

    Create a new user

  • user-get

    Get user information by ID

Comparable tools

actionheronexushonofastify

Installation

# Create a new project
bunx keryx new my-app
cd my-app
cp .env.example .env
bun install
bun dev

For 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

GitHub →

Last updated · Auto-generated from public README + GitHub signals.