mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-24 08:57:31 +08:00
256 lines
71 KiB
HTML
256 lines
71 KiB
HTML
<!doctype html>
|
||
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-1.9.0 docs-doc-page docs-doc-id-Agents/mcp-client" data-has-hydrated="false">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="generator" content="Docusaurus v3.9.2">
|
||
<title data-rh="true">Use Langflow as an MCP client | Langflow Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.langflow.org/mcp-client"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="1.9.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-1.9.0"><meta data-rh="true" name="docsearch:version" content="1.9.0"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-1.9.0"><meta data-rh="true" property="og:title" content="Use Langflow as an MCP client | Langflow Documentation"><meta data-rh="true" name="description" content="Langflow integrates with the Model Context Protocol (MCP) as both an MCP server and an MCP client."><meta data-rh="true" property="og:description" content="Langflow integrates with the Model Context Protocol (MCP) as both an MCP server and an MCP client."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.langflow.org/mcp-client"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/mcp-client" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.langflow.org/mcp-client" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://UZK6BDPCVY-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Use Langflow as an MCP client","item":"https://docs.langflow.org/mcp-client"}]}</script><link rel="preconnect" href="https://www.google-analytics.com">
|
||
<link rel="preconnect" href="https://www.googletagmanager.com">
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SLQFLQ3KPT"></script>
|
||
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-SLQFLQ3KPT",{})</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="search" type="application/opensearchdescription+xml" title="Langflow Documentation" href="/opensearch.xml">
|
||
|
||
|
||
|
||
|
||
<script>window._ibmAnalytics={settings:{name:"DataStax",tealiumProfileName:"ibm-subsidiary"},trustarc:{privacyPolicyLink:"https://ibm.com/privacy"},"digitalData.page.services.google.enabled":!0},window.digitalData={page:{pageInfo:{ibm:{siteId:"IBM_"+_ibmAnalytics.settings.name},segment:{enabled:!0,env:"prod",key:"B04fNhD06DqDPuaRfQl5lZ2iQICdxxuh",coremetrics:!1,carbonComponentEvents:!1}},category:{primaryCategory:"PC230"}},commonProperties:{productTitle:"IBM Elite Support for Langflow",productCode:"5900BUB",productCodeType:"WWPC",UT30:"30AS5",instanceId:"docs-site",subscriptionId:"public-access",productPlanName:"Public",productPlanType:"freemium",userId:"IBMid-ANONYMOUS"}}</script>
|
||
<script src="//1.www.s81c.com/common/stats/ibm-common.js" async="true"></script>
|
||
|
||
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&family=Sora:wght@550;600&display=swap">
|
||
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied"})</script>
|
||
<script>!function(){function e(){if(void 0!==window.truste&&window.truste.cma){var e=window.truste.cma.callApi("getConsent",window.location.href)||{},n=1===e[2],t=1===e[3];gtag("consent","update",{ad_storage:n?"granted":"denied",ad_user_data:n?"granted":"denied",ad_personalization:n?"granted":"denied",analytics_storage:t?"granted":"denied"})}}window.addEventListener&&(window.addEventListener("cm_data_subject_consent_changed",e),window.addEventListener("cm_consent_preferences_set",e)),"complete"===document.readyState?e():window.addEventListener("load",e)}()</script><link rel="stylesheet" href="/assets/css/styles.d29a2eb4.css">
|
||
<script src="/assets/js/runtime~main.2dbb77b3.js" defer="defer"></script>
|
||
<script src="/assets/js/main.25320c33.js" defer="defer"></script>
|
||
</head>
|
||
<body class="navigation-with-keyboard">
|
||
<svg style="display: none;"><defs>
|
||
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
|
||
</defs></svg>
|
||
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/lf-docs-light.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/lf-docs-dark.svg" alt="Langflow" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a><div class="navbar__item dropdown dropdown--hoverable"><a aria-current="page" class="navbar__link active" aria-haspopup="true" aria-expanded="false" role="button" href="/mcp-client">1.9.x</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/next/mcp-client">1.10.x (Next)</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/mcp-client">1.9.x</a></li><li><a class="dropdown__link" href="/1.8.0/mcp-client">1.8.x</a></li></ul></div></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/langflow-ai/langflow" target="_blank" class="navbar__item navbar__link header-github-link" aria-label="GitHub" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-github" data-namespace="header" data-platform-title="Langflow"></a><a href="https://twitter.com/langflow_ai" target="_blank" class="navbar__item navbar__link header-twitter-link" aria-label="Twitter" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-twitter" data-namespace="header" data-platform-title="Langflow"></a><a href="https://discord.gg/EqksyE2EX9" target="_blank" class="navbar__item navbar__link header-discord-link" aria-label="Discord" data-event="UI Interaction" data-action="clicked" data-channel="docs" data-element-id="social-discord" data-namespace="header" data-platform-title="Langflow"></a><div class="toggle_MW0i colorModeToggle_DEke"><button class="clean-btn toggleButton_yw5v toggleButtonDisabled_BJd7" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL lightToggleIcon_SFTY"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL darkToggleIcon_ekgs"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false" role="presentation" class="toggleIcon_oIOL systemToggleIcon_yi_a"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Meta+k)" aria-keyshortcuts="Meta+k"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside aria-label="Documentation sidebar" class="theme-doc-sidebar-container docSidebarContainer_RSuS"><div class="sidebarViewport_pYEE"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Build</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-rocket"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/"><span title="Get started" class="categoryLinkLabel_W154">Get started</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-workflow"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-overview"><span title="Flows" class="categoryLinkLabel_W154">Flows</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-bot"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/agents"><span title="Agents" class="categoryLinkLabel_W154">Agents</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item sidebar-category-with-icon sidebar-icon-plug"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/mcp-client"><span title="Model Context Protocol (MCP)" class="categoryLinkLabel_W154">Model Context Protocol (MCP)</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/mcp-client"><span title="Use Langflow as an MCP client" class="linkLabel_WmDU">Use Langflow as an MCP client</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/mcp-server"><span title="Use Langflow as an MCP server" class="linkLabel_WmDU">Use Langflow as an MCP server</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/langflow-mcp-client"><span title="Langflow MCP Client for coding agents" class="linkLabel_WmDU">Langflow MCP Client for coding agents</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/mcp-component-astra"><span title="Connect an Astra DB MCP server to Langflow" class="linkLabel_WmDU">Connect an Astra DB MCP server to Langflow</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Develop & Deploy</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-code"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/api-keys-and-authentication"><span title="Develop" class="categoryLinkLabel_W154">Develop</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-cloud"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/deployment-overview"><span title="Deploy" class="categoryLinkLabel_W154">Deploy</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Reference</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-blocks"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/concepts-components"><span title="Components reference" class="categoryLinkLabel_W154">Components reference</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-fileCode"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/api-reference-api-examples"><span title="API reference" class="categoryLinkLabel_W154">API reference</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-group-divider"><div class="sidebar-group-label">Community</div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-gitPR"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/contributing-community"><span title="Contribute" class="categoryLinkLabel_W154">Contribute</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed sidebar-category-with-icon sidebar-icon-helpCircle"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/troubleshoot"><span title="Support" class="categoryLinkLabel_W154">Support</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 sidebar-ad">
|
||
<a href="https://www.langflow.org/desktop" target="_blank" rel="noopener noreferrer" class="menu__link">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||
<g clip-path="url(#clip0_1645_37)">
|
||
<path d="M12 17H20C21.1046 17 22 16.1046 22 15V13M12 17H4C2.89543 17 2 16.1046 2 15V5C2 3.89543 2.89543 3 4 3H10M12 17V21M8 21H12M12 21H16M11.75 10.2917H13.2083L16.125 7.375H17.5833L20.5 4.45833H21.9583M16.125 11.75H17.5833L20.5 8.83333H21.9583M11.75 5.91667H13.2083L16.125 3H17.5833" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||
</g>
|
||
<defs>
|
||
<clipPath id="clip0_1645_37">
|
||
<rect width="24" height="24" fill="white"/>
|
||
</clipPath>
|
||
</defs>
|
||
</svg>
|
||
<div class="sidebar-ad-text-container">
|
||
<span class="sidebar-ad-text">Get started in minutes</span>
|
||
<span class="sidebar-ad-text sidebar-ad-text-gradient">Download Langflow Desktop</span>
|
||
</div>
|
||
</a>
|
||
</li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_z5aJ"><div class="docItemContainer_c0TR"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation" class="breadcrumbHomeIcon_xK9p"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Model Context Protocol (MCP)</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Use Langflow as an MCP client</span></li></ul></nav><div class="docMetaRow_c2hx"><div class="root_Eutc"><button type="button" class="button_gpNY"><span aria-hidden="true" class="icon_Bm9L"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></span><span class="label_LzDG">Copy page</span></button></div><span class="theme-doc-version-badge badge badge--secondary">Version: 1.9.x</span></div><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Use Langflow as an MCP client</h1></header><style>[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; }</style>
|
||
<!-- -->
|
||
<p>Langflow integrates with the <a href="https://modelcontextprotocol.io/introduction" target="_blank" rel="noopener noreferrer" class="">Model Context Protocol (MCP)</a> as both an MCP server and an MCP client.</p>
|
||
<p>This page describes how to use Langflow as an MCP client with the <a href="#use-the-mcp-tools-component" class=""><strong>MCP Tools</strong> component</a> and connected <a href="#manage-connected-mcp-servers" class="">MCP servers</a>.</p>
|
||
<p>For information about using Langflow as an MCP server, see <a class="" href="/mcp-server">Use Langflow as an MCP server</a>.</p>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="use-the-mcp-tools-component">Use the MCP tools component<a href="#use-the-mcp-tools-component" class="hash-link" aria-label="Direct link to Use the MCP tools component" title="Direct link to Use the MCP tools component" translate="no"></a></h2>
|
||
<p>The <strong>MCP Tools</strong> component connects to an MCP server so that a <a class="" href="/agents">Langflow agent</a> can use the server's tools when responding to user queries.</p>
|
||
<p>Register MCP servers, and then add <strong>MCP Tools</strong> from the <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP</strong> sidebar as described in <a href="#mcp-stdio-mode" class="">Connect to a non-Langflow MCP server</a>.</p>
|
||
<p>This component has two modes, depending on the type of server you want to access:</p>
|
||
<ul>
|
||
<li class=""><a href="#mcp-stdio-mode" class="">Connect to a non-Langflow MCP server</a> with a JSON configuration file, server start command, or HTTP/SSE URL to access tools provided by external, non-Langflow MCP servers.</li>
|
||
<li class=""><a href="#mcp-http-mode" class="">Connect to a Langflow MCP server</a> to use flows from your <a class="" href="/concepts-flows#projects">Langflow projects</a> as MCP tools.</li>
|
||
</ul>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="mcp-stdio-mode">Connect to a non-Langflow MCP server<a href="#mcp-stdio-mode" class="hash-link" aria-label="Direct link to Connect to a non-Langflow MCP server" title="Direct link to Connect to a non-Langflow MCP server" translate="no"></a></h3>
|
||
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16" role="img" aria-label="Tip icon" focusable="false"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p><code>uvx</code> is included with <code>uv</code> in the Langflow package.</p><p>To use <code>npx</code> server commands, you must first install an LTS release of <a href="https://docs.npmjs.com/downloading-and-installing-node-js-and-npm" target="_blank" rel="noopener noreferrer" class="">Node.js</a>. If you run Langflow in Docker, install Node.js inside the container image and rebuild so that <code>npx</code>-based MCP servers are available at runtime. For more information, see <a class="" href="/develop-application#package-management">Package management</a>.</p><p>For an example of an <code>npx</code> MCP server in Langflow, see <a class="" href="/mcp-component-astra">Connect an Astra DB MCP server to Langflow</a>.</p></div></div>
|
||
<p>As of Langflow 1.9.x, the <strong>MCP Tools</strong> component is not listed as a draggable component under the <strong>Agents</strong> category. To add an MCP tool to a flow, do the following:</p>
|
||
<ol>
|
||
<li class="">
|
||
<p>Register the MCP server.
|
||
Open <strong>Settings</strong> → <strong>MCP Servers</strong>, and then click <strong>Add MCP Server</strong>, or click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP</strong> in the flow editor’s left sidebar, and then click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg> <strong>Add MCP Server</strong>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Configure and save the server.
|
||
Enter the connection details, and then click <strong>Save</strong>.
|
||
For more information, see <a class="" href="/mcp-client">Use Langflow as an MCP client</a>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>In the <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP</strong> sidebar, drag the new server to the canvas.
|
||
The <strong>MCP Tools</strong> component for that server is added to the canvas.</p>
|
||
</li>
|
||
</ol>
|
||
<p>For more information, see <a class="" href="/mcp-client">Use Langflow as an MCP client</a> and <a class="" href="/mcp-server">Use Langflow as an MCP server</a>.</p>
|
||
<ol start="4">
|
||
<li class="">
|
||
<p>In the <strong>MCP Server</strong> field on the <strong>MCP Tools</strong> component, select the server you registered.</p>
|
||
<p>New servers are registered in <strong>Settings</strong> > <strong>MCP Servers</strong>, or in the <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP</strong> sidebar > <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg> <strong>Add MCP Server</strong>, using one of the following connection types:</p>
|
||
<ul>
|
||
<li class=""><strong>JSON</strong>: Paste the MCP server's JSON configuration object into the field, including required and optional parameters that you want to use, and then click <strong>Add Server</strong>.</li>
|
||
<li class=""><strong>STDIO</strong>: Enter the MCP server's <strong>Name</strong>, <strong>Command</strong>, and any <strong>Arguments</strong> and <strong>Environment Variables</strong> the server uses, and then click <strong>Add Server</strong>.
|
||
For example, to start a <a href="https://github.com/modelcontextprotocol/servers/tree/main/src/fetch" target="_blank" rel="noopener noreferrer" class="">Fetch</a> server, the <strong>Command</strong> is <code>uvx mcp-server-fetch</code>.</li>
|
||
<li class=""><strong>HTTP/SSE</strong>: Enter your MCP server's <strong>Name</strong>, <strong>URL</strong>, and any <strong>Headers</strong> and <strong>Environment Variables</strong> the server uses, and then click <strong>Add Server</strong>.
|
||
The default <strong>URL</strong> for Langflow MCP servers is <code>http://localhost:7860/api/v1/mcp/project/PROJECT_ID/streamable</code> or <code>http://localhost:7860/api/v1/mcp/streamable</code>. For more information, see <a href="#mcp-http-mode" class="">Connect to a Langflow MCP server</a>.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="">
|
||
<p>To configure headers for your MCP server, enter each header in the <strong>Headers</strong> fields as key-value pairs.
|
||
You can use <a class="" href="/configuration-global-variables">global variables</a> in header values by entering the global variable name as the header value.
|
||
For more information, see <a href="#use-global-variables-in-mcp-server-headers" class="">Use global variables in MCP server headers</a>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>To use environment variables in your server command, enter each variable in the <strong>Env</strong> fields as key-value pairs.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>In the <strong>Tool</strong> field, select a tool that you want this component to use, or leave the field blank to allow access to all tools provided by the MCP server.</p>
|
||
<p>If you select a specific tool, you might need to configure additional tool-specific fields. For information about tool-specific fields, see your MCP server's documentation.</p>
|
||
<p>At this point, the <strong>MCP Tools</strong> component is serving a tool from the connected server, but nothing is using the tool. The next steps explain how to make the tool available to an <a class="" href="/components-agents"><strong>Agent</strong> component</a> so that the agent can use the tool in its responses.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>In the <a class="" href="/concepts-components#component-menus">component's header menu</a>, enable <strong>Tool mode</strong> so you can use the component with an agent.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Connect the <strong>MCP Tools</strong> component's <strong>Toolset</strong> port to an <strong>Agent</strong> component's <strong>Tools</strong> port.</p>
|
||
<p>If not already present in your flow, make sure you also attach <strong>Chat Input</strong> and <strong>Chat Output</strong> components to the <strong>Agent</strong> component.</p>
|
||
<p><img decoding="async" loading="lazy" alt="MCP Tools component in STDIO mode" src="/assets/images/component-mcp-stdio-a13a643e61ceea972c4a3f64dd1ae72f.png" width="4000" height="2608" class="img_ev3q"></p>
|
||
</li>
|
||
<li class="">
|
||
<p>Test your flow to make sure the MCP server is connected and the selected tool is used by the agent. Open the <strong>Playground</strong>, and then enter a prompt that uses the tool you connected through the <strong>MCP Tools</strong> component.</p>
|
||
<p>For example, if you use <code>mcp-server-fetch</code> with the <code>fetch</code> tool, you could ask the agent to summarize recent tech news. The agent calls the MCP server function <code>fetch</code>, and then returns the response.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>If you want the agent to be able to use more tools, repeat these steps to add more tools components with different servers or tools.</p>
|
||
</li>
|
||
</ol>
|
||
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="mcp-http-mode">Connect a Langflow MCP server<a href="#mcp-http-mode" class="hash-link" aria-label="Direct link to Connect a Langflow MCP server" title="Direct link to Connect a Langflow MCP server" translate="no"></a></h3>
|
||
<p>Every Langflow project runs a separate MCP server that exposes the project's flows as MCP tools.
|
||
For more information about your projects' MCP servers, including exposing flows as MCP tools, see <a class="" href="/mcp-server">Use Langflow as an MCP server</a>.</p>
|
||
<p>Langflow MCP servers support both the <strong>streamable HTTP</strong> transport and <strong>Server-Sent Events (SSE)</strong> as a fallback.</p>
|
||
<p>To leverage flows-as-tools, register your Langflow MCP endpoint as a server first, and then add the <strong>MCP Tools</strong> component from the <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP</strong> sidebar.</p>
|
||
<ol>
|
||
<li class="">
|
||
<p>Register the Langflow MCP server.
|
||
Open <strong>Settings</strong> > <strong>MCP Servers</strong> or the <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP</strong> section in the flow sidebar, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg> <strong>Add MCP Server</strong>, and select <strong>HTTP/SSE</strong> mode.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>In the <strong>MCP URL</strong> field, enter your Langflow server's MCP endpoint.</p>
|
||
<ul>
|
||
<li class="">For project-specific servers: <code>http://localhost:7860/api/v1/mcp/project/PROJECT_ID/streamable</code></li>
|
||
<li class="">For global MCP server: <code>http://localhost:7860/api/v1/mcp/streamable</code></li>
|
||
<li class="">Default for Langflow Desktop: <code>http://localhost:7868/</code></li>
|
||
</ul>
|
||
<p>All flows available from the targeted server are treated as tools. For authentication and project URLs, see <a class="" href="/mcp-server">Use Langflow as an MCP server</a>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Save the server. When the connection succeeds, the server is stored and appears as a tile in the <strong>MCP</strong> sidebar.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Add the <strong>MCP Tools</strong> component to the flow.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>In the <a class="" href="/concepts-components#component-menus">component's header menu</a>, enable <strong>Tool Mode</strong> so you can use the component with an agent.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Connect the <strong>MCP Tools</strong> component's <strong>Toolset</strong> port to an <strong>Agent</strong> component's <strong>Tools</strong> port.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>If not already present in your flow, make sure you also attach <strong>Chat Input</strong> and <strong>Chat Output</strong> components to the <strong>Agent</strong> component.</p>
|
||
<p><img decoding="async" loading="lazy" alt="MCP component with HTTP/SSE mode enabled" src="/assets/images/component-mcp-sse-mode-2e742342a52231247733d8486ab612fd.png" width="4000" height="2438" class="img_ev3q"></p>
|
||
</li>
|
||
<li class="">
|
||
<p>Test your flow to make sure the agent uses your flows to respond to queries. Open the <strong>Playground</strong>, and then enter a prompt that uses a flow that you connected through the <strong>MCP Tools</strong> component.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>If you want the agent to be able to use more tools, repeat these steps to add more tools components with different servers or tools.</p>
|
||
</li>
|
||
</ol>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="mcp-tools-parameters">MCP Tools parameters<a href="#mcp-tools-parameters" class="hash-link" aria-label="Direct link to MCP Tools parameters" title="Direct link to MCP Tools parameters" translate="no"></a></h2>
|
||
<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>mcp_server</td><td>String</td><td>Input parameter. The MCP server to connect to.</td></tr><tr><td>tool</td><td>String</td><td>Input parameter. The specific tool to execute from the connected MCP server. Leave blank to allow access to all tools.</td></tr><tr><td>use_cache</td><td>Boolean</td><td>Input parameter. Enable caching of MCP server and tools to improve performance. Default: <code>false</code>.</td></tr><tr><td>verify_ssl</td><td>Boolean</td><td>Input parameter. Enable SSL certificate verification for HTTPS connections. Default: <code>true</code>.</td></tr><tr><td>response</td><td>Table</td><td>Output parameter. <a class="" href="/data-types#table"><code>Table</code></a> containing the response from the executed tool.</td></tr></tbody></table>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="manage-connected-mcp-servers">Manage connected MCP servers<a href="#manage-connected-mcp-servers" class="hash-link" aria-label="Direct link to Manage connected MCP servers" title="Direct link to Manage connected MCP servers" translate="no"></a></h2>
|
||
<p>To manage MCP server connections for use in flows, open the <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP</strong> section in the visual editor, and then click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg> <strong>Manage Servers</strong>, or click your profile icon, select <strong>Settings</strong>, and then click <strong>MCP Servers</strong>.</p>
|
||
<p>To add a new MCP server, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg> <strong>Add MCP Server</strong>, register the server, and then select the server on the <strong>MCP Tools</strong> component as described in <a href="#mcp-stdio-mode" class="">Connect to a non-Langflow MCP server</a>.</p>
|
||
<p>Click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle></svg> <strong>More</strong> to edit or delete an MCP server connection.</p>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="mcp-api-tweaks">Modify MCP server environment variables with the API<a href="#mcp-api-tweaks" class="hash-link" aria-label="Direct link to Modify MCP server environment variables with the API" title="Direct link to Modify MCP server environment variables with the API" translate="no"></a></h2>
|
||
<p>You can modify MCP server environment variables at runtime when running flows through the <a class="" href="/api-reference-api-examples">Langflow API</a> by tweaking the <strong>MCP Tools</strong> component.</p>
|
||
<p>You can include tweaks with any Langflow API request that supports the <code>tweaks</code> parameter, such as POST requests to the <code>/run</code> or <code>/webhook</code> endpoints.
|
||
For more information, see <a class="" href="/concepts-publish#input-schema">Input schema (tweaks)</a>.</p>
|
||
<p>To modify the <strong>MCP Tools</strong> component's environment variables with tweaks, do the following:</p>
|
||
<ol>
|
||
<li class="">
|
||
<p>Open the flow that contains your <strong>MCP Tools</strong> component.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>To find the <strong>MCP Tools</strong> component's unique ID, in your <strong>MCP Tools</strong> component, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sliders-horizontal lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><line x1="21" x2="14" y1="4" y2="4"></line><line x1="10" x2="3" y1="4" y2="4"></line><line x1="21" x2="12" y1="12" y2="12"></line><line x1="8" x2="3" y1="12" y2="12"></line><line x1="21" x2="16" y1="20" y2="20"></line><line x1="12" x2="3" y1="20" y2="20"></line><line x1="14" x2="14" y1="2" y2="6"></line><line x1="8" x2="8" y1="10" y2="14"></line><line x1="16" x2="16" y1="18" y2="22"></line></svg> <strong>Controls</strong>.
|
||
The component's ID is displayed in the <strong>Controls</strong> pane, such as <code>MCPTools-Bzahc</code>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Send a POST request to the Langflow server's <code>/run</code> endpoint, and include tweaks to the <strong>MCP Tools</strong> component.</p>
|
||
<p>The following examples demonstrate a request structure with the <code>env</code> object nested under <code>mcp_server</code> in the <code>tweaks</code> payload:</p>
|
||
<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Python</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">TypeScript</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">cURL</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>import requests</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>import os</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_SERVER_ADDRESS = "http://localhost:7860"</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>FLOW_ID = "your-flow-id"</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>LANGFLOW_API_KEY = os.getenv("LANGFLOW_API_KEY")</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>MCP_TOOLS_COMPONENT_ID = "MCPTools-Bzahc"</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>url = f"{LANGFLOW_SERVER_ADDRESS}/api/v1/run/{FLOW_ID}?stream=false"</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>headers = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "Content-Type": "application/json",</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "x-api-key": LANGFLOW_API_KEY</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>payload = {</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "What sales data is available to me?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "tweaks": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> MCP_TOOLS_COMPONENT_ID: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "mcp_server": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "env": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "API_URL": "https://api.example.com",</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "API_KEY": "your-mcp-server-api-key",</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> "ENVIRONMENT": "production"</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>response = requests.post(url, json=payload, headers=headers)</span></div></div><div><span class="ch-code-line-number">_<!-- -->32</span><div style="display:inline-block;margin-left:16px"><span>print(response.json())</span></div></div><br></code></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>const LANGFLOW_SERVER_ADDRESS = "http://localhost:7860";</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>const FLOW_ID = "your-flow-id";</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>const LANGFLOW_API_KEY = process.env.LANGFLOW_API_KEY || "";</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>const MCP_TOOLS_COMPONENT_ID = "MCPTools-Bzahc";</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>const url = `${LANGFLOW_SERVER_ADDRESS}/api/v1/run/${FLOW_ID}?stream=false`;</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>const response = await fetch(url, {</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> method: "POST",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> headers: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> "Content-Type": "application/json",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> "x-api-key": LANGFLOW_API_KEY,</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> body: JSON.stringify({</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> output_type: "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> input_type: "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> input_value: "What sales data is available to me?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> tweaks: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> [MCP_TOOLS_COMPONENT_ID]: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> mcp_server: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> env: {</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> API_URL: "https://api.example.com",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> API_KEY: "your-mcp-server-api-key",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> ENVIRONMENT: "production",</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>const data = await response.json();</span></div></div><div><span class="ch-code-line-number">_<!-- -->33</span><div style="display:inline-block;margin-left:16px"><span>console.log(data);</span></div></div><br></code></div></div></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><div class="ch-codeblock not-prose" data-ch-theme="github-dark"><div class="ch-code-wrapper ch-code" data-ch-measured="false"><code class="ch-code-scroll-parent"><br><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span>curl --request POST \</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> --url "http://LANGFLOW_SERVER_ADDRESS/api/v1/run/FLOW_ID?stream=false" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> --header "Content-Type: application/json" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> --header "x-api-key: LANGFLOW_API_KEY" \</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> --data '{</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "output_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "input_type": "chat",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "input_value": "What sales data is available to me?",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "tweaks": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "MCP_TOOLS_COMPONENT_ID": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "mcp_server": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "env": {</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "API_URL": "https://api.example.com",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "API_KEY": "your-mcp-server-api-key",</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> "ENVIRONMENT": "production"</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><span class="ch-code-line-number">_<!-- -->20</span><div style="display:inline-block;margin-left:16px"><span> }'</span></div></div><br></code></div></div></div></div></div>
|
||
<p>Replace <code>MCP_TOOLS_COMPONENT_ID</code>, <code>LANGFLOW_API_KEY</code>, <code>LANGFLOW_SERVER_ADDRESS</code>, and <code>FLOW_ID</code> with the actual values from your Langflow deployment.</p>
|
||
<p>Langflow doesn't automatically discover or expose which environment variables your MCP server accepts from the <strong>MCP Tools</strong> component.
|
||
To determine which environment variables your MCP server accepts, see the MCP server's documentation. For example, the <a href="https://github.com/datastax/astra-db-mcp" target="_blank" rel="noopener noreferrer" class="">Astra DB MCP server</a> requires <code>ASTRA_DB_APPLICATION_TOKEN</code> and <code>ASTRA_DB_API_ENDPOINT</code>, with an optional variable for <code>ASTRA_DB_KEYSPACE</code>, as documented in its repository.</p>
|
||
</li>
|
||
</ol>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="use-global-variables-in-mcp-server-headers">Use global variables in MCP server headers<a href="#use-global-variables-in-mcp-server-headers" class="hash-link" aria-label="Direct link to Use global variables in MCP server headers" title="Direct link to Use global variables in MCP server headers" translate="no"></a></h2>
|
||
<p>You can use <a class="" href="/configuration-global-variables">global variables</a> in MCP server header values to securely store and reference API keys, authentication tokens, and other sensitive values. This is particularly useful for deployment scenarios where you need to pass user-specific credentials at runtime.</p>
|
||
<p>Enter a global variable name as the header value, and Langflow resolves the global variable name to its actual value before making the MCP server request. Langflow only passes the token value to your server; it doesn't validate tokens on behalf of your MCP server.</p>
|
||
<p>For example, to create a global variable named <code>TEST_BEARER_TOKEN</code> for MCP server bearer authentication, do the following:</p>
|
||
<ol>
|
||
<li class="">
|
||
<p>To open the <strong>Global Variables</strong> pane, click your profile icon, select <strong>Settings</strong>, and then click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg> <strong>Global Variables</strong>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Create a <strong>Credential</strong> global variable named <code>TEST_BEARER_TOKEN</code>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>In the <strong>Value</strong> field, enter your MCP server's bearer token value. The value must include the <code>Bearer</code> prefix with a space, for example: <code>Bearer eyJhbG...</code>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Click <strong>Save Variable</strong>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>To manage MCP server connections for your Langflow client, click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g fill="currentColor" clip-path="url(#a)"><path d="M10.352 1.675a1.655 1.655 0 0 0-2.341 0L1.769 7.917a.552.552 0 1 1-.78-.78L7.23.893a2.759 2.759 0 0 1 4.682 2.341 2.75 2.75 0 0 1 2.34.78l.033.033a2.76 2.76 0 0 1 0 3.901L8.64 13.595a.184.184 0 0 0 0 .26l1.16 1.159a.552.552 0 0 1-.78.78l-1.16-1.16a1.287 1.287 0 0 1 0-1.82l5.645-5.645a1.655 1.655 0 0 0 0-2.34l-.032-.033a1.655 1.655 0 0 0-2.34-.002l-4.65 4.65-.002.003-.063.063a.552.552 0 1 1-.78-.78l4.715-4.716a1.655 1.655 0 0 0-.001-2.34"></path><path d="M9.572 3.235a.552.552 0 1 0-.78-.78L4.174 7.07a2.759 2.759 0 0 0 3.901 3.902l4.617-4.617a.552.552 0 0 0-.78-.78l-4.617 4.617a1.655 1.655 0 0 1-2.341-2.341z"></path></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"></path></clipPath></defs></svg> <strong>MCP servers</strong>, and then click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg> <strong>Manage Servers</strong>, or click your profile icon, select <strong>Settings</strong>, and then click <strong>MCP Servers</strong>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Click <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus lf-inline-icon" aria-hidden="true" focusable="false" role="presentation"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg> <strong>Add MCP Server</strong>.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Select the following:</p>
|
||
<ul>
|
||
<li class=""><strong>Name</strong>: test-mcp-server</li>
|
||
<li class=""><strong>Streamable HTTP/SSE URL</strong>: Your MCP server's URL, such as <code>http://127.0.0.1:8000/mcp</code>.</li>
|
||
<li class=""><strong>Headers</strong>: In the key field, enter the literal string <code>Authorization</code>. For the key's value, enter <code>TEST_BEARER_TOKEN</code>, or the exact name of your global variable.</li>
|
||
</ul>
|
||
</li>
|
||
<li class="">
|
||
<p>Click <strong>Create Server</strong>.</p>
|
||
<p>If the connection succeeds, Langflow shows the number of tools exposed by the server.</p>
|
||
<p>After creating the server and global variable, you can connect to the server with the <strong>MCP Tools</strong> component, as explained in the next steps.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Add the <strong>MCP Tools</strong> component to a flow.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>In the <strong>MCP Tools</strong> component, confirm the <strong>MCP Server</strong> is set to the server you created.
|
||
The MCP server configuration already includes the headers you configured earlier, so no further configuration is needed in the component. The global variable <code>TEST_BEARER_TOKEN</code> is automatically resolved when the component makes requests to the MCP server.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Optional: To override headers or add additional headers to the <strong>MCP Tools</strong> component, click the component to view the <strong>Headers</strong> parameter in the <a class="" href="/concepts-components#component-menus">component inspection panel</a>, and then add header key values. Headers configured in the component take precedence over the headers configured in the MCP server settings.</p>
|
||
</li>
|
||
<li class="">
|
||
<p>Test your flow to make sure the agent uses your server to respond to queries. Open the <strong>Playground</strong>, and then enter a prompt that uses a tool that you connected through the <strong>MCP Tools</strong> component.</p>
|
||
<p>Langflow automatically resolves <code>TEST_BEARER_TOKEN</code> to its actual value before sending the request to the MCP server. When your MCP server receives the request, the <code>Authorization</code> header contains the resolved token value.</p>
|
||
</li>
|
||
</ol>
|
||
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="see-also">See also<a href="#see-also" class="hash-link" aria-label="Direct link to See also" title="Direct link to See also" translate="no"></a></h2>
|
||
<ul>
|
||
<li class=""><a class="" href="/langflow-mcp-client">Langflow MCP Client</a></li>
|
||
<li class=""><a class="" href="/mcp-server">Use Langflow as an MCP server</a></li>
|
||
<li class=""><a class="" href="/mcp-component-astra">Use a DataStax Astra DB MCP server with the MCP Tools component</a></li>
|
||
</ul></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/agents-tools"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Configure tools for agents</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/mcp-server"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Use Langflow as an MCP server</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#use-the-mcp-tools-component" class="table-of-contents__link toc-highlight">Use the MCP tools component</a><ul><li><a href="#mcp-stdio-mode" class="table-of-contents__link toc-highlight">Connect to a non-Langflow MCP server</a></li><li><a href="#mcp-http-mode" class="table-of-contents__link toc-highlight">Connect a Langflow MCP server</a></li></ul></li><li><a href="#mcp-tools-parameters" class="table-of-contents__link toc-highlight">MCP Tools parameters</a></li><li><a href="#manage-connected-mcp-servers" class="table-of-contents__link toc-highlight">Manage connected MCP servers</a></li><li><a href="#mcp-api-tweaks" class="table-of-contents__link toc-highlight">Modify MCP server environment variables with the API</a></li><li><a href="#use-global-variables-in-mcp-server-headers" class="table-of-contents__link toc-highlight">Use global variables in MCP server headers</a></li><li><a href="#see-also" class="table-of-contents__link toc-highlight">See also</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><div class="footer-links">
|
||
<span>© 2026 Langflow</span>
|
||
<span id="preferenceCenterContainer"> · <a href="#" onclick='return"undefined"!=typeof window&&window.truste&&window.truste.eu&&window.truste.eu.clickListener&&window.truste.eu.clickListener(),!1' style="cursor: pointer;">Manage Privacy Choices</a></span>
|
||
</div></li></ul></div></div></div></footer><div style="position:fixed;right:21px;bottom:21px;z-index:100;display:flex;align-items:center;gap:10px;cursor:pointer"><div style="background-color:#f6f6f6;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,0.1)"><img src="/img/langflow-icon-black-transparent.svg" style="width:40px" alt="Search"></div></div></div>
|
||
</body>
|
||
</html> |