terminal % ~
__ __ _ _ _____ _ _ | \/ | | | | | ___| | | | | | . . | ___ __| | ___| | |_ ___| |_ ___| |__ | |\/| |/ _ \ / _` |/ _ \ | _/ _ \ __/ __| '_ \ | | | | (_) | (_| | __/ | || __/ || (__| | | | \_| |_/\___/ \__,_|\___|_\_| \___|\__\___|_| |_|
ModelFetch
[INFO] ModelFetch is a delightful TypeScript/JavaScript SDK for building and deploying MCP servers anywhere TypeScript/JavaScript runs.
›Why ModelFetch?
◈Multi-Runtime
Write your MCP server once. Run it anywhere: Node.js, Bun, Deno, Vercel, Cloudflare, Netlify, Fastly, etc.
◈Official SDK
Built on top of the official MCP TypeScript SDK to avoid lock-in and ensure up-to-date implementation.
◈Delightful DX
Build your MCP server with tools designed for building MCP servers: live reload, debugger, MCP Inspector, etc.
›How It Works
~ Create your MCP server with the official MCP TypeScript SDK:
server.ts◉ typescript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({
title: "My MCP Server",
name: "my-mcp-server",
version: "1.0.0",
});
server.registerTool(
"roll_dice",
{
title: "Roll Dice",
description: "Rolls an N-sided dice",
inputSchema: { sides: z.number().int().min(2) },
},
({ sides }) => ({
content: [
{
type: "text",
text: `🎲 You rolled a ${1 + Math.floor(Math.random() * sides)}!`,
},
],
}),
);
export default server;
~ Run your MCP server with the ModelFetch runtime handler:
install.sh◉ bash
npm install @modelfetch/node
src/index.ts◉ typescript
import handle from "@modelfetch/node";
import server from "./server";
handle(server);
›Quick Start
10101
01010
11001
01010
11001
10101
01010
11001
01010
11001
▶EXECUTE COMMAND
npx -y create-modelfetch@latest
That's it. You're ready to build.
[INFO] Join us in building the future of MCP servers!
~ echo "Built with ❤️ by developers, for developers"