Remote MCP Server

HTTP wrapper around qmd's MCP transport with bearer token auth. Access the wiki from Claude Desktop, Perplexity, or any MCP client - from any device.

Why Remote MCP

qmd exposes 4 MCP tools (query, get, multi_get, status) via stdio, which works for local agents (Cursor, Claude Code). But Claude Desktop, Perplexity, and mobile clients need HTTP access. This server bridges the gap: spawns qmd mcp as a subprocess and exposes it over HTTP with authentication.

Usage

# Start local server (port 3456, localhost only)
npx tsx scripts/serve-mcp.ts

# Allow remote connections
npx tsx scripts/serve-mcp.ts --remote

# Custom port
npx tsx scripts/serve-mcp.ts --port 8080

# Token management
npx tsx scripts/serve-mcp.ts create-token "claude-desktop"
npx tsx scripts/serve-mcp.ts list-tokens
npx tsx scripts/serve-mcp.ts revoke-token "claude-desktop"

Client Setup

Claude Code:

claude mcp add kevin-wiki -t http https://YOUR-DOMAIN/mcp -H "Authorization: Bearer TOKEN"

Claude Desktop: Settings > Integrations > Add. Enter the URL. (GUI only - JSON config does NOT work for remote MCP.)

Perplexity: Settings > Connectors > Add Remote MCP.

Authentication

Bearer tokens stored at ~/.kevin-wiki/mcp-tokens.json. When no tokens are configured, all requests are allowed (local development). Create a token before exposing remotely.

Public Access via ngrok

For access from outside your network, use ngrok (see recipes/ngrok-tunnel.md):

ngrok http 3456 --url your-wiki.ngrok.app

With the watchdog script for auto-restart:

./scripts/ngrok-watchdog.sh

Cost

$0 for local use. $8/mo for ngrok Hobby tier (fixed public domain).

Publishing and Discovery

This server is private (bearer-token gated) by design. To make a wiki MCP server publicly discoverable instead, the MCP ecosystem now has a discovery layer that did not exist when this server was first written: the official MCP Registry (open catalog and API, in preview since September 2025) and the Smithery marketplace (distribution, analytics, and an OAuth-aware gateway). A Streamable-HTTP wiki server can be registered there for reach; keep auth on for anything private. Source: MCP Blog, https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/, 2025-09-08


Timeline