1. Conduid
  2. AI
  3. ModelFetch
MCP server · AI

ModelFetch

agnostic SDK to create and deploy MCP servers anywhere TypeScript/JavaScript runs

Unclaimed ai
52Fair

Scored 6 months ago · breakdown

About ModelFetch

ModelFetch is an MCP server in the AI category: agnostic SDK to create and deploy MCP servers anywhere TypeScript/JavaScript runs.

Install

From source
git clone https://github.com/phuctm97/modelfetch

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about ModelFetch

Powered by Claude · Grounded in docs

I know everything about ModelFetch. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README


🚀 Features

  • Multi-Runtime: Write once, run anywhere: Node.js, Next.js, Bun, Deno, Vercel, Cloudflare, Netlify, Fastly, Supabase, Gcore, AWS Lambda, and Azure Functions
  • Official SDK: Built on top of the official MCP TypeScript SDK to avoid lock-in, guarantee long-term support, and ensure up-to-date implementation
  • Hot Reload: Development server with automatic reloading
  • MCP Inspector: Built-in integration for testing and debugging
  • Modular Design: Platform-specific package for optimal performance

🏁 Quick Start

Get started in seconds using our create-modelfetch CLI:

npx -y create-modelfetch@latest

🔧 How It Works

ModelFetch works with any McpServer instance from the official MCP TypeScript SDK. Here's all it takes:

Create your McpServer with the official MCP TypeScript SDK

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 it anywhere with ModelFetch's handle() function

Node.js

import handle from "@modelfetch/node"; // Choose your runtime
import server from "./server"; // Import your server

handle(server); // That's it — ModelFetch handles all runtime-specific details

Next.js

import handle from "@modelfetch/next"; // Choose your runtime
import server from "./server"; // Import your server

const handler = handle(server); // That's it — ModelFetch handles all runtime-specific details

export const GET = handler;
export const POST = handler;
export const DELETE = handler;

Bun

import handle from "@modelfetch/bun"; // Choose your runtime
import server from "./server.ts"; // Import your server

handle(server); // That's it — ModelFetch handles all runtime-specific details

Deno

import handle from "@modelfetch/deno"; // Choose your runtime
import server from "./server.ts"; // Import your server

handle(server); // That's it — ModelFetch handles all runtime-specific details

Vercel

import handle from "@modelfetch/vercel"; // Choose your runtime
import server from "./server"; // Import your server

const handler = handle(server); // That's it — ModelFetch handles all runtime-specific details

export const GET = handler;
export const POST = handler;
export const DELETE = handler;

Cloudflare

import handle from "@modelfetch/cloudflare"; // Choose your runtime
import server from "./server"; // Import your server

export default {
  fetch: handle(server), // That's it — ModelFetch handles all runtime-specific details
} satisfies ExportedHandler<Env>;

Netlify

import handle from "@modelfetch/netlify"; // Choose your runtime
import server from "../server.ts"; // Import your server

export default handle(server); // That's it — ModelFetch handles all runtime-specific details

Fastly

import handle from "@modelfetch/fastly"; // Choose your runtime
import server from "./server"; // Import your server

handle(server); // That's it — ModelFetch handles all runtime-specific details

Supabase

import handle from "@modelfetch/supabase"; // Choose your runtime
import server from "./server.ts"; // Import your server

handle("mcp-server", server); // That's it — ModelFetch handles all runtime-specific details

Gcore

import handle from "@modelfetch/gcore"; // Choose your runtime
import server from "./server"; // Import your server

handle(server); // That's it — ModelFetch handles all runtime-specific details

AWS Lambda

import handle from "@modelfetch/aws-lambda"; // Choose your runtime
import server from "./server"; // Import your server

export const handler: AWSLambda.LambdaFunctionURLHandler = handle(server); // That's it — ModelFetch handles all runtime-specific details

Azure Functions

import handle from "@modelfetch/azure-functions"; // Choose your runtime
import server from "./server.js"; // Import your server

handle(server); // That's it — ModelFetch handles all runtime-specific details

That's just a few lines of code to make your McpServer work across all supported platforms.

⚡ The handle() Function

Every runtime package exports a default handle() function that takes an McpServer instance as its first parameter and handles all runtime-specific details:

import handle from "@modelfetch/node"; // Choose your runtime
import server from "./server"; // Import your server

handle(server); // That's it — ModelFetch handles all runtime-specific details

📦 Runtimes

ModelFetch provides runtime-specific packages that handle tedious platform differences while you focus on building your MCP server capabilities. Each package maintains a consistent API across different runtimes.

Package Description Status
@modelfetch/node Run simple MCP servers with Node.js ✅ Ready
@modelfetch/next Run flexible MCP servers with Next.js ✅ Ready
@modelfetch/bun Run fast MCP servers with Bun ✅ Ready
@modelfetch/deno Run secure MCP servers with Deno ✅ Ready
@modelfetch/vercel Deploy MCP servers to Vercel ✅ Ready
@modelfetch/cloudflare Deploy MCP servers to Cloudflare ✅ Ready
@modelfetch/netlify Deploy MCP servers to Netlify ✅ Ready
@modelfetch/fastly Deploy MCP servers to Fastly ✅ Ready
@modelfetch/supabase Deploy MCP servers to Supabase ✅ Ready
@modelfetch/gcore Deploy MCP servers to Gcore ✅ Ready
@modelfetch/aws-lambda Deploy MCP servers to AWS Lambda ✅ Ready
@modelfetch/azure-functions Deploy MCP servers to Azure Functions ✅ Ready

🛠️ Development

Prerequisites

  • Node.js 22+
  • pnpm 10+

Initial Steps

  1. Clone the repository:

    git clone https://github.com/phuctm97/modelfetch.git
    cd modelfetch
    
  2. Install dependencies:

    pnpm install
    
  3. Type check, lint, and build all projects

    pnpm exec nx run-many -t typecheck lint build
    

Common Commands

# Run development server for a project
pnpm exec nx dev modelfetch-website

# Type check all projects
pnpm exec nx run-many -t typecheck

# Lint and auto-fix all projects
pnpm exec nx run-many -t lint --args=--fix

# Build all projects
pnpm exec nx run-many -t build

# Format code
pnpm -w format

📚 Documentation

📄 License

ModelFetch is MIT licensed.


README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About ModelFetch

How do I install ModelFetch?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is ModelFetch safe to use with an AI agent?

Its trust score is 52 out of 100 (fair). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is ModelFetch still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.