A light-weight module that brings Fetch API to node.js
A light-weight module that brings Fetch API to node.js. That is what the node mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
Instead of implementing XMLHttpRequest in Node.js to run browser-specific Fetch polyfill, why not go from native http to fetch API directly? Hence, node-fetch, minimal code for a window.fetch compatible API on Node.js runtime.
The server publishes 3 tools. What each one is for:
CommonJS — node-fetch from v3 is an ESM-only module - you are not able to import it with require()Streams — The "Node.js way" is to use streams when possible. You can pipe res.body to another stream. This example usesOptions — // The following properties are node-fetch extensions follow: 20, // maximum redirect count. 0 to not follow redirect compress: true, // supportnode-fetch on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Node's toolset — CommonJS, Streams, Options — is a fair guide to whether it matches your workflow. It is maintained by node-fetch-bot; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| CommonJS | node-fetch from v3 is an ESM-only module - you are not able to import it with require(). |
| Streams | The "Node.js way" is to use streams when possible. You can pipe res.body to another stream. This example uses [stream.pipeline](https://nodejs.org/api/stream.html#stream_stream_pipeline_streams_callback) to attach stream |
| Options | // The following properties are node-fetch extensions follow: 20, // maximum redirect count. 0 to not follow redirect compress: true, // support gzip/deflate content encoding. false to disable size: 0, // maximum respons |
{
"mcpServers": {
"server-fetch-1": {
"command": "npx",
"args": ["-y", "node-fetch"]
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.