diff --git a/404.html b/404.html index 5dde09616a..b3dba7cf68 100644 --- a/404.html +++ b/404.html @@ -24,7 +24,7 @@ - +
diff --git a/agent-tutorial.html b/agent-tutorial.html index f00a5e0147..1a22e26ebd 100644 --- a/agent-tutorial.html +++ b/agent-tutorial.html @@ -24,7 +24,7 @@ - + diff --git a/agents-tools.html b/agents-tools.html index 0ad1e47727..0e5ba20230 100644 --- a/agents-tools.html +++ b/agents-tools.html @@ -24,7 +24,7 @@ - + diff --git a/agents.html b/agents.html index 8ac7ee8dec..bb8c0c35f3 100644 --- a/agents.html +++ b/agents.html @@ -24,7 +24,7 @@ - + diff --git a/api-build.html b/api-build.html index 703ea9e33b..320ca5d886 100644 --- a/api-build.html +++ b/api-build.html @@ -24,7 +24,7 @@ - + diff --git a/api-files.html b/api-files.html index 2319d5797a..d6d3bc5226 100644 --- a/api-files.html +++ b/api-files.html @@ -24,7 +24,7 @@ - + diff --git a/api-flows-run.html b/api-flows-run.html index 0a188c390e..2f56d55e4b 100644 --- a/api-flows-run.html +++ b/api-flows-run.html @@ -24,7 +24,7 @@ - + diff --git a/api-flows.html b/api-flows.html index 36ff5f8ba6..c0d43532b0 100644 --- a/api-flows.html +++ b/api-flows.html @@ -24,7 +24,7 @@ - + diff --git a/api-keys-and-authentication.html b/api-keys-and-authentication.html index 254f6c5144..b8c3bf02cc 100644 --- a/api-keys-and-authentication.html +++ b/api-keys-and-authentication.html @@ -24,7 +24,7 @@ - + diff --git a/api-logs.html b/api-logs.html index 043a5685fd..369a79aeb4 100644 --- a/api-logs.html +++ b/api-logs.html @@ -24,7 +24,7 @@ - + diff --git a/api-monitor.html b/api-monitor.html index 6aa8271fc3..ac01a31339 100644 --- a/api-monitor.html +++ b/api-monitor.html @@ -24,7 +24,7 @@ - + diff --git a/api-openai-responses.html b/api-openai-responses.html index 5162da866b..2aa2d6cbff 100644 --- a/api-openai-responses.html +++ b/api-openai-responses.html @@ -24,7 +24,7 @@ - + diff --git a/api-projects.html b/api-projects.html index 725fc95d03..b06cadda32 100644 --- a/api-projects.html +++ b/api-projects.html @@ -24,7 +24,7 @@ - + diff --git a/api-reference-api-examples.html b/api-reference-api-examples.html index 459552c76b..d2b9c7b604 100644 --- a/api-reference-api-examples.html +++ b/api-reference-api-examples.html @@ -24,7 +24,7 @@ - + diff --git a/api-request.html b/api-request.html index 1f19f0cf9f..39d8cc5114 100644 --- a/api-request.html +++ b/api-request.html @@ -24,7 +24,7 @@ - + diff --git a/api-users.html b/api-users.html index 8f0d694771..595c0ceefe 100644 --- a/api-users.html +++ b/api-users.html @@ -24,7 +24,7 @@ - + diff --git a/api.html b/api.html index 2f399fc983..f0ed8e862e 100644 --- a/api.html +++ b/api.html @@ -24,7 +24,7 @@ - + diff --git a/api/openapi.json.html b/api/openapi.json.html index 6112034c7a..c083231394 100644 --- a/api/openapi.json.html +++ b/api/openapi.json.html @@ -24,7 +24,7 @@ - + diff --git a/api/openapi.yaml.html b/api/openapi.yaml.html index 7f999f3a9d..8cf5ec93d6 100644 --- a/api/openapi.yaml.html +++ b/api/openapi.yaml.html @@ -24,7 +24,7 @@ - + diff --git a/assets/js/144a43f5.5739f38d.js b/assets/js/144a43f5.5739f38d.js deleted file mode 100644 index d2bf73b015..0000000000 --- a/assets/js/144a43f5.5739f38d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[2909],{25501:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>t,toc:()=>i});const t=JSON.parse('{"id":"Components/mcp-tools","title":"MCP Tools","description":"The MCP Tools component connects to a Model Context Protocol (MCP) server and exposes the MCP server\'s functions as tools for Langflow agents to use to respond to input.","source":"@site/docs/Components/mcp-tools.mdx","sourceDirName":"Components","slug":"/mcp-tools","permalink":"/mcp-tools","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"MCP Tools","slug":"/mcp-tools"},"sidebar":"docs","previous":{"title":"Agents","permalink":"/components-agents"},"next":{"title":"Embedding Model","permalink":"/components-embedding-models"}}');var s=n(74848),r=n(28453);n(40619),n(31929);const l={title:"MCP Tools",slug:"/mcp-tools"},c=void 0,a={},i=[{value:"MCP Tools parameters",id:"mcp-tools-parameters",level:2}];function d(e){const o={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components},{Details:n}=o;return n||function(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.strong,{children:"MCP Tools"})," component connects to a Model Context Protocol (MCP) server and exposes the MCP server's functions as tools for Langflow agents to use to respond to input."]}),"\n",(0,s.jsxs)(o.p,{children:["In addition to publicly available MCP servers and your own custom-built MCP servers, you can connect Langflow MCP servers, which allow your agent to use your Langflow flows as tools.\nTo do this, use the ",(0,s.jsx)(o.strong,{children:"MCP Tools"})," component's ",(0,s.jsx)(o.a,{href:"/mcp-client#mcp-http-mode",children:"HTTP/SSE mode"})," to connect to your Langflow project's MCP server."]}),"\n",(0,s.jsxs)(o.p,{children:["For more information, see ",(0,s.jsx)(o.a,{href:"/mcp-client",children:"Use Langflow as an MCP client"})," and ",(0,s.jsx)(o.a,{href:"/mcp-server",children:"Use Langflow as an MCP server"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"mcp-tools-parameters",children:"MCP Tools parameters"}),"\n",(0,s.jsxs)(o.table,{children:[(0,s.jsx)(o.thead,{children:(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.th,{children:"Name"}),(0,s.jsx)(o.th,{children:"Type"}),(0,s.jsx)(o.th,{children:"Description"})]})}),(0,s.jsxs)(o.tbody,{children:[(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"mcp_server"}),(0,s.jsx)(o.td,{children:"String"}),(0,s.jsx)(o.td,{children:"Input parameter. The MCP server to connect to. Select from previously configured servers or add a new one."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"tool"}),(0,s.jsx)(o.td,{children:"String"}),(0,s.jsx)(o.td,{children:"Input parameter. The specific tool to execute from the connected MCP server. Leave blank to allow access to all tools."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"use_cache"}),(0,s.jsx)(o.td,{children:"Boolean"}),(0,s.jsxs)(o.td,{children:["Input parameter. Enable caching of MCP server and tools to improve performance. Default: ",(0,s.jsx)(o.code,{children:"false"}),"."]})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"verify_ssl"}),(0,s.jsx)(o.td,{children:"Boolean"}),(0,s.jsxs)(o.td,{children:["Input parameter. Enable SSL certificate verification for HTTPS connections. Default: ",(0,s.jsx)(o.code,{children:"true"}),"."]})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"response"}),(0,s.jsx)(o.td,{children:"DataFrame"}),(0,s.jsxs)(o.td,{children:["Output parameter. ",(0,s.jsx)(o.a,{href:"/data-types#dataframe",children:(0,s.jsx)(o.code,{children:"DataFrame"})})," containing the response from the executed tool."]})]})]})]}),"\n",(0,s.jsxs)(n,{children:[(0,s.jsx)("summary",{children:"Earlier versions of the MCP Tools component"}),(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["In Langflow version 1.5, the ",(0,s.jsx)(o.strong,{children:"MCP Connection"})," component was renamed to the ",(0,s.jsx)(o.strong,{children:"MCP Tools"})," component."]}),"\n",(0,s.jsxs)(o.li,{children:["In Langflow version 1.3, the ",(0,s.jsx)(o.strong,{children:"MCP Tools (stdio)"})," and ",(0,s.jsx)(o.strong,{children:"MCP Tools (SSE)"})," components were removed and replaced by the unified ",(0,s.jsx)(o.strong,{children:"MCP Connection"})," component, which was later renamed to ",(0,s.jsx)(o.strong,{children:"MCP Tools"}),"."]}),"\n"]})]})]})}function h(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},31929:(e,o,n)=>{n.d(o,{Ay:()=>a,RM:()=>l});var t=n(74848),s=n(28453),r=n(40619);const l=[];function c(e){const o={a:"a",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(o.p,{children:["Some parameters are hidden by default in the visual editor.\nYou can modify all parameters through the ",(0,t.jsx)(r.A,{name:"SlidersHorizontal","aria-hidden":"true"})," ",(0,t.jsx)(o.strong,{children:"Controls"})," in the ",(0,t.jsx)(o.a,{href:"/concepts-components#component-menus",children:"component's header menu"}),"."]})}function a(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}}}]); \ No newline at end of file diff --git a/assets/js/144a43f5.66db384e.js b/assets/js/144a43f5.66db384e.js new file mode 100644 index 0000000000..0df19238d7 --- /dev/null +++ b/assets/js/144a43f5.66db384e.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[2909],{25501:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"Components/mcp-tools","title":"MCP Tools","description":"The MCP Tools component connects to a Model Context Protocol (MCP) server and exposes the MCP server\'s functions as tools for Langflow agents to use to respond to input.","source":"@site/docs/Components/mcp-tools.mdx","sourceDirName":"Components","slug":"/mcp-tools","permalink":"/mcp-tools","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"MCP Tools","slug":"/mcp-tools"},"sidebar":"docs","previous":{"title":"Agents","permalink":"/components-agents"},"next":{"title":"Embedding Model","permalink":"/components-embedding-models"}}');var s=n(74848),r=n(28453);n(40619),n(31929);const l={title:"MCP Tools",slug:"/mcp-tools"},c=void 0,i={},a=[{value:"MCP Tools parameters",id:"mcp-tools-parameters",level:2}];function d(e){const o={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components},{Details:n}=o;return n||function(e,o){throw new Error("Expected "+(o?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.p,{children:["The ",(0,s.jsx)(o.strong,{children:"MCP Tools"})," component connects to a Model Context Protocol (MCP) server and exposes the MCP server's functions as tools for Langflow agents to use to respond to input."]}),"\n",(0,s.jsxs)(o.p,{children:["In addition to publicly available MCP servers and your own custom-built MCP servers, you can connect Langflow MCP servers, which allow your agent to use your Langflow flows as tools.\nTo do this, use the ",(0,s.jsx)(o.strong,{children:"MCP Tools"})," component's ",(0,s.jsx)(o.a,{href:"/mcp-client#mcp-http-mode",children:"HTTP/SSE mode"})," to connect to your Langflow project's MCP server."]}),"\n",(0,s.jsxs)(o.p,{children:["For more information, see ",(0,s.jsx)(o.a,{href:"/mcp-client",children:"Use Langflow as an MCP client"})," and ",(0,s.jsx)(o.a,{href:"/mcp-server",children:"Use Langflow as an MCP server"}),"."]}),"\n",(0,s.jsx)(o.admonition,{title:"Tool mode is missing",type:"tip",children:(0,s.jsxs)(o.p,{children:["If you're upgrading an existing flow and the ",(0,s.jsx)(o.strong,{children:"MCP Tools"})," component loses its ",(0,s.jsx)(o.strong,{children:"Tool Mode"})," option, see ",(0,s.jsx)(o.a,{href:"/troubleshoot#mcp-tools-component-loses-tool-mode-option-after-upgrading-flows",children:"MCP Tools component loses Tool Mode option after upgrading flows"}),"."]})}),"\n",(0,s.jsx)(o.h2,{id:"mcp-tools-parameters",children:"MCP Tools parameters"}),"\n",(0,s.jsxs)(o.table,{children:[(0,s.jsx)(o.thead,{children:(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.th,{children:"Name"}),(0,s.jsx)(o.th,{children:"Type"}),(0,s.jsx)(o.th,{children:"Description"})]})}),(0,s.jsxs)(o.tbody,{children:[(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"mcp_server"}),(0,s.jsx)(o.td,{children:"String"}),(0,s.jsx)(o.td,{children:"Input parameter. The MCP server to connect to. Select from previously configured servers or add a new one."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"tool"}),(0,s.jsx)(o.td,{children:"String"}),(0,s.jsx)(o.td,{children:"Input parameter. The specific tool to execute from the connected MCP server. Leave blank to allow access to all tools."})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"use_cache"}),(0,s.jsx)(o.td,{children:"Boolean"}),(0,s.jsxs)(o.td,{children:["Input parameter. Enable caching of MCP server and tools to improve performance. Default: ",(0,s.jsx)(o.code,{children:"false"}),"."]})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"verify_ssl"}),(0,s.jsx)(o.td,{children:"Boolean"}),(0,s.jsxs)(o.td,{children:["Input parameter. Enable SSL certificate verification for HTTPS connections. Default: ",(0,s.jsx)(o.code,{children:"true"}),"."]})]}),(0,s.jsxs)(o.tr,{children:[(0,s.jsx)(o.td,{children:"response"}),(0,s.jsx)(o.td,{children:"DataFrame"}),(0,s.jsxs)(o.td,{children:["Output parameter. ",(0,s.jsx)(o.a,{href:"/data-types#dataframe",children:(0,s.jsx)(o.code,{children:"DataFrame"})})," containing the response from the executed tool."]})]})]})]}),"\n",(0,s.jsxs)(n,{children:[(0,s.jsx)("summary",{children:"Earlier versions of the MCP Tools component"}),(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["In Langflow version 1.5, the ",(0,s.jsx)(o.strong,{children:"MCP Connection"})," component was renamed to the ",(0,s.jsx)(o.strong,{children:"MCP Tools"})," component."]}),"\n",(0,s.jsxs)(o.li,{children:["In Langflow version 1.3, the ",(0,s.jsx)(o.strong,{children:"MCP Tools (stdio)"})," and ",(0,s.jsx)(o.strong,{children:"MCP Tools (SSE)"})," components were removed and replaced by the unified ",(0,s.jsx)(o.strong,{children:"MCP Connection"})," component, which was later renamed to ",(0,s.jsx)(o.strong,{children:"MCP Tools"}),"."]}),"\n"]})]})]})}function h(e={}){const{wrapper:o}={...(0,r.R)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},31929:(e,o,n)=>{n.d(o,{Ay:()=>i,RM:()=>l});var t=n(74848),s=n(28453),r=n(40619);const l=[];function c(e){const o={a:"a",p:"p",strong:"strong",...(0,s.R)(),...e.components};return(0,t.jsxs)(o.p,{children:["Some parameters are hidden by default in the visual editor.\nYou can modify all parameters through the ",(0,t.jsx)(r.A,{name:"SlidersHorizontal","aria-hidden":"true"})," ",(0,t.jsx)(o.strong,{children:"Controls"})," in the ",(0,t.jsx)(o.a,{href:"/concepts-components#component-menus",children:"component's header menu"}),"."]})}function i(e={}){const{wrapper:o}={...(0,s.R)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}}}]); \ No newline at end of file diff --git a/assets/js/e1a0f423.44bf2a73.js b/assets/js/e1a0f423.44bf2a73.js new file mode 100644 index 0000000000..9ad8c3e267 --- /dev/null +++ b/assets/js/e1a0f423.44bf2a73.js @@ -0,0 +1 @@ +"use strict";(globalThis.webpackChunklangflow_docs=globalThis.webpackChunklangflow_docs||[]).push([[4341],{11470:(e,n,o)=>{o.d(n,{A:()=>k});var t=o(96540),s=o(18215),r=o(17559),i=o(23104),l=o(56347),a=o(205),c=o(57485),d=o(31682),u=o(70679);function h(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Badwebrtcvad package",id:"installation-failure-from-webrtcvad-package",level:3},{value:"Protocol buffers (protoc) required for Intel-based Macs",id:"protocol-buffers-protoc-required-for-intel-based-macs",level:3},{value:"C++ build tools required for Langflow Desktop on Windows",id:"c-build-tools-required-for-langflow-desktop-on-windows",level:3},{value:"Langflow startup issues",id:"langflow-startup-issues",level:2},{value:"No langflow.__main__ module",id:"no-langflow__main__-module",level:3},{value:"Langflow runTraceback",id:"langflow-runtraceback",level:3},{value:"Environment variables not available from terminal",id:"environment-variables-not-available-from-terminal",level:3},{value:"Access Langflow Desktop startup logs",id:"access-langflow-desktop-startup-logs",level:3},{value:"User not found or inactive when running multiple flows",id:"user-not-found-or-inactive-when-running-multiple-flows",level:3},{value:"Package is not installed",id:"package-is-not-installed",level:3},{value:"PostgreSQL asyncpg driver compatibility issue",id:"postgresql-asyncpg-driver-compatibility-issue",level:3},{value:"An API key must be passed as query or header",id:"an-api-key-must-be-passed-as-query-or-header",level:3},{value:"Langflow upgrade issues",id:"langflow-upgrade-issues",level:2},{value:"Something went wrong running migrations",id:"something-went-wrong-running-migrations",level:3},{value:"Langflow Desktop says it is running the latest version, but it is actually behind",id:"langflow-desktop-says-it-is-running-the-latest-version-but-it-is-actually-behind",level:3},{value:"422 error when freezing components after upgrading Pydantic/FastAPI dependencies",id:"422-error-when-freezing-components-after-upgrading-pydanticfastapi-dependencies",level:3},{value:"Langflow uninstall issues",id:"langflow-uninstall-issues",level:2},{value:"Dot directory isn't deleted when uninstalling Langflow Desktop on macOS",id:"dot-directory-isnt-deleted-when-uninstalling-langflow-desktop-on-macos",level:3},{value:"Langflow MCP issues",id:"mcp",level:2},{value:"Claude for Desktop doesn't use MCP server tools correctly",id:"claude-for-desktop-doesnt-use-mcp-server-tools-correctly",level:3},{value:"MCP browser-based flows don't open a browser on Windows",id:"mcp-browser-based-flows-dont-open-a-browser-on-windows",level:3},{value:""No tools or prompts connected" on MCP servers in mixed Windows/WSL environments",id:"no-tools-or-prompts-connected-on-mcp-servers-in-mixed-windowswsl-environments",level:3},{value:"MCP Tools component loses Tool Mode option after upgrading flows",id:"mcp-tools-component-loses-tool-mode-option-after-upgrading-flows",level:3},{value:"Token length limit errors in Embedding Model components",id:"token-length-limit-errors-in-embedding-model-components",level:2},{value:"Document processing errors in Docker containers",id:"document-processing-errors-in-docker-containers",level:2},{value:"Custom components and integrations issues",id:"custom-components-and-integrations-issues",level:2},{value:"Custom components not appearing in the visual editor",id:"custom-components-not-appearing-in-the-visual-editor",level:3},{value:"See also",id:"see-also",level:2}];function m(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return p||y("CH",!1),p.Code||y("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,s.jsx)(n.p,{children:"This page provides troubleshooting advice for issues you might encounter when using Langflow or contributing to Langflow."}),"\n",(0,s.jsx)(n.h2,{id:"missing-components",children:"Missing components"}),"\n",(0,s.jsx)(n.p,{children:"As Langflow development continues, components are often recategorized or deprecated for better alignment or to prepare for new components."}),"\n",(0,s.jsxs)(n.p,{children:["If a component appears to be missing from the ",(0,s.jsx)(c.A,{name:"Component","aria-hidden":"true"})," ",(0,s.jsx)(n.strong,{children:"Core components"})," and menus, try the following:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(c.A,{name:"Search","aria-hidden":"true"})," ",(0,s.jsx)(n.strong,{children:"Search"})," for the component."]}),"\n",(0,s.jsxs)(n.li,{children:["Check other component categories and ",(0,s.jsx)(c.A,{name:"Blocks","aria-hidden":"true"})," ",(0,s.jsx)(n.a,{href:"/components-bundle-components",children:(0,s.jsx)(n.strong,{children:"Bundles"})}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Check ",(0,s.jsx)(n.a,{href:"/concepts-components#legacy-components",children:"legacy components"}),", which are hidden by default."]}),"\n",(0,s.jsxs)(n.li,{children:["Check the ",(0,s.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases/latest",children:"Changelog"})," for component changes in recent releases."]}),"\n",(0,s.jsx)(n.li,{children:"Make sure the component isn't already present in your flow if it is a single-use component."}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["If you still cannot locate the component, see ",(0,s.jsx)(n.a,{href:"/contributing-github-issues",children:"Langflow GitHub Issues and Discussions"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"no-input-in-the-playground",children:"No input in the Playground"}),"\n",(0,s.jsxs)(n.p,{children:["If there is no message input field in the ",(0,s.jsx)(n.strong,{children:"Playground"}),", make sure your flow has a ",(0,s.jsxs)(n.a,{href:"/chat-input-and-output",children:[(0,s.jsx)(n.strong,{children:"Chat Input"})," component"]})," that is connected, directly or indirectly, to the ",(0,s.jsx)(n.strong,{children:"Input"})," port of a ",(0,s.jsx)(n.strong,{children:"Language Model"})," or ",(0,s.jsx)(n.strong,{children:"Agent"})," component."]}),"\n",(0,s.jsxs)(n.p,{children:["Because the ",(0,s.jsx)(n.strong,{children:"Playground"})," is designed for flows that use an LLM in a query-and-response format, such as chatbots and agents, a flow must have ",(0,s.jsx)(n.strong,{children:"Chat Input"}),", ",(0,s.jsx)(n.strong,{children:"Language Model"}),"/",(0,s.jsx)(n.strong,{children:"Agent"}),", and ",(0,s.jsx)(n.strong,{children:"Chat Output"})," components to be fully supported by the ",(0,s.jsx)(n.strong,{children:"Playground"})," chat interface."]}),"\n",(0,s.jsxs)(n.p,{children:["For more information, see ",(0,s.jsx)(n.a,{href:"/concepts-playground",children:"Test flows in the Playground"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"missing-key-no-key-found-or-invalid-api-key",children:"Missing key, no key found, or invalid API key"}),"\n",(0,s.jsx)(n.p,{children:"If you get an API key error when running a flow, try the following:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["For all components that require credentials, make sure those components have a valid credential in the component's settings, such as the ",(0,s.jsx)(n.strong,{children:"API Key"})," field."]}),"\n",(0,s.jsxs)(n.li,{children:["If you store your credentials in ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"Langflow global variables"}),", make sure you selected the correct global variable and that the variable contains a valid credential."]}),"\n",(0,s.jsx)(n.li,{children:"Make sure the provided credentials are active, have the required permissions, and, if applicable, have sufficient funds in the account to execute the required action. For example, model providers require credits to use their LLMs."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"langflow-installation-issues",children:"Langflow installation issues"}),"\n",(0,s.jsx)(n.p,{children:"The following issues can occur when installing Langflow."}),"\n",(0,s.jsx)(n.h3,{id:"langflow-installation-freezes-at-pip-dependency-resolution",children:"Langflow installation freezes at pip dependency resolution"}),"\n",(0,s.jsxs)(n.p,{children:["Installing Langflow OSS with ",(0,s.jsx)(n.code,{children:"pip install langflow"})," slowly fails with this error message:"]}),"\n",(0,s.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"pip is looking at multiple versions of <webrtcvad package",id:"installation-failure-from-webrtcvad-package",level:3},{value:"Protocol buffers (protoc) required for Intel-based Macs",id:"protocol-buffers-protoc-required-for-intel-based-macs",level:3},{value:"C++ build tools required for Langflow Desktop on Windows",id:"c-build-tools-required-for-langflow-desktop-on-windows",level:3},{value:"Langflow startup issues",id:"langflow-startup-issues",level:2},{value:"No langflow.__main__ module",id:"no-langflow__main__-module",level:3},{value:"Langflow runTraceback",id:"langflow-runtraceback",level:3},{value:"Environment variables not available from terminal",id:"environment-variables-not-available-from-terminal",level:3},{value:"Access Langflow Desktop startup logs",id:"access-langflow-desktop-startup-logs",level:3},{value:"User not found or inactive when running multiple flows",id:"user-not-found-or-inactive-when-running-multiple-flows",level:3},{value:"Package is not installed",id:"package-is-not-installed",level:3},{value:"PostgreSQL asyncpg driver compatibility issue",id:"postgresql-asyncpg-driver-compatibility-issue",level:3},{value:"An API key must be passed as query or header",id:"an-api-key-must-be-passed-as-query-or-header",level:3},{value:"Langflow upgrade issues",id:"langflow-upgrade-issues",level:2},{value:"Something went wrong running migrations",id:"something-went-wrong-running-migrations",level:3},{value:"Langflow Desktop says it is running the latest version, but it is actually behind",id:"langflow-desktop-says-it-is-running-the-latest-version-but-it-is-actually-behind",level:3},{value:"422 error when freezing components after upgrading Pydantic/FastAPI dependencies",id:"422-error-when-freezing-components-after-upgrading-pydanticfastapi-dependencies",level:3},{value:"Langflow uninstall issues",id:"langflow-uninstall-issues",level:2},{value:"Dot directory isn't deleted when uninstalling Langflow Desktop on macOS",id:"dot-directory-isnt-deleted-when-uninstalling-langflow-desktop-on-macos",level:3},{value:"Langflow MCP issues",id:"mcp",level:2},{value:"Claude for Desktop doesn't use MCP server tools correctly",id:"claude-for-desktop-doesnt-use-mcp-server-tools-correctly",level:3},{value:"MCP browser-based flows don't open a browser on Windows",id:"mcp-browser-based-flows-dont-open-a-browser-on-windows",level:3},{value:""No tools or prompts connected" on MCP servers in mixed Windows/WSL environments",id:"no-tools-or-prompts-connected-on-mcp-servers-in-mixed-windowswsl-environments",level:3},{value:"Token length limit errors in Embedding Model components",id:"token-length-limit-errors-in-embedding-model-components",level:2},{value:"Document processing errors in Docker containers",id:"document-processing-errors-in-docker-containers",level:2},{value:"Custom components and integrations issues",id:"custom-components-and-integrations-issues",level:2},{value:"Custom components not appearing in the visual editor",id:"custom-components-not-appearing-in-the-visual-editor",level:3},{value:"See also",id:"see-also",level:2}];function m(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return p||y("CH",!1),p.Code||y("CH.Code",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:'[data-ch-theme="github-dark"] { --ch-t-colorScheme: dark;--ch-t-foreground: #c9d1d9;--ch-t-background: #0d1117;--ch-t-lighter-inlineBackground: #0d1117e6;--ch-t-editor-background: #0d1117;--ch-t-editor-foreground: #c9d1d9;--ch-t-editor-lineHighlightBackground: #6e76811a;--ch-t-editor-rangeHighlightBackground: #ffffff0b;--ch-t-editor-infoForeground: #3794FF;--ch-t-editor-selectionBackground: #264F78;--ch-t-focusBorder: #1f6feb;--ch-t-tab-activeBackground: #0d1117;--ch-t-tab-activeForeground: #c9d1d9;--ch-t-tab-inactiveBackground: #010409;--ch-t-tab-inactiveForeground: #8b949e;--ch-t-tab-border: #30363d;--ch-t-tab-activeBorder: #0d1117;--ch-t-editorGroup-border: #30363d;--ch-t-editorGroupHeader-tabsBackground: #010409;--ch-t-editorLineNumber-foreground: #6e7681;--ch-t-input-background: #0d1117;--ch-t-input-foreground: #c9d1d9;--ch-t-input-border: #30363d;--ch-t-icon-foreground: #8b949e;--ch-t-sideBar-background: #010409;--ch-t-sideBar-foreground: #c9d1d9;--ch-t-sideBar-border: #30363d;--ch-t-list-activeSelectionBackground: #6e768166;--ch-t-list-activeSelectionForeground: #c9d1d9;--ch-t-list-hoverBackground: #6e76811a;--ch-t-list-hoverForeground: #c9d1d9; }'}}),"\n","\n",(0,s.jsx)(n.p,{children:"This page provides troubleshooting advice for issues you might encounter when using Langflow or contributing to Langflow."}),"\n",(0,s.jsx)(n.h2,{id:"missing-components",children:"Missing components"}),"\n",(0,s.jsx)(n.p,{children:"As Langflow development continues, components are often recategorized or deprecated for better alignment or to prepare for new components."}),"\n",(0,s.jsxs)(n.p,{children:["If a component appears to be missing from the ",(0,s.jsx)(c.A,{name:"Component","aria-hidden":"true"})," ",(0,s.jsx)(n.strong,{children:"Core components"})," and menus, try the following:"]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(c.A,{name:"Search","aria-hidden":"true"})," ",(0,s.jsx)(n.strong,{children:"Search"})," for the component."]}),"\n",(0,s.jsxs)(n.li,{children:["Check other component categories and ",(0,s.jsx)(c.A,{name:"Blocks","aria-hidden":"true"})," ",(0,s.jsx)(n.a,{href:"/components-bundle-components",children:(0,s.jsx)(n.strong,{children:"Bundles"})}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Check ",(0,s.jsx)(n.a,{href:"/concepts-components#legacy-components",children:"legacy components"}),", which are hidden by default."]}),"\n",(0,s.jsxs)(n.li,{children:["Check the ",(0,s.jsx)(n.a,{href:"https://github.com/langflow-ai/langflow/releases/latest",children:"Changelog"})," for component changes in recent releases."]}),"\n",(0,s.jsx)(n.li,{children:"Make sure the component isn't already present in your flow if it is a single-use component."}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["If you still cannot locate the component, see ",(0,s.jsx)(n.a,{href:"/contributing-github-issues",children:"Langflow GitHub Issues and Discussions"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"no-input-in-the-playground",children:"No input in the Playground"}),"\n",(0,s.jsxs)(n.p,{children:["If there is no message input field in the ",(0,s.jsx)(n.strong,{children:"Playground"}),", make sure your flow has a ",(0,s.jsxs)(n.a,{href:"/chat-input-and-output",children:[(0,s.jsx)(n.strong,{children:"Chat Input"})," component"]})," that is connected, directly or indirectly, to the ",(0,s.jsx)(n.strong,{children:"Input"})," port of a ",(0,s.jsx)(n.strong,{children:"Language Model"})," or ",(0,s.jsx)(n.strong,{children:"Agent"})," component."]}),"\n",(0,s.jsxs)(n.p,{children:["Because the ",(0,s.jsx)(n.strong,{children:"Playground"})," is designed for flows that use an LLM in a query-and-response format, such as chatbots and agents, a flow must have ",(0,s.jsx)(n.strong,{children:"Chat Input"}),", ",(0,s.jsx)(n.strong,{children:"Language Model"}),"/",(0,s.jsx)(n.strong,{children:"Agent"}),", and ",(0,s.jsx)(n.strong,{children:"Chat Output"})," components to be fully supported by the ",(0,s.jsx)(n.strong,{children:"Playground"})," chat interface."]}),"\n",(0,s.jsxs)(n.p,{children:["For more information, see ",(0,s.jsx)(n.a,{href:"/concepts-playground",children:"Test flows in the Playground"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"missing-key-no-key-found-or-invalid-api-key",children:"Missing key, no key found, or invalid API key"}),"\n",(0,s.jsx)(n.p,{children:"If you get an API key error when running a flow, try the following:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["For all components that require credentials, make sure those components have a valid credential in the component's settings, such as the ",(0,s.jsx)(n.strong,{children:"API Key"})," field."]}),"\n",(0,s.jsxs)(n.li,{children:["If you store your credentials in ",(0,s.jsx)(n.a,{href:"/configuration-global-variables",children:"Langflow global variables"}),", make sure you selected the correct global variable and that the variable contains a valid credential."]}),"\n",(0,s.jsx)(n.li,{children:"Make sure the provided credentials are active, have the required permissions, and, if applicable, have sufficient funds in the account to execute the required action. For example, model providers require credits to use their LLMs."}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"langflow-installation-issues",children:"Langflow installation issues"}),"\n",(0,s.jsx)(n.p,{children:"The following issues can occur when installing Langflow."}),"\n",(0,s.jsx)(n.h3,{id:"langflow-installation-freezes-at-pip-dependency-resolution",children:"Langflow installation freezes at pip dependency resolution"}),"\n",(0,s.jsxs)(n.p,{children:["Installing Langflow OSS with ",(0,s.jsx)(n.code,{children:"pip install langflow"})," slowly fails with this error message:"]}),"\n",(0,s.jsx)(p.Code,{codeConfig:g,northPanel:{tabs:[""],active:"",heightRatio:1},files:[{name:"",focus:"",code:{lines:[{tokens:[{content:"pip is looking at multiple versions of <In addition to publicly available MCP servers and your own custom-built MCP servers, you can connect Langflow MCP servers, which allow your agent to use your Langflow flows as tools. To do this, use the MCP Tools component's HTTP/SSE mode to connect to your Langflow project's MCP server.
For more information, see Use Langflow as an MCP client and Use Langflow as an MCP server.
+If you're upgrading an existing flow and the MCP Tools component loses its Tool Mode option, see MCP Tools component loses Tool Mode option after upgrading flows.
| Name | Type | Description |
|---|---|---|
| mcp_server | String | Input parameter. The MCP server to connect to. Select from previously configured servers or add a new one. |
| tool | String | Input parameter. The specific tool to execute from the connected MCP server. Leave blank to allow access to all tools. |
| use_cache | Boolean | Input parameter. Enable caching of MCP server and tools to improve performance. Default: false. |
| verify_ssl | Boolean | Input parameter. Enable SSL certificate verification for HTTPS connections. Default: true. |
| response | DataFrame | Output parameter. DataFrame containing the response from the executed tool. |
WSL cannot directly access Windows localhost services, and Langflow running on a Windows host is not accessible from WSL clients at localhost:7860.
To work around this issue, run the server and host in the same operating environment.
Alternatively, configure Langflow Desktop to accept connections from WSL at the default Windows IP address of 10.255.255.254:7860 instead of localhost.
If you upgrade an existing flow that uses the MCP Tools component in Tool Mode, the component might lose its Tool Mode setting after upgrading the flow. +This can break flows that rely on the component's Tool Mode to expose MCP tools to agents.
+If you experience this when upgrading a flow that you created in Langflow version 1.7.1 or earlier, do the following:
+Select the MCP Tools component in your flow.
+Click Code to open the component's code editor.
+In the component's template structure, locate the tool_mode field under inputs.
+The field can be either missing or set to false.
Add the tool_mode field if it's missing, and set it to true:
_10tool_mode = True
Click Check & Save to apply the code changes.
+Token length errors can happen if your chunking strategy doesn't align with your embedding model's tokenization limits. For more information, see Tokenization errors due to chunk size.
@@ -215,7 +238,7 @@ For more information, see TokenizationEnsure your components follow the required directory structure.
-
_10/your/custom/components/path/ # Base directory set by LANGFLOW_COMPONENTS_PATH_10 └── category_name/ # Required category subfolder that determines menu name_10 ├── __init__.py # Required_10 └── custom_component.py # Component file
_10/your/custom/components/path/ # Base directory set by LANGFLOW_COMPONENTS_PATH_10 └── category_name/ # Required category subfolder that determines menu name_10 ├── __init__.py # Required_10 └── custom_component.py # Component file
Verify each category directory includes an __init__.py file.
@@ -232,7 +255,7 @@ If you're using the LANGFLOW_COMPONENTS_PATH environment varia