{"id":281115,"date":"2026-10-20T11:11:18","date_gmt":"2026-10-20T11:11:18","guid":{"rendered":"https:\/\/www.bluehost.com\/blog\/?p=281115"},"modified":"2026-10-20T11:12:23","modified_gmt":"2026-10-20T11:12:23","slug":"connecting-mcp-servers-to-open-webui","status":"publish","type":"post","link":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/","title":{"rendered":"Open WebUI MCP Server Integration: A Complete Setup Guide"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Every MCP integration with Open WebUI starts at the same fork in the road: can the two talk directly, or do they need a translator standing between them? The answer hinges on one detail: the connection type your server speaks.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Streamable HTTP servers<\/strong>: Open WebUI can use MCP tools natively (v0.6.31 and later). Go to Settings &gt; Admin &gt; Integrations &gt; Add Connection, and set Type to MCP (Streamable HTTP).<\/li>\n\n\n\n<li><strong>stdio or SSE servers<\/strong>: Open WebUI can\u2019t call these directly. You\u2019ll need the mcpo proxy to expose the server\u2019s tools as OpenAPI endpoints it can register and call.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s the catch: most MCP servers speak stdio or SSE, not Streamable HTTP. So native support, convenient as it is, won\u2019t help with the server you\u2019re probably trying to connect.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s where mcpo (Model Context Protocol OpenAPI) comes in. It\u2019s a proxy that sits between the two: your MCP server speaking one language, Open WebUI speaking another, and mcpo translating in between.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide walks through that translation end to end: getting mcpo running, registering it in Open WebUI, and fixing the connection errors that tend to show up along the way.<\/p>\n\n\n\n<h2 id=\"h-what-is-mcpo-and-how-does-it-connect-mcp-servers-to-open-webui\" class=\"wp-block-heading\"><strong>What is mcpo and how does it connect MCP servers to Open WebUI?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.bluehost.com\/help\/article\/bh-mcp-overview\">Model Context Protocol (MCP)<\/a> lets large language models use external tools and APIs. It\u2019s the open webui model context protocol layer that makes tool calling possible in the first place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open WebUI\u2019s native support only covers one connection type. If your MCP server uses Streamable HTTP, Open WebUI connects to it directly. You\u2019ll find this under Settings &gt; Admin &gt; Integrations &gt; Add Connection, with Type set to MCP (Streamable HTTP).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Most MCP servers don\u2019t use Streamable HTTP, though. Many use standard input\/output (stdio) or SSE instead. Open WebUI can\u2019t call these directly. This is where mcpo, the MCP-to-OpenAPI proxy, comes in.<\/p>\n\n\n\n<h3 id=\"h-how-does-mcpo-connect-mcp-servers-to-open-webui\" class=\"wp-block-heading\">How does mcpo connect MCP servers to Open WebUI?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">mcpo runs your MCP server as a background process. It then exposes that server\u2019s tools as OpenAPI HTTP endpoints. Open WebUI can inspect these endpoints and call them like any other tool server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the core of mcpo open webui integration: mcpo acts as the translator, so Open WebUI never has to speak stdio or SSE directly. It just calls a standard OpenAPI endpoint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">mcpo isn\u2019t limited to stdio and SSE servers, either. With the <code>--server-type<\/code> flag, it can also front SSE and Streamable HTTP servers, so you can run one proxy pattern across different server types if needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On paper, that\u2019s a lot of flexibility for one small proxy. In practice, it comes down to three steps: launching mcpo, pointing it at your MCP server, and linking it to Open WebUI so the two can actually find each other.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-set-up-an-mcp-tool-server-with-mcpo\" class=\"wp-block-heading\"><strong>How do you set up an MCP tool server with mcpo?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can run mcpo as a Python package or a Docker container. This guide uses Docker, since it\u2019s the simplest way to run mcpo with Open WebUI as two linked containers.<\/p>\n\n\n\n<h3 id=\"h-step-1-launch-the-mcpo-container\" class=\"wp-block-heading\"><strong>Step 1: Launch the mcpo container<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use the official <code>ghcr.io\/open-webui\/mcpo:main<\/code> image. mcpo launches your MCP server command and exposes its tools as an OpenAPI HTTP service.<\/p>\n\n\n\n<h3 id=\"h-step-2-pass-the-host-port-api-key-and-mcp-server-command\" class=\"wp-block-heading\"><strong>Step 2: Pass the host, port, API key, and MCP server command<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">mcpo takes its settings as command-line arguments, not environment variables. This is the core of mcpo\u2019s open webui mcp server configuration:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set <code>--host 0.0.0.0<\/code> and <code>--port 8000<\/code><\/li>\n\n\n\n<li>Add an <code>--api-key<\/code><\/li>\n\n\n\n<li>Put your MCP server command after <code>--<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To run several MCP servers from one mcpo instance, pass a JSON file with <code>--config<\/code> instead.<\/p>\n\n\n\n<h3 id=\"h-step-3-link-containers-with-docker-compose\" class=\"wp-block-heading\"><strong>Step 3: Link containers with Docker Compose<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Define both services in a single <code>docker-compose.yml<\/code> file. Compose puts them on a shared network, so Open WebUI can resolve mcpo by its service name. This is how to run an MCP server with Open WebUI in Docker without managing two separate networks by hand.<\/p>\n\n\n\n<h4 id=\"h-create-the-file-with-both-services-defined\" class=\"wp-block-heading\">Create the file with both services defined:<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>services:<br>  mcpo:<br>    image: ghcr.io\/open-webui\/mcpo:main<br>    command: &#91;\"--host\", \"0.0.0.0\", \"--port\", \"8000\", \"--api-key\", \"your-mcpo-api-key\", \"--\", \"uvx\", \"mcp-server-time\", \"--local-timezone=America\/New_York\"]<br>    restart: unless-stopped<br><br>  open-webui:<br>    image: ghcr.io\/open-webui\/open-webui:main<br>    ports:<br>      - \"3000:8080\"<br>    environment:<br>      - WEBUI_SECRET_KEY=your-secret-key<br>    volumes:<br>      - open-webui:\/app\/backend\/data<br>    restart: unless-stopped<br><br>volumes:<br>  open-webui:<br><br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This example runs the <code>mcp-server-time<\/code> server from the mcpo README. Replace everything after <code>--<\/code> with your own MCP server command.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A couple of details matter here:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mcpo has no <code>ports:<\/code> entry. Published ports bypass ufw, so keep this service unpublished and let Open WebUI reach it over the internal Compose network.<\/li>\n\n\n\n<li>Replace <code>your-secret-key<\/code> with the output of <code>openssl rand -hex 32<\/code>. This keeps users logged in across container updates.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once both containers are running, the next step is connecting mcpo to Open WebUI as a registered tool server.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-add-the-mcp-server-to-open-webui-s-admin-panel\" class=\"wp-block-heading\"><strong>How do you add the MCP server to Open WebUI\u2019s admin panel?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Registering mcpo takes no custom code. If Open WebUI isn\u2019t running yet, follow our guide on <a href=\"https:\/\/www.bluehost.com\/blog\/how-to-install-open-webui\">how to install Open WebUI<\/a>. If Open WebUI already runs in its own container, skip the <code>open-webui<\/code> service from the Compose file above. Just attach your existing container to the same Docker network as mcpo, so it can resolve mcpo by name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s how to add mcp server to open webui once both containers are on the same network:<\/p>\n\n\n\n<h3 id=\"h-step-1-open-the-global-tool-server-settings\" class=\"wp-block-heading\"><strong>Step 1: Open the global tool server settings<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Log in to Open WebUI as an administrator. Go to Settings &gt; Admin &gt; Integrations, and find the Tools section.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open WebUI mcp server support works at two levels here:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Global tool servers<\/strong> are called from the Open WebUI server itself. Docker container names, like <code>mcpo<\/code>, resolve correctly here.<\/li>\n\n\n\n<li><strong>Per-user tool servers<\/strong> are called from the browser instead. Container names don\u2019t resolve there, since the browser isn\u2019t on the Docker network.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For mcpo, use a global tool server.<\/p>\n\n\n\n<h3 id=\"h-step-2-enter-the-mcpo-server-url\" class=\"wp-block-heading\"><strong>Step 2: Enter the mcpo server URL<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Add a connection and set its Type to OpenAPI. Enter the base URL <code>http:\/\/mcpo:8000<\/code>, not the <code>\/openapi.json<\/code> path.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re running mcpo with a config file to serve multiple MCP servers, add each one separately, using its own subpath. For example: <code>http:\/\/mcpo:8000\/time<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enter the key you passed to <code>--api-key<\/code> in the connection\u2019s authentication field, then save.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A common cause of open webui failed to connect to mcp server errors: entering mcpo\u2019s root URL instead of a tool\u2019s specific subpath. Open WebUI needs the full subpath to route tool calls to the right backend. Without it, tool calls fail silently instead of returning a clear error.<\/p>\n\n\n\n<h3 id=\"h-step-3-enable-the-tool-in-a-chat\" class=\"wp-block-heading\"><strong>Step 3: Enable the tool in a chat<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Global tools are off by default in every chat. To connect mcp server to open webui tools inside a conversation:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click the Integrations button in the message input.<\/li>\n\n\n\n<li>Open Tools.<\/li>\n\n\n\n<li>Switch on your mcpo tool.<\/li>\n\n\n\n<li>Send a prompt that needs it, using a model that supports tool calling.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">At this point, mcpo and Open WebUI can talk. The question is whether they\u2019ll still be able to tomorrow.<\/p>\n\n\n\n<h2 id=\"h-why-choose-bluehost-vps-hosting-for-open-webui-and-mcp-tools\" class=\"wp-block-heading\"><strong>Why choose Bluehost VPS hosting for Open WebUI and MCP tools?\u00a0<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Everything in the setup above assumes a machine that\u2019s always there. Look back at the Compose file: <code>restart: unless-stopped<\/code> brings mcpo back if the container crashes, but it does nothing if the machine underneath sleeps, reboots, or gets closed, which is exactly what a laptop does. The ufw detail from Step 3 carries the same hidden assumption: not publishing port 8000 only matters if you\u2019re already running this on a Linux server, something this guide never actually confirmed you have.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That gap, a container configuration that only works on hardware built to stay on, is exactly what <a href=\"https:\/\/www.bluehost.com\/help\/article\/bh-self-managed-vps-overview\">self-managed VPS hosting<\/a> with Docker support closes. At Bluehost, our Self-Managed NVMe 4 plan is built for this kind of workload: 2 vCPUs, 4 GB DDR5 RAM, and 100 GB NVMe storage, enough headroom to run mcpo and Open WebUI as persistent, resolvable services instead of processes that happen to be running right now.<\/p>\n\n\n\n<h3 id=\"h-what-the-nvme-4-plan-actually-fixes\" class=\"wp-block-heading\"><strong>What the NVMe 4 plan actually fixes<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>A machine that doesn\u2019t sleep<\/strong>: Your laptop closing or your workstation rebooting no longer takes mcpo down with it. <code>restart: unless-stopped<\/code> finally has hardware worth promising that to.<\/li>\n\n\n\n<li><strong>A server, not a guess<\/strong>: The ufw assumption this guide made earlier stops being an assumption. NVMe 4 gives you the Linux environment that detail was quietly depending on.<\/li>\n\n\n\n<li><strong>Headroom for more than one proxy: <\/strong>4 GB of DDR5 RAM and 100 GB of NVMe storage mean mcpo and Open WebUI aren\u2019t competing for resources with each other, or with whatever else you run alongside them.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The trade-off: you still manage Linux and Docker networking yourself, <a href=\"https:\/\/www.bluehost.com\/blog\/how-vps-hosting-works\/\">how VPS hosting works<\/a> puts that responsibility on you, not on the platform. What it buys you is simpler but more fundamental: a machine that\u2019s actually there when Open WebUI tries to reach mcpo.<\/p>\n\n\n\n<h2 id=\"h-from-proxy-to-production-what-your-mcp-setup-actually-needs\" class=\"wp-block-heading\"><strong>From proxy to production: What your MCP setup actually needs<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open WebUI connects Streamable HTTP MCP servers natively. For everything else, mcpo steps in as the translator, turning stdio and SSE servers into OpenAPI tools that Open WebUI can register and call. Between the two paths, that\u2019s the real question this guide set out to answer: how to get an MCP server talking to Open WebUI, whatever transport it speaks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But talking to each other once isn\u2019t the same as staying connected. mcpo and Open WebUI resolving each other by name solves the \u201ccan they talk\u201d problem. Whether that connection is still there tomorrow is a different problem entirely, and it depends on what\u2019s running underneath both containers. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.bluehost.com\/vps-hosting\">Build on Bluehost VPS hosting<\/a> and that question stops being one you have to think about.<\/p>\n\n\n\n<h2 id=\"h-faqs\" class=\"wp-block-heading\"><strong>FAQs<\/strong><\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1792494087978\"><strong class=\"schema-faq-question\"><strong>Can Open WebUI use MCP tools natively, or do you always need mcpo?<\/strong><\/strong> <p class=\"schema-faq-answer\">Open WebUI can use MCP tools natively, but only for Streamable HTTP servers (v0.6.31 and later). If your server uses stdio or SSE, which most do, you need mcpo to bridge it. There\u2019s no way around the proxy for those transport types right now.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792494089893\"><strong class=\"schema-faq-question\"><strong>What\u2019s the difference between the MCP (Streamable HTTP) and OpenAPI connection types in Open WebUI?<\/strong><\/strong> <p class=\"schema-faq-answer\">MCP (Streamable HTTP) is for MCP servers Open WebUI can talk to directly. OpenAPI is for everything registered through mcpo, since mcpo converts MCP tools into standard OpenAPI endpoints. If you\u2019re adding mcpo, always select OpenAPI as the type, not MCP, even though the underlying tool is an MCP server.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792494090415\"><strong class=\"schema-faq-question\"><strong>Is Open WebUI mcp server integration limited to Docker setups?<\/strong><\/strong> <p class=\"schema-faq-answer\">No. mcpo runs as a Python package too, using <code>pip install mcpo<\/code> or <code>uvx<\/code>. Docker just makes the networking simpler, since Compose puts mcpo and Open WebUI on the same network automatically. If you run mcpo outside Docker, you\u2019ll need to point Open WebUI at whatever host and port mcpo is actually listening on.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792494090974\"><strong class=\"schema-faq-question\"><strong>How do you configure an MCP server in Open WebUI when mcpo is fronting more than one tool?<\/strong><\/strong> <p class=\"schema-faq-answer\">Each tool gets its own subpath, and each subpath needs its own connection in Open WebUI. If mcpo is running multiple servers from a config file, register <code>http:\/\/mcpo:8000\/time<\/code>, <code>http:\/\/mcpo:8000\/weather<\/code>, and so on, as separate OpenAPI connections, rather than adding mcpo\u2019s root URL once.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792494091518\"><strong class=\"schema-faq-question\"><strong>How do you connect Open WebUI to an MCP tool server that isn\u2019t officially documented by mcpo?<\/strong><\/strong> <p class=\"schema-faq-answer\">The same way as any other MCP server. mcpo doesn\u2019t need a server to be pre-documented or officially supported. Put the server\u2019s run command after <code>--<\/code> in your mcpo command or config file, and mcpo exposes whatever tools that server defines, as long as the server follows the MCP spec.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792494092135\"><strong class=\"schema-faq-question\"><strong>Why does Open WebUI register a tool but the model never calls it?<\/strong><\/strong> <p class=\"schema-faq-answer\">A few common causes: the chat is using a model that doesn\u2019t support tool calling, the tool is still switched off for that specific chat (global tools default to off), or the connection URL points to mcpo\u2019s root instead of the tool\u2019s subpath. Check all three before assuming the connection itself is broken.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792494139045\"><strong class=\"schema-faq-question\"><strong>Do MCP tool connections survive a container or server restart?<\/strong><\/strong> <p class=\"schema-faq-answer\">Yes, as long as Open WebUI\u2019s data volume is intact. Registered tool connections, including URLs and API keys, are saved in Open WebUI\u2019s database, not in the running container. <code>restart: unless-stopped<\/code> keeps the containers coming back up, and the persistent volume keeps your tool registrations intact across those restarts.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1792494147076\"><strong class=\"schema-faq-question\"><strong>What ports need to be exposed for mcpo and Open WebUI to communicate?<\/strong><\/strong> <p class=\"schema-faq-answer\">Just Open WebUI\u2019s port, typically <code>3000:8080<\/code>. Open WebUI reaches mcpo internally at <code>http:\/\/mcpo:8000<\/code> over the Compose network, so mcpo\u2019s port 8000 never needs to be published. Publishing it anyway bypasses ufw and exposes the proxy to anything that can reach the host.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Every MCP integration with Open WebUI starts at the same fork in the road: can the two talk directly, or do they need a translator standing between them? The answer hinges on one detail: the connection type your server speaks. Here\u2019s the catch: most MCP servers speak stdio or SSE, not Streamable HTTP. So native [&hellip;]<\/p>\n","protected":false},"author":140,"featured_media":281117,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[3782],"tags":[3330],"ppma_author":[938],"class_list":["post-281115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-webui","tag-how-to-guides"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Open WebUI MCP Server Integration: Setup Guide | Bluehost<\/title>\n<meta name=\"description\" content=\"Add Open WebUI MCP server support in minutes. Follow this step-by-step setup guide to connect tools, configure endpoints, and avoid common errors.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/281115\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Open WebUI MCP Server Integration: A Complete Setup Guide\" \/>\n<meta property=\"og:description\" content=\"Add Open WebUI MCP server support in minutes. Follow this step-by-step setup guide to connect tools, configure endpoints, and avoid common errors.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/\" \/>\n<meta property=\"og:site_name\" content=\"Bluehost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/bluehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-20T11:11:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-20T11:12:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/10\/Open-WebUI-MCP-Server-Setup-Guide.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1731\" \/>\n\t<meta property=\"og:image:height\" content=\"909\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Megh Bhavsar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bluehost\" \/>\n<meta name=\"twitter:site\" content=\"@bluehost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Megh Bhavsar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/\"},\"author\":{\"name\":\"Megh Bhavsar\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#\\\/schema\\\/person\\\/f710e89663c56e06a7d02294c5e542bd\"},\"headline\":\"Open WebUI MCP Server Integration: A Complete Setup Guide\",\"datePublished\":\"2026-10-20T11:11:18+00:00\",\"dateModified\":\"2026-10-20T11:12:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/\"},\"wordCount\":2036,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Open-WebUI-MCP-Server-Setup-Guide.png\",\"keywords\":[\"How-To Guides\"],\"articleSection\":[\"Open WebUI\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/\",\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/\",\"name\":\"Open WebUI MCP Server Integration: Setup Guide | Bluehost\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Open-WebUI-MCP-Server-Setup-Guide.png\",\"datePublished\":\"2026-10-20T11:11:18+00:00\",\"dateModified\":\"2026-10-20T11:12:23+00:00\",\"description\":\"Add Open WebUI MCP server support in minutes. Follow this step-by-step setup guide to connect tools, configure endpoints, and avoid common errors.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494087978\"},{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494089893\"},{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494090415\"},{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494090974\"},{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494091518\"},{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494092135\"},{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494139045\"},{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494147076\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Open-WebUI-MCP-Server-Setup-Guide.png\",\"contentUrl\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Open-WebUI-MCP-Server-Setup-Guide.png\",\"width\":1731,\"height\":909,\"caption\":\"Open WebUI MCP server integration setup guide illustration showing connected tools, resources, prompts and chat interface.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hosting\",\"item\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/category\\\/hosting\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"VPS hosting\",\"item\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/category\\\/hosting\\\/vps-hosting\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Open WebUI\",\"item\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/category\\\/hosting\\\/vps-hosting\\\/open-webui\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Open WebUI MCP Server Integration: A Complete Setup Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/\",\"name\":\"Bluehost\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#organization\",\"name\":\"Bluehost\",\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/bluehost-logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/bluehost-logo.svg\",\"width\":136,\"height\":24,\"caption\":\"Bluehost\"},\"image\":{\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bluehost\\\/\",\"https:\\\/\\\/x.com\\\/bluehost\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bluehost-com\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/bluehost\",\"https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Bluehost\"],\"description\":\"Bluehost is an all-in-one platform that empowers small businesses, developers, and agencies to build, grow, and run online with confidence through high-performance hosting, AI-powered tools, and real human support.\",\"telephone\":\"+1-888-401-4678\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/#\\\/schema\\\/person\\\/f710e89663c56e06a7d02294c5e542bd\",\"name\":\"Megh Bhavsar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d49329584801bf486fb87986e0f0272e9940271a7e832fa1e11cf76a0e6d774?s=96&d=mm&r=g07a17f401009cdaa54122d52ac875fb2\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d49329584801bf486fb87986e0f0272e9940271a7e832fa1e11cf76a0e6d774?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d49329584801bf486fb87986e0f0272e9940271a7e832fa1e11cf76a0e6d774?s=96&d=mm&r=g\",\"caption\":\"Megh Bhavsar\"},\"description\":\"I write about web hosting technologies, with a particular interest in Dedicated Hosting, VPS, and Cloud Hosting. Most of my work involves breaking down the technical trade-offs behind these platforms so readers can make sense of specs, pricing, and performance claims. I also track developments in AI, an area that keeps shifting fast enough to stay interesting. When I'm not writing, I'm usually watching a film or working through a book. I also pursue photographic projects independently.\",\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/author\\\/megh-bhavsar\\\/\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494087978\",\"position\":1,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494087978\",\"name\":\"Can Open WebUI use MCP tools natively, or do you always need mcpo?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Open WebUI can use MCP tools natively, but only for Streamable HTTP servers (v0.6.31 and later). If your server uses stdio or SSE, which most do, you need mcpo to bridge it. There\u2019s no way around the proxy for those transport types right now.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494089893\",\"position\":2,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494089893\",\"name\":\"What\u2019s the difference between the MCP (Streamable HTTP) and OpenAPI connection types in Open WebUI?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"MCP (Streamable HTTP) is for MCP servers Open WebUI can talk to directly. OpenAPI is for everything registered through mcpo, since mcpo converts MCP tools into standard OpenAPI endpoints. If you\u2019re adding mcpo, always select OpenAPI as the type, not MCP, even though the underlying tool is an MCP server.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494090415\",\"position\":3,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494090415\",\"name\":\"Is Open WebUI mcp server integration limited to Docker setups?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. mcpo runs as a Python package too, using pip install mcpo or uvx. Docker just makes the networking simpler, since Compose puts mcpo and Open WebUI on the same network automatically. If you run mcpo outside Docker, you\u2019ll need to point Open WebUI at whatever host and port mcpo is actually listening on.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494090974\",\"position\":4,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494090974\",\"name\":\"How do you configure an MCP server in Open WebUI when mcpo is fronting more than one tool?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Each tool gets its own subpath, and each subpath needs its own connection in Open WebUI. If mcpo is running multiple servers from a config file, register http:\\\/\\\/mcpo:8000\\\/time, http:\\\/\\\/mcpo:8000\\\/weather, and so on, as separate OpenAPI connections, rather than adding mcpo\u2019s root URL once.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494091518\",\"position\":5,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494091518\",\"name\":\"How do you connect Open WebUI to an MCP tool server that isn\u2019t officially documented by mcpo?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The same way as any other MCP server. mcpo doesn\u2019t need a server to be pre-documented or officially supported. Put the server\u2019s run command after -- in your mcpo command or config file, and mcpo exposes whatever tools that server defines, as long as the server follows the MCP spec.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494092135\",\"position\":6,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494092135\",\"name\":\"Why does Open WebUI register a tool but the model never calls it?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"A few common causes: the chat is using a model that doesn\u2019t support tool calling, the tool is still switched off for that specific chat (global tools default to off), or the connection URL points to mcpo\u2019s root instead of the tool\u2019s subpath. Check all three before assuming the connection itself is broken.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494139045\",\"position\":7,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494139045\",\"name\":\"Do MCP tool connections survive a container or server restart?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, as long as Open WebUI\u2019s data volume is intact. Registered tool connections, including URLs and API keys, are saved in Open WebUI\u2019s database, not in the running container. restart: unless-stopped keeps the containers coming back up, and the persistent volume keeps your tool registrations intact across those restarts.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494147076\",\"position\":8,\"url\":\"https:\\\/\\\/www.bluehost.com\\\/blog\\\/connecting-mcp-servers-to-open-webui\\\/#faq-question-1792494147076\",\"name\":\"What ports need to be exposed for mcpo and Open WebUI to communicate?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Just Open WebUI\u2019s port, typically 3000:8080. Open WebUI reaches mcpo internally at http:\\\/\\\/mcpo:8000 over the Compose network, so mcpo\u2019s port 8000 never needs to be published. Publishing it anyway bypasses ufw and exposes the proxy to anything that can reach the host.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Open WebUI MCP Server Integration: Setup Guide | Bluehost","description":"Add Open WebUI MCP server support in minutes. Follow this step-by-step setup guide to connect tools, configure endpoints, and avoid common errors.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/281115\/","og_locale":"en_US","og_type":"article","og_title":"Open WebUI MCP Server Integration: A Complete Setup Guide","og_description":"Add Open WebUI MCP server support in minutes. Follow this step-by-step setup guide to connect tools, configure endpoints, and avoid common errors.","og_url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/","og_site_name":"Bluehost Blog","article_publisher":"https:\/\/www.facebook.com\/bluehost\/","article_published_time":"2026-10-20T11:11:18+00:00","article_modified_time":"2026-10-20T11:12:23+00:00","og_image":[{"width":1731,"height":909,"url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/10\/Open-WebUI-MCP-Server-Setup-Guide.png","type":"image\/png"}],"author":"Megh Bhavsar","twitter_card":"summary_large_image","twitter_creator":"@bluehost","twitter_site":"@bluehost","twitter_misc":{"Written by":"Megh Bhavsar","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#article","isPartOf":{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/"},"author":{"name":"Megh Bhavsar","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/f710e89663c56e06a7d02294c5e542bd"},"headline":"Open WebUI MCP Server Integration: A Complete Setup Guide","datePublished":"2026-10-20T11:11:18+00:00","dateModified":"2026-10-20T11:12:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/"},"wordCount":2036,"commentCount":0,"publisher":{"@id":"https:\/\/www.bluehost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/10\/Open-WebUI-MCP-Server-Setup-Guide.png","keywords":["How-To Guides"],"articleSection":["Open WebUI"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/","url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/","name":"Open WebUI MCP Server Integration: Setup Guide | Bluehost","isPartOf":{"@id":"https:\/\/www.bluehost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#primaryimage"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/10\/Open-WebUI-MCP-Server-Setup-Guide.png","datePublished":"2026-10-20T11:11:18+00:00","dateModified":"2026-10-20T11:12:23+00:00","description":"Add Open WebUI MCP server support in minutes. Follow this step-by-step setup guide to connect tools, configure endpoints, and avoid common errors.","breadcrumb":{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494087978"},{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494089893"},{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494090415"},{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494090974"},{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494091518"},{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494092135"},{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494139045"},{"@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494147076"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#primaryimage","url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/10\/Open-WebUI-MCP-Server-Setup-Guide.png","contentUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/10\/Open-WebUI-MCP-Server-Setup-Guide.png","width":1731,"height":909,"caption":"Open WebUI MCP server integration setup guide illustration showing connected tools, resources, prompts and chat interface."},{"@type":"BreadcrumbList","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.bluehost.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hosting","item":"https:\/\/www.bluehost.com\/blog\/category\/hosting\/"},{"@type":"ListItem","position":3,"name":"VPS hosting","item":"https:\/\/www.bluehost.com\/blog\/category\/hosting\/vps-hosting\/"},{"@type":"ListItem","position":4,"name":"Open WebUI","item":"https:\/\/www.bluehost.com\/blog\/category\/hosting\/vps-hosting\/open-webui\/"},{"@type":"ListItem","position":5,"name":"Open WebUI MCP Server Integration: A Complete Setup Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.bluehost.com\/blog\/#website","url":"https:\/\/www.bluehost.com\/blog\/","name":"Bluehost","description":"","publisher":{"@id":"https:\/\/www.bluehost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bluehost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.bluehost.com\/blog\/#organization","name":"Bluehost","url":"https:\/\/www.bluehost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg","contentUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg","width":136,"height":24,"caption":"Bluehost"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/bluehost\/","https:\/\/x.com\/bluehost","https:\/\/www.linkedin.com\/company\/bluehost-com\/","https:\/\/www.youtube.com\/user\/bluehost","https:\/\/en.wikipedia.org\/wiki\/Bluehost"],"description":"Bluehost is an all-in-one platform that empowers small businesses, developers, and agencies to build, grow, and run online with confidence through high-performance hosting, AI-powered tools, and real human support.","telephone":"+1-888-401-4678"},{"@type":"Person","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/f710e89663c56e06a7d02294c5e542bd","name":"Megh Bhavsar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4d49329584801bf486fb87986e0f0272e9940271a7e832fa1e11cf76a0e6d774?s=96&d=mm&r=g07a17f401009cdaa54122d52ac875fb2","url":"https:\/\/secure.gravatar.com\/avatar\/4d49329584801bf486fb87986e0f0272e9940271a7e832fa1e11cf76a0e6d774?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4d49329584801bf486fb87986e0f0272e9940271a7e832fa1e11cf76a0e6d774?s=96&d=mm&r=g","caption":"Megh Bhavsar"},"description":"I write about web hosting technologies, with a particular interest in Dedicated Hosting, VPS, and Cloud Hosting. Most of my work involves breaking down the technical trade-offs behind these platforms so readers can make sense of specs, pricing, and performance claims. I also track developments in AI, an area that keeps shifting fast enough to stay interesting. When I'm not writing, I'm usually watching a film or working through a book. I also pursue photographic projects independently.","url":"https:\/\/www.bluehost.com\/blog\/author\/megh-bhavsar\/"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494087978","position":1,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494087978","name":"Can Open WebUI use MCP tools natively, or do you always need mcpo?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Open WebUI can use MCP tools natively, but only for Streamable HTTP servers (v0.6.31 and later). If your server uses stdio or SSE, which most do, you need mcpo to bridge it. There\u2019s no way around the proxy for those transport types right now.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494089893","position":2,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494089893","name":"What\u2019s the difference between the MCP (Streamable HTTP) and OpenAPI connection types in Open WebUI?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"MCP (Streamable HTTP) is for MCP servers Open WebUI can talk to directly. OpenAPI is for everything registered through mcpo, since mcpo converts MCP tools into standard OpenAPI endpoints. If you\u2019re adding mcpo, always select OpenAPI as the type, not MCP, even though the underlying tool is an MCP server.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494090415","position":3,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494090415","name":"Is Open WebUI mcp server integration limited to Docker setups?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"No. mcpo runs as a Python package too, using pip install mcpo or uvx. Docker just makes the networking simpler, since Compose puts mcpo and Open WebUI on the same network automatically. If you run mcpo outside Docker, you\u2019ll need to point Open WebUI at whatever host and port mcpo is actually listening on.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494090974","position":4,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494090974","name":"How do you configure an MCP server in Open WebUI when mcpo is fronting more than one tool?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Each tool gets its own subpath, and each subpath needs its own connection in Open WebUI. If mcpo is running multiple servers from a config file, register http:\/\/mcpo:8000\/time, http:\/\/mcpo:8000\/weather, and so on, as separate OpenAPI connections, rather than adding mcpo\u2019s root URL once.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494091518","position":5,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494091518","name":"How do you connect Open WebUI to an MCP tool server that isn\u2019t officially documented by mcpo?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"The same way as any other MCP server. mcpo doesn\u2019t need a server to be pre-documented or officially supported. Put the server\u2019s run command after -- in your mcpo command or config file, and mcpo exposes whatever tools that server defines, as long as the server follows the MCP spec.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494092135","position":6,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494092135","name":"Why does Open WebUI register a tool but the model never calls it?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"A few common causes: the chat is using a model that doesn\u2019t support tool calling, the tool is still switched off for that specific chat (global tools default to off), or the connection URL points to mcpo\u2019s root instead of the tool\u2019s subpath. Check all three before assuming the connection itself is broken.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494139045","position":7,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494139045","name":"Do MCP tool connections survive a container or server restart?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Yes, as long as Open WebUI\u2019s data volume is intact. Registered tool connections, including URLs and API keys, are saved in Open WebUI\u2019s database, not in the running container. restart: unless-stopped keeps the containers coming back up, and the persistent volume keeps your tool registrations intact across those restarts.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494147076","position":8,"url":"https:\/\/www.bluehost.com\/blog\/connecting-mcp-servers-to-open-webui\/#faq-question-1792494147076","name":"What ports need to be exposed for mcpo and Open WebUI to communicate?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Just Open WebUI\u2019s port, typically 3000:8080. Open WebUI reaches mcpo internally at http:\/\/mcpo:8000 over the Compose network, so mcpo\u2019s port 8000 never needs to be published. Publishing it anyway bypasses ufw and exposes the proxy to anything that can reach the host.","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"authors":[{"term_id":938,"user_id":140,"is_guest":0,"slug":"megh-bhavsar","display_name":"Megh Bhavsar","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/4d49329584801bf486fb87986e0f0272e9940271a7e832fa1e11cf76a0e6d774?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":"","11":"","12":"","13":"","14":"","15":""}],"_links":{"self":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/281115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/users\/140"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/comments?post=281115"}],"version-history":[{"count":2,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/281115\/revisions"}],"predecessor-version":[{"id":281118,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/281115\/revisions\/281118"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/media\/281117"}],"wp:attachment":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/media?parent=281115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/categories?post=281115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/tags?post=281115"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=281115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}