docs: reconcile sunset of LiteLLM external, mcp-gateway, and LobeChat
- Bifrost replaces LiteLLM at ai.nuclide.systems (CT 104:14003); LiteLLM now internal-only backend at :14000 - mcp-gateway (FastAPI/DinD, mcp.nuclide.systems) decommissioned 2026-05-26; MCP now served by Bifrost at ai.nuclide.systems/mcp (29 clients, ~760 tools) - LobeChat decommissioned 2026-05-26; chat.nuclide.systems now Open WebUI (CT 104:14002, stack ai/open-webui.yml) - Update portmap, volumes, services-overview, homelab-architecture, zoraxy, mcp-servers, databases, README accordingly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+45
-65
@@ -1,9 +1,9 @@
|
||||
# MCP Servers — nuclide.systems
|
||||
|
||||
Complete reference for all 30 MCP servers managed by the gateway at `https://mcp.nuclide.systems`.
|
||||
**Last verified: 2026-05-23.**
|
||||
Complete reference for all 30 MCP servers. MCP is now served by **Bifrost** at `https://ai.nuclide.systems/mcp`.
|
||||
**Last verified: 2026-05-23. Gateway migrated to Bifrost: 2026-05-26.**
|
||||
|
||||
> Architecture doc: [`mcp-gateway.md`](mcp-gateway.md) · Config file: `/opt/stacks/ai/mcp-gateway/config.json` on CT 104 · Secrets: `/opt/stacks/ai/.env`
|
||||
> The old mcp-gateway (FastAPI/DinD, `mcp.nuclide.systems`) was **decommissioned 2026-05-26** — compose renamed `.DECOMMISSIONED-2026-05-26`. Config file was at `/opt/stacks/ai/mcp-gateway/config.json` on CT 104 · Secrets: `/opt/stacks/ai/.env`
|
||||
|
||||
---
|
||||
|
||||
@@ -11,40 +11,38 @@ Complete reference for all 30 MCP servers managed by the gateway at `https://mcp
|
||||
|
||||
| # | Server | Group | Kind | Gateway URL | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| 1 | `context7` | dev | catalog | `https://mcp.nuclide.systems/context7/mcp` | ✓ |
|
||||
| 2 | `fetch` | dev | spawn | `https://mcp.nuclide.systems/fetch/mcp` | ✓ |
|
||||
| 3 | `git` | dev | catalog | `https://mcp.nuclide.systems/git/mcp` | ✓ |
|
||||
| 4 | `gitlab` | dev | catalog | `https://mcp.nuclide.systems/gitlab/mcp` | ✓ |
|
||||
| 5 | `kroki` | dev | static | `https://mcp.nuclide.systems/kroki/mcp` | ✓ |
|
||||
| 6 | `markitdown` | dev | catalog | `https://mcp.nuclide.systems/markitdown/mcp` | ✓ |
|
||||
| 7 | `sequential-thinking` | dev | catalog | `https://mcp.nuclide.systems/sequential-thinking/mcp` | ✓ |
|
||||
| 8 | `time` | dev | spawn | `https://mcp.nuclide.systems/time/mcp` | ✓ |
|
||||
| 9 | `docling` | dev | static | `https://mcp.nuclide.systems/docling/mcp` | ✓ |
|
||||
| 10 | `coder` | dev | static | `https://mcp.nuclide.systems/coder/mcp` | ✓ |
|
||||
| 11 | `gitea` | dev | static | `https://mcp.nuclide.systems/gitea/mcp` | ✓ |
|
||||
| 12 | `proxmox` | dev | spawn | `https://mcp.nuclide.systems/proxmox/mcp` | ✓ |
|
||||
| 13 | `shepard` | dev | static | `https://mcp.nuclide.systems/shepard/mcp` | ✓ |
|
||||
| 14 | `crawl4ai` | research | spawn | `https://mcp.nuclide.systems/crawl4ai/mcp` | ✓ |
|
||||
| 15 | `paper-search` | research | catalog | `https://mcp.nuclide.systems/paper-search/mcp` | ✓ |
|
||||
| 16 | `searxng` | research | spawn | `https://mcp.nuclide.systems/searxng/mcp` | ✓ |
|
||||
| 17 | `wikipedia-mcp` | research | catalog | `https://mcp.nuclide.systems/wikipedia-mcp/mcp` | ✓ |
|
||||
| 18 | `youtube-transcript` | research | catalog | `https://mcp.nuclide.systems/youtube-transcript/mcp` | ✓ |
|
||||
| 19 | `bluesky` | personal | static | `https://mcp.nuclide.systems/bluesky/mcp` | ✓ |
|
||||
| 20 | `obsidian` | personal | spawn | `https://mcp.nuclide.systems/obsidian/mcp` | ✓ |
|
||||
| 21 | `gotify` | personal | spawn | `https://mcp.nuclide.systems/gotify/mcp` | ✓ |
|
||||
| 22 | `home-assistant` | personal | static | `https://mcp.nuclide.systems/home-assistant/mcp` | ✓ |
|
||||
| 23 | `immich` | personal | spawn | `https://mcp.nuclide.systems/immich/mcp` | ✓ |
|
||||
| 24 | `memos` | personal | spawn | `https://mcp.nuclide.systems/memos/mcp` | ✓ |
|
||||
| 25 | `n8n` | personal | static | `https://mcp.nuclide.systems/n8n/mcp` | ✓ |
|
||||
| 26 | `nextcloud` | personal | spawn | `https://mcp.nuclide.systems/nextcloud/mcp` | ✓ |
|
||||
| 27 | `paperless` | personal | static | `https://mcp.nuclide.systems/paperless/mcp` | ✓ |
|
||||
| 28 | `unifi` | personal | spawn | `https://mcp.nuclide.systems/unifi/mcp` | ✓ |
|
||||
| 29 | `comfyui` | image | static | `https://mcp.nuclide.systems/comfyui/mcp` | ✓ |
|
||||
| 30 | `upload-artifact` | storage | static | `https://mcp.nuclide.systems/upload-artifact/mcp` | ✓ |
|
||||
| 1 | `context7` | dev | catalog | `https://ai.nuclide.systems/mcp/context7/mcp` | ✓ |
|
||||
| 2 | `fetch` | dev | spawn | `https://ai.nuclide.systems/mcp/fetch/mcp` | ✓ |
|
||||
| 3 | `git` | dev | catalog | `https://ai.nuclide.systems/mcp/git/mcp` | ✓ |
|
||||
| 4 | `gitlab` | dev | catalog | `https://ai.nuclide.systems/mcp/gitlab/mcp` | ✓ |
|
||||
| 5 | `kroki` | dev | static | `https://ai.nuclide.systems/mcp/kroki/mcp` | ✓ |
|
||||
| 6 | `markitdown` | dev | catalog | `https://ai.nuclide.systems/mcp/markitdown/mcp` | ✓ |
|
||||
| 7 | `sequential-thinking` | dev | catalog | `https://ai.nuclide.systems/mcp/sequential-thinking/mcp` | ✓ |
|
||||
| 8 | `time` | dev | spawn | `https://ai.nuclide.systems/mcp/time/mcp` | ✓ |
|
||||
| 9 | `docling` | dev | static | `https://ai.nuclide.systems/mcp/docling/mcp` | ✓ |
|
||||
| 10 | `coder` | dev | static | `https://ai.nuclide.systems/mcp/coder/mcp` | ✓ |
|
||||
| 11 | `gitea` | dev | static | `https://ai.nuclide.systems/mcp/gitea/mcp` | ✓ |
|
||||
| 12 | `proxmox` | dev | spawn | `https://ai.nuclide.systems/mcp/proxmox/mcp` | ✓ |
|
||||
| 13 | `shepard` | dev | static | `https://ai.nuclide.systems/mcp/shepard/mcp` | ✓ |
|
||||
| 14 | `crawl4ai` | research | spawn | `https://ai.nuclide.systems/mcp/crawl4ai/mcp` | ✓ |
|
||||
| 15 | `paper-search` | research | catalog | `https://ai.nuclide.systems/mcp/paper-search/mcp` | ✓ |
|
||||
| 16 | `searxng` | research | spawn | `https://ai.nuclide.systems/mcp/searxng/mcp` | ✓ |
|
||||
| 17 | `wikipedia-mcp` | research | catalog | `https://ai.nuclide.systems/mcp/wikipedia-mcp/mcp` | ✓ |
|
||||
| 18 | `youtube-transcript` | research | catalog | `https://ai.nuclide.systems/mcp/youtube-transcript/mcp` | ✓ |
|
||||
| 19 | `bluesky` | personal | static | `https://ai.nuclide.systems/mcp/bluesky/mcp` | ✓ |
|
||||
| 20 | `obsidian` | personal | spawn | `https://ai.nuclide.systems/mcp/obsidian/mcp` | ✓ |
|
||||
| 21 | `gotify` | personal | spawn | `https://ai.nuclide.systems/mcp/gotify/mcp` | ✓ |
|
||||
| 22 | `home-assistant` | personal | static | `https://ai.nuclide.systems/mcp/home-assistant/mcp` | ✓ |
|
||||
| 23 | `immich` | personal | spawn | `https://ai.nuclide.systems/mcp/immich/mcp` | ✓ |
|
||||
| 24 | `memos` | personal | spawn | `https://ai.nuclide.systems/mcp/memos/mcp` | ✓ |
|
||||
| 25 | `n8n` | personal | static | `https://ai.nuclide.systems/mcp/n8n/mcp` | ✓ |
|
||||
| 26 | `nextcloud` | personal | spawn | `https://ai.nuclide.systems/mcp/nextcloud/mcp` | ✓ |
|
||||
| 27 | `paperless` | personal | static | `https://ai.nuclide.systems/mcp/paperless/mcp` | ✓ |
|
||||
| 28 | `unifi` | personal | spawn | `https://ai.nuclide.systems/mcp/unifi/mcp` | ✓ |
|
||||
| 29 | `comfyui` | image | static | `https://ai.nuclide.systems/mcp/comfyui/mcp` | ✓ |
|
||||
| 30 | `upload-artifact` | storage | static | `https://ai.nuclide.systems/mcp/upload-artifact/mcp` | ✓ |
|
||||
|
||||
**Auth**: all gateway URLs require `Authorization: Bearer <gateway-token>`. Get a config bundle at `https://mcp.nuclide.systems/mcp-config?format=claude`.
|
||||
|
||||
**Gateway API key** (for `/api/*` management calls): `JxxCqKw32XoN4LOHunDikS6u1RpS7R5ythzaqADPuIA`
|
||||
**Auth**: all Bifrost MCP URLs require `Authorization: Bearer sk-bf-<key>`. MCP endpoint: `https://ai.nuclide.systems/mcp`.
|
||||
|
||||
---
|
||||
|
||||
@@ -523,13 +521,15 @@ Complete reference for all 30 MCP servers managed by the gateway at `https://mcp
|
||||
|
||||
### Auto (recommended)
|
||||
|
||||
> **Note**: URLs below use the new Bifrost endpoint. Old `mcp.nuclide.systems` routes are decommissioned.
|
||||
|
||||
```
|
||||
GET https://mcp.nuclide.systems/mcp-config?format=claude # Claude Code / Claude Desktop
|
||||
GET https://mcp.nuclide.systems/mcp-config?format=cursor # Cursor
|
||||
GET https://mcp.nuclide.systems/mcp-config?format=raw # raw token + URLs
|
||||
GET https://ai.nuclide.systems/mcp-config?format=claude # Claude Code / Claude Desktop
|
||||
GET https://ai.nuclide.systems/mcp-config?format=cursor # Cursor
|
||||
GET https://ai.nuclide.systems/mcp-config?format=raw # raw token + URLs
|
||||
```
|
||||
|
||||
Requires Pocket-ID session. Downloads a pre-built config with fresh long-lived token. Merge `mcpServers` block into `~/.claude/settings.json`.
|
||||
Auth: `Authorization: Bearer sk-bf-<key>`. Merge `mcpServers` block into `~/.claude/settings.json`.
|
||||
|
||||
### Manual (Claude Code)
|
||||
|
||||
@@ -538,9 +538,9 @@ Requires Pocket-ID session. Downloads a pre-built config with fresh long-lived t
|
||||
"mcpServers": {
|
||||
"<name>": {
|
||||
"type": "http",
|
||||
"url": "https://mcp.nuclide.systems/<name>/mcp",
|
||||
"url": "https://ai.nuclide.systems/mcp/<name>/mcp",
|
||||
"headers": {
|
||||
"Authorization": "Bearer JxxCqKw32XoN4LOHunDikS6u1RpS7R5ythzaqADPuIA"
|
||||
"Authorization": "Bearer sk-bf-<key>"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -551,32 +551,12 @@ Requires Pocket-ID session. Downloads a pre-built config with fresh long-lived t
|
||||
|
||||
## Gateway management API
|
||||
|
||||
All calls require `Authorization: Bearer JxxCqKw32XoN4LOHunDikS6u1RpS7R5ythzaqADPuIA`.
|
||||
Bifrost management API (auth: `sk-bf-<key>`).
|
||||
|
||||
```bash
|
||||
BASE=https://mcp.nuclide.systems
|
||||
TOKEN=JxxCqKw32XoN4LOHunDikS6u1RpS7R5ythzaqADPuIA
|
||||
H="Authorization: Bearer $TOKEN"
|
||||
|
||||
BASE=https://ai.nuclide.systems
|
||||
# List all servers + status
|
||||
curl -H "$H" $BASE/api/servers
|
||||
|
||||
# Start / stop a server
|
||||
curl -X POST -H "$H" $BASE/api/servers/memos/start
|
||||
curl -X POST -H "$H" $BASE/api/servers/memos/stop
|
||||
|
||||
# Create new server (persists to config.json)
|
||||
curl -X POST -H "$H" -H "Content-Type: application/json" \
|
||||
-d '{"name":"myserver","static":true,"upstream":"http://host:port","group":"custom"}' \
|
||||
$BASE/api/servers
|
||||
|
||||
# Delete server (stops container + removes from config.json)
|
||||
curl -X DELETE -H "$H" $BASE/api/servers/myserver
|
||||
|
||||
# Patch server config
|
||||
curl -X PATCH -H "$H" -H "Content-Type: application/json" \
|
||||
-d '{"enabled":false}' \
|
||||
$BASE/api/servers/myserver
|
||||
curl -H "Authorization: Bearer sk-bf-..." $BASE/api/servers
|
||||
|
||||
# Health check
|
||||
curl $BASE/health
|
||||
|
||||
Reference in New Issue
Block a user