diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e4d54d..a3111f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Remote HTTP/SSE custom MCP entries with endpoint URL and header metadata. + ## [2.0.0] — 2026-05-05 The big one — "Node Server Dashboard" became "Node Server Dashboard + MCP Control Center". diff --git a/README.md b/README.md index 7be8686..c6d618b 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ It also keeps everything the original PM2 dashboard already did (live process me - 🔐 **Per-profile auth** — see exactly which secrets each profile's servers need, set values via the OS keychain (`docker mcp secret`) - 🚪 **Gateway control** — start/stop the MCP gateway with a chosen profile, watch logs scroll in real time - 🔗 **One-click client connections** — auto-configurable for 16 supported clients (Claude Code, Claude Desktop, Cursor, VS Code, Cline, Continue, Codex, Cursor, Gemini, Goose, Gordon, Kiro, LM Studio, OpenCode, Sema4, Zed) plus manual config-snippet generators for **OpenClaw.ai**, **Paperclip Dashboard**, or anything else -- 🔧 **Custom MCP catalog** — add npx-based or command-based MCPs that live outside the Docker catalog +- 🔧 **Custom MCP catalog** — add npx-based, command-based, or remote MCPs that live outside the Docker catalog - ➕ **New process from Docker** — pick any MCP from the catalog and run it as a managed PM2 process (uses `docker run -i --rm`) ### Process management (the original dashboard) @@ -304,6 +304,19 @@ Per-user state lives in `data/`: | `data/manual-clients.json` | OpenClaw.ai, Paperclip, and any custom client configs | | `data/settings.json` | UI preferences (theme, refresh interval) | +### Remote custom MCP example + +Use **Add Custom MCP** for remote MCP servers that are not packaged in the Docker catalog. For example, Xquik's remote MCP endpoint can be saved with: + +| Field | Value | +|---|---| +| Name | `xquik` | +| Type | `remote HTTP/SSE endpoint` | +| Endpoint URL | `https://xquik.com/mcp` | +| Headers | `Authorization=Bearer ${XQUIK_API_KEY}` | + +Keep the API key in your shell, password manager, or client-specific secret store. Do not paste secret values into documentation or commits. + --- ## 🔒 Security notes diff --git a/lib/store.js b/lib/store.js index 581ec0d..bb866fd 100644 --- a/lib/store.js +++ b/lib/store.js @@ -34,7 +34,7 @@ function write(name, data) { } // ----- Custom catalog (non-Docker MCPs) ----- -// Shape: [{ id, name, title, description, type: 'npx'|'command', command, args, env, addedAt }] +// Shape: [{ id, name, title, description, type: 'npx'|'command'|'remote', command, args, url, headers, env, addedAt }] function customCatalog() { return read('custom-catalog.json', []); diff --git a/public/index.html b/public/index.html index f6b5591..09a7033 100644 --- a/public/index.html +++ b/public/index.html @@ -235,17 +235,19 @@

Servers