What runtimes does the template support?
It supports Bun (v1.3.0+), Node.js, and Cloudflare Workers. Scaffolded projects can use either the standard `createApp()` or `createWorkerHandler()` for Workers.
@cyanheads
Basic information
Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mcp-ts-template": {
"command": "bun",
"args": [
"run",
"rebuild",
"#",
"clean",
"+",
"build",
"(scripts/clean.ts",
"+",
"scripts/build.ts)"
]
}
}
}Tool list not available yet
This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
The MCP TypeScript Template is an agent-native TypeScript framework and starter project for building MCP servers. It provides declarative tool, resource, and prompt definitions with built-in auth, multi-backend storage, OpenTelemetry observability, and first-class support for Bun, Node.js, and Cloudflare Workers. It is designed to let developers focus on domain logic while the framework handles infrastructure.
Run bunx @cyanheads/mcp-ts-core init my-mcp-server to scaffold a new project, then cd my-mcp-server && bun install. Use the tool(), resource(), and prompt() builders to define your server’s capabilities and call createApp() in the entry point. Configuration is done via environment variables.
It supports Bun (v1.3.0+), Node.js, and Cloudflare Workers. Scaffolded projects can use either the standard `createApp()` or `createWorkerHandler()` for Workers.
Transports: `stdio` (default) and `http` (port configurable via `MCP_HTTP_PORT`). Auth modes: `none`, `jwt`, or `oauth` (configured with `MCP_AUTH_MODE` and related variables).
Storage providers: `in‑memory` (default), `filesystem`, `supabase`, `cloudflare‑d1`, `cloudflare‑kv`, and `cloudflare‑r2`. Switch via the `STORAGE_PROVIDER_TYPE` env var.
Use the `tool()` builder with a Zod `output` schema. Structured content is available to clients that support it. Add a `format()` method to render markdown for clients that only read `content[]`. A linter (run via `lint:mcp`) checks parity between the two surfaces.
Yes. The framework provides `createWorkerHandler()`, which returns an `ExportedHandler`. Use the same tool, resource, and prompt definitions — only the entry point differs.

Launch your product from your AI agent. Connect Claude Code, Codex, Cursor or ChatGPT to Launchdog over MCP and your agent drafts the listing, picks a launch week and books it. 50 launches a week, ranked only by human vo
CronWatch records every run of your scheduled jobs in your own database, and speaks up when one is missed, fails, gets stuck, runs slow or costs too much. CronWatch is free and open-source.
Set up and manage the Eddyter AI rich text editor by talking to your AI agent — for Claude, Cursor, Codex and other MCP tools. A Model Context Protocol server that lets AI tools add Eddyter to a React, Next.js, Vite or R

Agent-Native Terminal
Gives AI agents public URLs (tunnels) for localhost, live HTTP traffic inspection, snapshot publishing, and access control. Part of LocalCan, the ngrok alternative for Mac, Windows and Linux. Free plan.
Comments