Hacker Newsnew | past | comments | ask | show | jobs | submit | evantahler's commentslogin

Hi HN, I’m Evan. I’ve been building API frameworks in JavaScript and Typescript for over a decade (I created Actionhero), and Keryx is the distillation of everything I’ve learned, rebuilt from scratch on Bun and TypeScript.

The big idea: you write one action class with a Zod schema, and the framework serves it as an HTTP endpoint, a WebSocket handler, a CLI command, a background task, and an MCP tool with the same validation, same middleware, same `run()` method. The only thing that changes is how the request arrives.

The MCP part is what pushed me to build this. I work on AI agent infrastructure at Arcade (we do authorization and tooling for AI agents), and I kept seeing folks bolt MCP servers onto existing APIs as a separate layer with duplicated auth, duplicated schemas, and duplicated error handling. Keryx makes your API an MCP server by default — OAuth 2.1 + PKCE built in, per-session isolation, and typed errors that agents can actually distinguish.

The stack is opinionated: Bun, Zod, Drizzle ORM, Redis (for Resque-based background tasks and PubSub), PostgreSQL. No compilation step, sub-second startup.

You can try it right now:

  bunx keryx new my-app
  cd my-app
  cp .env.example .env
  bun install
  bun dev

Requires Bun, PostgreSQL, and Redis running locally (and a `createdb bun` for the default DB).

Some things I’d love feedback on:

- Is the “one action, every transport” abstraction too magical, or does it feel natural once you use it? - The MCP-native approach — is this how you’d want to add agent support to a new project? - Anything missing from the comparison table on the homepage?

Code is MIT licensed: https://github.com/actionhero/keryx

Happy to answer questions about the architecture, the MCP integration, or why I think Bun is ready for this kind of framework.


What if we put MCP /in/ the CLI?

`mcpx` is a command-line interface for MCP servers. curl for MCP. The internet is debating CLI vs MCP like they're competitors. They're not!


I've blogged about the process of making this tool, and some of the design considerations here: https://www.evantahler.com/blog/post/2026-03-13-curl-for-mcp


Management of the following projects moves to the Linux Foundation:

- MCP

- goose

- AGENTS.md

Learn more @ https://aaif.io/press/linux-foundation-announces-the-formati...


None of these projects impress me, perhaps they are shedding before the agent framework / tools bubble pops?


I had the same question. Also, how exactly does this connect to the Linux Foundation? If these are really like the other foundational projects LF supports, why aren't they just included under the same umbrella. Additionally, who is leading this? All I see here is the vague announcement, several listed projects, and pricing to join this new foundation. Perhaps I don't understand how these things start (I wasn't there for the beginning of LF), but this looks to my eyes more like corporate divestment than sustainable shared collaboration.


We do this at Arcade.dev with oAuth scopes and token persistence for each agent. There is a grant required for each tool-user tuple the first time, but then it’s remembered


check out arcade.dev for this!


Monkey brains is great if you can get it! Cheap and reliable and you can use any router you want.


SequelPro for me!


Isn't it unmaintained? Have you tried SequelAce?


We've been working on this for a long time - Reliability, new connectors, error handling and more! Check out the technical release notes to learn more: https://github.com/airbytehq/airbyte/releases/tag/v1.0.0


Yeah, lots of blood sweat and tears here!


Ah ah indeed!


Porter (https://www.porter.run/) is a great product in the same vein (e.g. turn K8s into a dev-friendly Heroku-like PASS). How does this compare?


I think the very concept of this is to open source a common stack, instead of relying on a middleman like Porter, which also costs a TON of money at business tier


On the data moving / ETL/ELT space - check out Airbyte. You can self host!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: