From 3b88badd60761f9f19f06d31f61f7e61116ee82e Mon Sep 17 00:00:00 2001 From: root Date: Wed, 15 Jul 2026 17:52:55 -0400 Subject: [PATCH] =?UTF-8?q?Update=202026-07-15=20=E2=80=94=20root?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/README.md b/README.md index 3f3394f..59ef2d3 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,59 @@ All MCPs run as Docker services alongside LiteLLM on app1, sharing the `litellm-net` network. Wired into Open WebUI via `tool_server.connections` in SQLite. +## Access + +### In Open WebUI + +All MCPs are wired into Open WebUI at **http://ai.itpropartner.com** (or **https://admin-ai.itpropartner.com/ui**). They appear as tools available to the AI model — no separate login needed once you're in Open WebUI. + +The connections are stored in SQLite at: +``` +/var/lib/docker/volumes/openwebui_data/_data/webui.db → config.key = 'tool_server.connections' +``` + +Each connection is a JSON object in the array: +```json +{ + "url": "http://host.docker.internal:8899/mcp", + "type": "mcp", + "auth_type": "none", + "info": {"name": "Super Search (MCP)", "description": "..."}, + "config": {"enable": true} +} +``` + +### Adding a new MCP to Open WebUI + +1. Build and start the MCP service in `/root/docker/litellm/docker-compose.yml` (map to `127.0.0.1:` on app1) +2. Insert the connection into the SQLite DB: +```bash +ssh app1 "sqlite3 /var/lib/docker/volumes/openwebui_data/_data/webui.db \ + \"UPDATE config SET value = json_insert(value, '\$[#]', json_object( + 'url', 'http://host.docker.internal:PORT/mcp', + 'type', 'mcp', + 'auth_type', 'none', + 'config', json_object('enable', true), + 'info', json_object('name', 'NAME', 'description', 'DESC') + )) WHERE key = 'tool_server.connections';\"" +``` +3. Restart Open WebUI: `cd /root/docker/litellm && docker compose restart openwebui` +4. Verify in admin-ai UI → Workspace → Tools + +### Direct MCP access (testing) + +All MCPs are reachable on app1's loopback. From app1: +```bash +# List tools +curl http://127.0.0.1:8899/mcp # Super Search +curl http://127.0.0.1:8901/mcp # Browser +curl http://127.0.0.1:8900/mcp # Filesystem +curl http://127.0.0.1:8902/mcp # Email +curl http://127.0.0.1:8903/mcp # Git/Gitea +``` + +From Core (Hermes), MCPs are accessed via the admin-ai proxy URL `https://admin-ai.itpropartner.com/mcp` (not direct loopback). + ## Recovery ```bash