Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Gcore

FreeStale (316d)

Gcore runtime adapter for MCP servers built with ModelFetch

GitHubEmbed

About

Gcore runtime adapter for MCP servers built with ModelFetch

README

ModelFetch

ModelFetch is a delightful TypeScript/JavaScript SDK for building and deploying MCP servers anywhere TypeScript/JavaScript runs.

Release License Documentation


🚀 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.


Built with ❤️ by Minh-Phuc Tran

from github.com/phuctm97/modelfetch

Install Gcore in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install gcore

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add gcore -- npx -y @modelfetch/gcore

FAQ

Is Gcore MCP free?

Yes, Gcore MCP is free — one-click install via Unyly at no cost.

Does Gcore need an API key?

No, Gcore runs without API keys or environment variables.

Is Gcore hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Gcore in Claude Desktop, Claude Code or Cursor?

Open Gcore on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Gcore with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs