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
10101
01010
11001
EXECUTE COMMAND
npx -y create-modelfetch@latest

That's it. You're ready to build.

~ echo "Built with ❤️ by developers, for developers"