diff --git a/docs/features/mcp.mdx b/docs/features/mcp.mdx index 55839511..d3f5f3bc 100644 --- a/docs/features/mcp.mdx +++ b/docs/features/mcp.mdx @@ -46,6 +46,37 @@ Choose **MCP (Streamable HTTP)** if you need: Browser-based, multi-user deployments increase the surface area (CORS/CSRF, per-user isolation, reconnects). Review your org’s auth, proxy, and rate-limiting policies before exposing MCP externally. ::: +## ⚙️ Configuration Best Practices + +### Authentication Modes + +* **None**: Use this for **local MCP servers** or internal networks where no token is required. + * **⚠️ Important**: Default to "None" unless your server strictly requires a token. Selecting "Bearer" without providing a key sends an empty Authorization header (`Authorization: Bearer`), which causes many servers to reject the connection immediately. +* **Bearer**: Use this **only** if your MCP server requires a specific API token. You **must** populate the "Key" field. +* **OAuth 2.1**: For secured, enterprise deployments requiring Identity Provider flows. + +### Connection URLs + +If you are running Open WebUI in **Docker** and your MCP server is on the **host machine**: +* Use `http://host.docker.internal:` (e.g., `http://host.docker.internal:3000/sse`) instead of `localhost`. + +### Function Name Filter List + +This field restricts which tools are exposed to the LLM. +* **Default**: Leave empty to expose all tools (in most cases). +* **Workaround**: If you encounter connection errors with an empty list, try adding a single comma (`,`) to this field. This forces the system to treat it as a valid (but empty) filter, potentially bypassing some parsing issues. + +## 🔧 Troubleshooting + +### "Failed to connect to MCP server" + +**Symptom**: +The chat shows "Failed to connect to MCP server" when using a tool, even if the **Verify Connection** button in settings says "Connected". + +**Solutions**: +1. **Check Authentication**: Ensure you haven't selected `Bearer` without a key. Switch to `None` if no token is needed. +2. **Filter List Bug**: If the "Function Name Filter List" is empty, try adding a comma (`,`) to it. + ## ❓ FAQ **Do you support stdio or SSE transports?** diff --git a/docs/troubleshooting/connection-error.mdx b/docs/troubleshooting/connection-error.mdx index 4676f30b..5a334611 100644 --- a/docs/troubleshooting/connection-error.mdx +++ b/docs/troubleshooting/connection-error.mdx @@ -171,3 +171,11 @@ Running on MacOS with Podman? Here’s how to ensure connectivity: podman run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://host.containers.internal:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main ``` + +## 🛠️ MCP Tool Connections + +If you are having trouble connecting to MCP tools (e.g. "Failed to connect to MCP server"): +* **Authentication**: Ensure you aren't using "Bearer" without a token. +* **Filters**: Try adding a comma to the Function Name Filter List. + +See the [MCP Feature Documentation](/features/mcp#troubleshooting) for detailed troubleshooting steps. diff --git a/docs/tutorials/integrations/mcp-notion.mdx b/docs/tutorials/integrations/mcp-notion.mdx index ce9ae0e7..b36d1b4f 100644 --- a/docs/tutorials/integrations/mcp-notion.mdx +++ b/docs/tutorials/integrations/mcp-notion.mdx @@ -166,8 +166,7 @@ Once MCPO is running and configured with Notion: "spec_type": "url", "spec": "", "path": "openapi.json", - "auth_type": "bearer", - "key": "", + "auth_type": "none", "info": { "id": "notion-local", "name": "Notion (Local)",