Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save raoulbia-ai/8af306a2cbdb9bbcdb4529a7221b611d to your computer and use it in GitHub Desktop.
Save raoulbia-ai/8af306a2cbdb9bbcdb4529a7221b611d to your computer and use it in GitHub Desktop.
Complete step-by-step guide for installing and configuring MCP Obsidian and WhatsApp MCP servers on Windows. Includes Node.js setup with nvm-windows, device linking for WhatsApp, Claude Desktop configuration, troubleshooting common issues, and sample JSON configs. Perfect for getting both MCP servers running smoothly on Windows 10/11.

Installing & Running MCP Obsidian and WhatsApp MCP on Windows

Prerequisites

  • Admin rights on your system
  • Windows 10/11 (PowerShell or CMD for all terminal steps)
  • Node.js v23.10.0 or later (installed via nvm-windows is recommended)
  • Git
  • Claude Desktop or another MCP-compatible agent

Change any part of the paths to match your folders.

☑️ 1. Node.js & nvm-windows: Setup

1.1. Uninstall existing Node.js (optional for nvm)

Go to Apps & Features > Remove any old Node.js installations.

1.2. Install nvm-windows (Node Version Manager)

Download nvm-setup.exe and run it.

Confirm installation finished (nvm version in new CMD should output its version).

1.3. Install and Use the Right Node.js Version

nvm install 23.10.0
nvm use 23.10.0
node -v       # should output v23.10.0
npm -v        # should output latest npm

☑️ 2. Clone and Set Up MCP Obsidian Server

2.1. Clone the Obsidian MCP repository

cd %USERPROFILE%\repos
git clone <insert-obsidian-mcp-repo-url> mcp-obsidian
cd mcp-obsidian

2.2. Install dependencies

npm install

2.3. Run the Obsidian MCP Server

If the project has a build script:

npm run build

Otherwise, start it using:

node dist/main.js

or similar, as specified by the repo (check README).

2.4. Configure Claude Desktop MCP Entry

"obsidian-mcp-server": {
  "command": "C:\\Users\\ebiarao\\AppData\\Roaming\\npm\\obsidian-mcp-server.cmd",
  "args": [],
  "env": {
    "OBSIDIAN_API_KEY": "<your-obsidian-api-key>",
    "OBSIDIAN_BASE_URL": "https://127.0.0.1:27124",
    "OBSIDIAN_VERIFY_SSL": "false"
  }
}

Adjust paths/API keys as needed.

☑️ 3. Clone and Set Up WhatsApp MCP (mcp-whatsapp-ts)

3.1. Clone the WhatsApp MCP repository

cd %USERPROFILE%\repos
git clone https://github.com/jlucaso1/whatsapp-mcp-ts.git mcp-whatsapp
cd mcp-whatsapp

3.2. Install dependencies—pin versions!

npm install ts-node@10.9.2 typescript@5.4.5
npm install

Do not use plain npx ts-node ... if you have npm v10+.

3.3. First-time startup and WhatsApp device linking

A. Remove any old authentication or session info:

Remove-Item -Recurse -Force .\auth_info

If the folder doesn't exist, that's fine.

B. Start the server manually:

cd C:\\Users\\ebiarao\\repos\\mcp-whatsapp
node_modules\.bin\ts-node.cmd src\main.ts
  • A QR code (or link to one) should appear.
  • Scan it in WhatsApp mobile: WhatsApp → Settings → Linked Devices → Link a Device.
  • Watch for a "Logged in as…" message.

C. Confirm session persistence:

  • Stop the server: Ctrl+C
  • Start it again. If you do not get a QR again and see "session restored" or "Logged in as X", you are set!

☑️ 4. Configure Claude Desktop (or Agent) for WhatsApp MCP

If you want Claude to launch the server:

"whatsapp-mcp-ts": {
  "command": "C:\\Users\\ebiarao\\repos\\mcp-whatsapp\\node_modules\\.bin\\ts-node.cmd",
  "args": [
    "C:\\Users\\ebiarao\\repos\\mcp-whatsapp\\src\\main.ts"
  ],
  "workingDirectory": "C:\\Users\\ebiarao\\repos\\mcp-whatsapp"
}

If you want to run the server manually yourself:

  1. Start the server as above.
  2. In your Claude config, provide:
"whatsapp-mcp-ts": {
  "command": "echo",
  "address": "http://127.0.0.1:<your-server-port>"
}

(Replace the port number with the one used by your WhatsApp MCP server.)

Note: Claude Desktop/your agent may require a "command" field even if unused; "echo" is a harmless placeholder.

☑️ 5. Common Issues & How To Fix

Issue Fix/Diagnosis
Many QR code windows, always re-linking Only one server instance! Check session file/dir
cb.apply is not a function on npx ts-node Use node_modules.bin\ts-node.cmd directly
QR never appears after logout Delete ALL auth/session files/folders, restart
npm run build fails, missing script Just use ts-node or node, no build needed
Claude config errors about command missing Must always provide "command" string (even if "")
Messages don't refresh in Claude Fully stop/restart all servers, delete cache/db
Wrong/old MCP dir in config Fully update all "command", "args", and "workingDirectory"
File/dir deletion errors in PowerShell Use Remove-Item -Recurse -Force .\dir

☑️ 6. Tips For Smooth Setup

  • Always run scripts and commands from the right directory (cd into project root)
  • One MCP server at a time—concurrent launches cause QR flood and session confusion
  • Check logs (wa-logs.txt, mcp-logs.txt) if something fails
  • Pin dependency versions for ts-node and typescript
  • Update your Node/npm with nvm-windows as needed
  • Validate your JSON config at https://jsonlint.com if Claude shows config errors

Sample Full Claude MCP Config (Reference)

{
  "mcpServers": {
    "obsidian-mcp-server": {
      "command": "C:\\Users\\ebiarao\\AppData\\Roaming\\npm\\obsidian-mcp-server.cmd",
      "args": [],
      "env": {
        "OBSIDIAN_API_KEY": "<your-obsidian-api-key>",
        "OBSIDIAN_BASE_URL": "https://127.0.0.1:27124",
        "OBSIDIAN_VERIFY_SSL": "false"
      }
    },
    "whatsapp-mcp-ts": {
      "command": "C:\\Users\\ebiarao\\repos\\mcp-whatsapp\\node_modules\\.bin\\ts-node.cmd",
      "args": [
        "C:\\Users\\ebiarao\\repos\\mcp-whatsapp\\src\\main.ts"
      ],
      "workingDirectory": "C:\\Users\\ebiarao\\repos\\mcp-whatsapp"
    }
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment