Node.js
Run simple MCP servers with Node.js
The @modelfetch/node package lets you run MCP servers as traditional Node.js HTTP servers.
Installation
npm install @modelfetch/nodeUsage
Start The Server
import handle from "@modelfetch/node";
import server from "./server"; // Import your McpServer
// Run as a Node.js HTTP server
handle(server);Get Listening Address
import handle, { getListeningAddress } from "@modelfetch/node";
import server from "./server"; // Import your McpServer
// Run as a Node.js HTTP server
handle(server, (addressInfo) => {
// Print listening address
console.log(
`The MCP server is listening at ${getListeningAddress(addressInfo)}`,
);
});Specify Custom Port
import handle, { getListeningAddress } from "@modelfetch/node";
import server from "./server"; // Import your McpServer
// Run as a Node.js HTTP server
handle(
server,
// Print listening address
(addressInfo) => {
console.log(
`The MCP server is listening at ${getListeningAddress(addressInfo)}`,
);
},
// Customize server options
{ port: 8080 },
);API Reference
handle(server, callback?, options?)
Starts the MCP server
- server: Required
McpServerinstance from@modelcontextprotocol/sdk - callback: Optional listening callback that receives the server
AddressInfo - options: Optional configuration object
- port: Custom port number (default:
3000) - hostname: Custom hostname (default:
"localhost") - createServer: Custom server factory from
node:http,node:https, ornode:http2 - serverOptions: Custom server options from
node:http,node:https, ornode:http2
- port: Custom port number (default:
getListeningAddress(addressInfo)
Gets listening address from the server AddressInfo
- addressInfo: Required server
AddressInfofrom the listening callback