Node.js runtime adapter for MCP servers built with ModelFetch
npm install @modelfetch/node@modelfetch/node


Run simple MCP servers with Node.js.
``bash`
npm install @modelfetch/node
`typescript
import handle from "@modelfetch/node";
import server from "./server"; // Import your McpServer
// Run as a Node.js HTTP server
handle(server);
`
`typescript
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)},`
);
});
`typescript
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 },
);
Starts the MCP server
- server: Required McpServer instance from @modelcontextprotocol/sdk
- callback: Optional listening callback that receives the server AddressInfo
- options: Optional configuration object
- port: Custom port number (default: 3000)"localhost"
- hostname: Custom hostname (default: )node:http
- createServer: Custom server factory from , node:https, or node:http2node:http
- serverOptions: Custom server options from , node:https, or node:http2
Gets listening address from the server AddressInfo
- addressInfo: Required server AddressInfo` from the listening callback