Bun-native framework for building production MCP servers.
Define tools, validate input, compose middleware, and ship MCP servers with a small explicit API. Start with one tool, then add resources, prompts, hooks, and plugins when you need them.
import { Redop } from "@redopjs/redop";
import { z } from "zod";
new Redop({
serverInfo: {
name: "docs-server",
title: "Docs Server",
version: "0.1.0",
description: "Search docs and return answers.",
},
})
.tool("search_docs", {
description: "Search internal docs",
inputSchema: z.object({
query: z.string().min(1),
}),
handler: ({ input }) => ({
query: input.query,
results: [],
}),
})
.listen(3000);Everything you need.
Built-in primitives for the real world. Stop writing the same validation and transport layers.
Typed Tools
Define tools with full TS inference using Zod v4, Standard Schema, or JSON Schema.
Middleware
Add middleware for auth, rate limiting, and caching to control request flow.
Lifecycle Hooks
Global and tool-local before/after hooks for analytics and observability.
Plugin System
Build and share reusable framework extensions across your MCP servers.
Philosophy
Minimal surface
Learn it in 5 minutes. No magic, just clean composition of standard web patterns.
End-to-end safety
If it compiles, it works. Inputs, contexts, and returns are strictly typed.
Production ready
Built for real MCP apps with auth, rate limiting, and logging, not just toy demos.