Azure Functions
FreeStale (316d)Azure Functions runtime adapter for MCP servers built with ModelFetch
About
Azure Functions 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.
🚀 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
Clone the repository:
git clone https://github.com/phuctm97/modelfetch.git cd modelfetchInstall dependencies:
pnpm installType 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
- Model Context Protocol - TypeScript SDK
- Model Context Protocol - Documentation
- ModelFetch - Website
- ModelFetch - Documentation
📄 License
ModelFetch is MIT licensed.
Built with ❤️ by Minh-Phuc Tran
Install Azure Functions in Claude Desktop, Claude Code & Cursor
unyly install azure-functionsInstalls 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 azure-functions -- npx -y @modelfetch/azure-functionsFAQ
Is Azure Functions MCP free?
Yes, Azure Functions MCP is free — one-click install via Unyly at no cost.
Does Azure Functions need an API key?
No, Azure Functions runs without API keys or environment variables.
Is Azure Functions hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Azure Functions in Claude Desktop, Claude Code or Cursor?
Open Azure Functions 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
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Azure Functions with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
