Skip to main content
Glama
JehadurRE

todiagram-mcp-windows-fix

by JehadurRE

todiagram-mcp-windows-fix

Windows-compatible fork of @todiagram/todiagram-mcp that fixes ERR_UNSUPPORTED_ESM_URL_SCHEME on Node.js v22+ and v25+ on Windows.

Connect ToDiagram to Cursor, Claude, Windsurf, and other AI assistants — now works on Windows!

⚠️ The Problem

The original @todiagram/todiagram-mcp crashes on Windows with:

Fatal error in main(): Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]:
Only URLs with a scheme in: file, data, and node are supported by the default ESM loader.
On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'

Root cause: In dist/mcp-server.js, the lazyLoadUtil() function dynamically imports tool modules using path.join(), which on Windows produces paths like C:\Users\...\tools\file.js. The Node.js ESM loader requires file:// URLs, not bare Windows paths.

Related MCP server: fcp-drawio

✅ The Fix

A one-line change in dist/mcp-server.js:

- import { fileURLToPath } from "url";
+ import { fileURLToPath, pathToFileURL } from "url";

  // ... in lazyLoadUtil():
- await import(toolPath);
+ await import(pathToFileURL(toolPath).href);

pathToFileURL() converts C:\Users\...\file.jsfile:///C:/Users/.../file.js, which the ESM loader accepts on all platforms.

📦 Install

npm install -g todiagram-mcp-windows-fix

🔧 MCP Configuration

Claude Code (.mcp.json)

{
  "mcpServers": {
    "todiagram": {
      "type": "stdio",
      "command": "todiagram",
      "env": {
        "TODIAGRAM_API_KEY": "your-api-key-here"
      }
    }
  }
}

Or via npx

{
  "mcpServers": {
    "todiagram": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "todiagram-mcp-windows-fix"],
      "env": {
        "TODIAGRAM_API_KEY": "your-api-key-here"
      }
    }
  }
}

API Key Setup

  1. Go to ToDiagram Editor

  2. Click the account icon at top right

  3. Go to API Key section

  4. Create a key with a descriptive name and expiry time

🐛 Upstream Issue

This fix should be applied to the original @todiagram/todiagram-mcp package. The upstream issue is in src/mcp-server.ts:

// Current (broken on Windows):
for (const toolPath of toolsPaths) {
    await import(toolPath);
}

// Fix:
import { pathToFileURL } from "url";
for (const toolPath of toolsPaths) {
    await import(pathToFileURL(toolPath).href);
}

Affected platforms: Windows with Node.js v22+ (any version using ESM loader with strict URL scheme validation)

Affected versions: @todiagram/todiagram-mcp v1.1.0 and likely earlier versions

✅ Platform Compatibility

Platform

Node.js v20

Node.js v22

Node.js v25

Windows

macOS

Linux

📄 License

FSL-1.1-ALv2 (same as upstream)

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    An MCP server that enables AI assistants to programmatically create and manage flowcharts, ERDs, and swimlane diagrams. It provides tools for manipulating diagram structures, performing auto-layouts, and exporting to Mermaid or Markdown formats.
    14
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server that enables LLMs to create and edit draw.io diagrams using high-level intent commands, with automatic layout and styling.
    4
    8
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for generating diagrams, charts, and visualizations using Gemini image generation on Vertex AI. Supports auto-detection of diagram types, multiple style modes, and iterative refinement.
    3
    16
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server that converts Mermaid diagrams to styled Excalidraw files, saving them directly to disk without token overhead.
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server for Hailuo (MiniMax) AI video generation

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JehadurRE/todiagram-mcp-windows-fix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server