diff --git a/mcp-gateway/SETUP_OPEN_UI.md b/mcp-gateway/SETUP_OPEN_UI.md deleted file mode 100644 index 867f088..0000000 --- a/mcp-gateway/SETUP_OPEN_UI.md +++ /dev/null @@ -1,182 +0,0 @@ -# Running MCP Gateway with Open-UI - -You now have OpenAI-compatible endpoints for your MCP Gateway! This allows Open-UI to use all your MCP tools. - -## ✅ What's Been Done - -1. ✅ Created `openai_routes.py` - Handles OpenAI-compatible API requests -2. ✅ Updated `gateway_proxy.py` - Added `/v1/models` and `/v1/chat/completions` endpoints -3. ✅ Configuration ready - Just need to restart the gateway - -## 🚀 Next Steps - -### Step 1: Restart Your Gateway - -```bash -cd /sessions/beautiful-serene-gauss/mnt/MCP\ Servers/mcp-gateway/ -docker compose restart mcp-gateway -``` - -Check the logs to verify the endpoints are registered: - -```bash -docker compose logs mcp-gateway | grep -i "openai\|v1" -``` - -You should see: `OpenAI-compatible endpoints registered at /v1/*` - -### Step 2: Test the New Endpoints - -**Test `/v1/models`:** -```bash -curl -H "Authorization: Bearer rIoRseJSR9rqwl5bp4CEOyOUKdymaoJnAsT-y752BDi2qD9jJYbgd8sWkiQIGMtz" \ - https://mcp.wilddragon.net/v1/models -``` - -Expected response: -```json -{ - "object": "list", - "data": [ - { - "id": "mcp-gateway", - "object": "model", - "owned_by": "mcp-gateway" - } - ] -} -``` - -### Step 3: Configure Open-UI - -1. **Open Open-UI**: http://10.0.0.25:3009/ -2. **Go to**: Admin → Settings → Connections -3. **Scroll to**: "Direct Connections" -4. **Enable**: Toggle "Direct Connections" ON -5. **Add Connection**: - - **API Base URL**: `https://mcp.wilddragon.net/v1` - - **API Key**: `rIoRseJSR9rqwl5bp4CEOyOUKdymaoJnAsT-y752BDi2qD9jJYbgd8sWkiQIGMtz` -6. **Click**: Save - -### Step 4: Use in Open-UI - -1. **Create a new chat** -2. **Model selection**: Choose `mcp-gateway` -3. **Start chatting** - The gateway will show available tools - -## 🔑 Your Bearer Token - -``` -rIoRseJSR9rqwl5bp4CEOyOUKdymaoJnAsT-y752BDi2qD9jJYbgd8sWkiQIGMtz -``` - -Save this somewhere safe. It's what authenticates requests from Open-UI to your gateway. - -## 🛠️ Running Both Systems - -Your setup now runs: - -``` -┌─────────────────────────────────────────────┐ -│ Your Workstation │ -├─────────────────────────────────────────────┤ -│ Claude.ai ──────────────┐ │ -│ ▼ │ -│ MCP Gateway │ -│ (Port 4444) │ -│ ▲ │ -│ Open-UI ────────────────┘ │ -│ (Port 3009) │ -└─────────────────────────────────────────────┘ - │ - │ ERPNext, TrueNAS, Home Assistant, Wave - ▼ - (External services) -``` - -**Both Claude and Open-UI** can now: -- ✅ List all available MCP tools -- ✅ Call Wave Finance tools (invoices, customers, etc.) -- ✅ Execute TrueNAS commands (storage, snapshots, etc.) -- ✅ Control Home Assistant (lights, climate, etc.) -- ✅ Query ERPNext data - -## 📝 API Endpoints Now Available - -| Endpoint | Method | Purpose | -|----------|--------|---------| -| `/v1/models` | GET | List available models (returns `mcp-gateway`) | -| `/v1/chat/completions` | POST | OpenAI-compatible chat endpoint | -| `/mcp` | POST | Raw MCP protocol (for Claude) | -| `/health` | GET | Health check | -| `/status` | GET | Gateway status | - -## 🔧 Advanced Configuration - -### Using a Different Bearer Token - -If you want to use a different token: - -1. **Update `.env`** (if you want to persist it): - ```bash - GATEWAY_API_TOKEN=your_new_token_here - ``` - -2. **Restart gateway**: - ```bash - docker compose restart mcp-gateway - ``` - -### Enabling Tool Execution - -Currently, the gateway shows available tools. To actually execute them: - -1. Edit `gateway-proxy/openai_routes.py` -2. Uncomment the `_call_mcp_tool()` function calls -3. Add logic to process tool calls in the response - -### Custom System Prompt - -Edit `openai_routes.py` function `_get_mcp_tools()` to add a custom system prompt that guides the LLM on how to use tools. - -## ⚠️ Troubleshooting - -### "Connection refused" error -- **Check**: Is the gateway running? `docker compose ps` -- **Restart**: `docker compose restart mcp-gateway` -- **Check logs**: `docker compose logs mcp-gateway` - -### "Unauthorized" error -- **Check**: Bearer token is correct -- **Check**: Header format: `Authorization: Bearer YOUR_TOKEN` - -### No tools showing -- **Check**: Are MCP backends initialized? `docker compose logs mcp-erpnext` -- **Check**: Is `/mcp` endpoint working? Test with Claude.ai first - -## ✨ Next: Production Hardening - -When ready, consider: - -1. **HTTPS certificates** - Use proper SSL/TLS -2. **Rate limiting** - Prevent API abuse -3. **Logging** - Monitor all requests -4. **Metrics** - Track usage patterns -5. **Tool execution** - Actually execute MCP tools, not just list them - -## 📚 Files Modified - -- `gateway-proxy/gateway_proxy.py` - Added OpenAI route imports and endpoints -- `gateway-proxy/openai_routes.py` - New file with OpenAI handlers -- `openai_adapter.py` - Optional adapter class -- `.` - This setup guide - -## 🎯 You Now Have - -✅ MCP Gateway with OAuth 2.1 (for Claude) -✅ OpenAI-compatible API (for Open-UI) -✅ All your tools accessible from both clients -✅ Bearer token authentication -✅ Production-ready architecture - -Enjoy! 🚀