Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.
A custom MCP server is any remote server that supports the Model Context Protocol and is not already a prebuilt connector in the Lovable catalog. Connect one as a chat connector (MCP server), and Lovable can read from it as live context in the project chat and in Chats: internal CRMs, private APIs, company knowledge bases, or niche third-party tools.Custom MCP servers are available on all plans. Like all chat connections, they are personal to you, and they are never part of your published app. If your published app needs to call a service while people use it, use an app + chat connector, create a custom connector for its API, or integrate the API directly.
Explore remote MCP servers, a curated list of high-quality remote MCP servers compatible with Lovable.
To connect a custom MCP server, you need the server’s URL and, depending on the server, its credentials:
If your workspace has an MCP registry, you can browse it and select Connect next to a server instead. This opens the same form with the server’s URL already filled in, so you can skip straight to authentication. Servers connected from a registry always use a direct connection. To use Lovable static IPs, add the server by URL as described below.
1
Open the custom MCP form
Open Connectors, select Add custom in the top right of the catalog, and choose MCP server. See Where to find connectors for every place you can open the catalog.If MCP server is greyed out, a workspace admin has disabled custom MCP servers for your workspace.
2
Name the server
Enter a clear Server name (for example, Internal CRM or Analytics API).
3
Choose how Lovable reaches the server
A Connection dropdown appears when your workspace has more than one route available. Keep Direct connection unless your server is behind a firewall that only accepts traffic from allowlisted IPs. In that case, select Lovable static IPs so requests reach your server from Lovable’s published IP ranges. See Lovable static IPs for details and the ranges to allowlist.
4
Enter the server URL
Enter the Server URL where Lovable can reach your MCP server, for example https://mcp.example.com.
5
Choose authentication
OAuth (default): Lovable uses OAuth by default. After you click Add & authorize, you’re prompted to authorize.
Bearer token or API key: For servers that don’t support OAuth, authenticate with a bearer token or API key.
No authentication: Connect without credentials if the server doesn’t require authentication.
6
Add the server
Click Add & authorize (OAuth) or Add server. The custom MCP server now appears in your list of chat connectors and can provide contextual data for builds.
To confirm the connection works, ask Lovable something the server can answer, for example:
Using the Internal CRM connector, list my five most recent customer accounts.
By default, Lovable reaches a custom MCP server over a Direct connection, and requests do not come from a fixed set of IP addresses. That works for servers on the public internet, but not for servers behind a firewall that only accepts traffic from allowlisted IPs, such as on-premises deployments.Lovable static IPs is a per-connection option for custom MCP servers that routes all Lovable traffic to the server through Lovable’s published static egress IP ranges. Allowlist these ranges in your firewall, and Lovable can reach the server:
IPv4: 185.41.150.0/28 and 185.41.150.16/28
IPv6: 2a07:8241:fca:1000::/56
These ranges are shared Lovable infrastructure egress, not addresses reserved for your workspace. Allowlisting them admits Lovable-originated traffic in general, so treat the allowlist as a network control, not as authentication. Keep your server’s own bearer token or OAuth in place, and don’t treat a matching source IP as proof of identity.
To use it, select Lovable static IPs in the Connection dropdown when you add the server.
It works with every authentication type. OAuth, bearer token, and no authentication all work with Lovable static IPs.
You can only choose it for custom MCP servers. Featured connectors from the catalog don’t offer the option.
Enterprise only, enabled per workspace. Lovable static IPs requires an Enterprise plan, and Lovable must also enable the option for your workspace. If you don’t see Lovable static IPs in the Connection dropdown, contact your Lovable account team.
Add the server by URL, not from a registry. Servers connected from an MCP registry always use a direct connection, and the Connection dropdown doesn’t appear for them.
The choice is fixed when you add the server. Lovable checks the option when you create the connection, and the connection keeps its setting from then on. If the option is later disabled for your workspace, existing static-IP connections keep working, but you can’t create new ones. To switch an existing connection between Direct connection and Lovable static IPs, remove the server and add it again.
App + chat connectors route through the connector gateway, whose ranges on IP allowlisting are broader and already contain the ranges above. Allowlisting the narrower set is enough for a custom MCP server. If you have already allowlisted the gateway ranges, custom MCP traffic using Lovable static IPs is covered too.
Custom MCP servers follow the same workspace controls as other chat connectors, through two settings:
The Custom MCP row (“Allow members to connect their own MCP servers”) in Connectors → Admin settings → Chat connectors turns custom MCP servers on or off for everyone. It governs them as a group, so individual custom MCP servers that members have connected do not appear in the admin table.
All plans. Custom MCP servers are chat connectors, which are enabled by default everywhere, including on Enterprise workspaces. A workspace admin can turn them off with the Custom MCP setting described in Manage custom MCP servers. The Lovable static IPs connection option is the exception: it is Enterprise only.
Can my published app use a custom MCP server?
No. Chat connections, including custom MCP servers, only give Lovable context in the project chat and in Chats. For functionality in your published app, use an app + chat connector or ask Lovable to integrate the API directly.
Why doesn't my custom MCP server show up in Admin settings?
By design. The Admin settings table lists catalog connectors only. Custom MCP servers are controlled as a group through the Custom MCP row in Connectors → Admin settings → Chat connectors.
Which IP addresses does Lovable connect to my MCP server from?
With a Direct connection (the default), requests do not come from a fixed set of IPs. With the Lovable static IPs connection option, all traffic to the server comes from 185.41.150.0/28, 185.41.150.16/28, and 2a07:8241:fca:1000::/56, which you can allowlist in your firewall.
Why don't I see the Lovable static IPs option?
The option requires an Enterprise plan, and Lovable must also enable it for your workspace. It only appears for custom MCP servers that you add by URL, not for featured connectors or for servers connected from an MCP registry. See Lovable static IPs for how to request it.
Can other people in my workspace use my custom MCP connection?
No. Chat connections are per-user. Others in your workspace connect the same server themselves by entering its name and URL with their own credentials. If your workspace uses an MCP registry that lists the server, they can connect it from there with the URL already filled in.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lovable Documentation","description":"Lovable Documentation — Build full-stack websites with AI using natural language. Explore Lovable features, integrations, tutorials, and best practices.","colors":{"primary":"#0095FF","light":"#1AA3FF","dark":"#0084E6"},"logo":{"light":"https://mintcdn.com/lovable-f9060f1e/lZT1ihBcprll2Agr/assets/logo/logoblack.svg?fit=max\u0026auto=format\u0026n=lZT1ihBcprll2Agr\u0026q=85\u0026s=8d9eafaf19f94e27f0d13ac160d54f54","dark":"https://mintcdn.com/lovable-f9060f1e/lZT1ihBcprll2Agr/assets/logo/logowhite.svg?fit=max\u0026auto=format\u0026n=lZT1ihBcprll2Agr\u0026q=85\u0026s=fed1a7a9be6502f49d06a55cec77288c","href":"https://lovable.dev/"},"favicon":"https://mintcdn.com/lovable-f9060f1e/b_1_IEcMDh-0NUDG/assets/logo/favicon.svg?fit=max\u0026auto=format\u0026n=b_1_IEcMDh-0NUDG\u0026q=85\u0026s=a439abba3defb47beabd3f6e7d318cb5","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl"],"prefill":true,"autogenerate":true},"url":"full"},"navbar":{"links":[{"icon":"message","href":"https://lovable.dev/support","label":"Support"},{"icon":"blog","href":"https://lovable.dev/blog","label":"Blog"}],"primary":{"type":"button","label":"Start building for free","href":"https://lovable.dev/signup?utm_source=lovable_docs\u0026utm_medium=navigation"}},"footer":{"socials":{"x":"https://x.com/Lovable","github":"https://github.com/lovablelabs","linkedin":"https://linkedin.com/company/lovable-dev","youtube":"https://youtube.com/@lovable","discord":"https://discord.gg/lovable-dev","reddit":"https://www.reddit.com/r/lovable"}},"seo":{"metatags":{"og:image":"/assets/logo/opengraph-image.png","canonical":"https://docs.lovable.dev"},"indexing":"all"},"contextual":{"options":["copy","assistant","download-pdf","download-spec"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lovable-f9060f1e","hasAudioNarration":false,"actualSubdomain":"lovable-f9060f1e","customDomains":["docs.lovable.dev"],"gitSource":{"type":"github","owner":"lovablelabs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4ba7e39bc6f1b8c5083c4","collectionId":"be62575e-7d4d-4f47-8039-e68eba8e6629","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4ba7e39bc6f1b8c5083c4"},"feedback":{"thumbs":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4ba7e39bc6f1b8c5083c4","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Documentation","count":273},{"language":"default","tag":"Connect","count":125},{"language":"default","tag":"Connector catalog","count":113},{"language":"default","tag":"Build","count":69},{"language":"default","tag":"API Reference","count":33},{"language":"default","tag":"Workspace \u0026 account","count":29},{"language":"default","tag":"Lovable API","count":27},{"language":"default","tag":"Endpoints","count":25},{"language":"default","tag":"Data \u0026 databases","count":21},{"language":"default","tag":"Backend","count":19}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"type":"link","email":"support@lovable.dev","url":"https://lovable.dev/support"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instinct-self-updating-docs","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"assets/css/styles.css","content":".supabase{color:#59cf8c}"}],"page":{"pagePath":"integrations/custom-mcp","slug":"/integrations/custom-mcp","pageMetadata":{"title":"Connect a custom MCP server as a chat connector","sidebarTitle":"Custom MCP servers","description":"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.","keywords":["custom MCP server","MCP server","Model Context Protocol","remote MCP","chat connector","internal tools","private API","bearer token","OAuth MCP","add MCP server","Lovable static IPs","static IP","egress IP ranges","firewalled MCP server","on-prem MCP server"],"href":"/integrations/custom-mcp"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,Heading,Note,Step,Steps,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`custom MCP server`}),` is any remote server that supports the `,_jsx(_components.a,{href:`https://modelcontextprotocol.io`,children:`Model Context Protocol`}),` and is not already a prebuilt connector in the Lovable catalog. Connect one as a `,_jsx(_components.a,{href:`/integrations/chat-connectors`,children:`chat connector (MCP server)`}),`, and Lovable can read from it as live context in the project chat and in `,_jsx(_components.a,{href:`/features/chats`,children:`Chats`}),`: internal CRMs, private APIs, company knowledge bases, or niche third-party tools.`]}),`\n`,_jsxs(_components.p,{children:[`Custom MCP servers are available on `,_jsx(_components.strong,{children:`all plans`}),`. Like all chat connections, they are personal to you, and they are never part of your published app. If your published app needs to call a service while people use it, use an `,_jsx(_components.a,{href:`/integrations/app-connectors`,children:`app + chat connector`}),`, `,_jsx(_components.a,{href:`/integrations/create-connector`,children:`create a custom connector`}),` for its API, or `,_jsx(_components.a,{href:`/integrations/any-api`,children:`integrate the API directly`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Explore `,_jsx(_components.a,{href:`https://mcpservers.org/remote-mcp-servers`,children:`remote MCP servers`}),`, a curated list of high-quality remote MCP servers compatible with Lovable.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-connect-a-custom-mcp-server`,children:`How to connect a custom MCP server`}),`\n`,_jsx(_components.p,{children:`To connect a custom MCP server, you need the server’s URL and, depending on the server, its credentials:`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If your workspace has an `,_jsx(_components.a,{href:`/integrations/mcp-registries`,children:`MCP registry`}),`, you can browse it and select `,_jsx(_components.strong,{children:`Connect`}),` next to a server instead. This opens the same form with the server’s URL already filled in, so you can skip straight to authentication. Servers connected from a registry always use a direct connection. To use `,_jsx(_components.a,{href:`#lovable-static-ips`,children:`Lovable static IPs`}),`, add the server by URL as described below.`]})}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the custom MCP form`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.a,{href:`https://lovable.dev/dashboard?connectors`,children:_jsx(_components.strong,{children:`Connectors`})}),`, select `,_jsx(_components.strong,{children:`Add custom`}),` in the top right of the catalog, and choose `,_jsx(_components.strong,{children:`MCP server`}),`. See `,_jsx(_components.a,{href:`/integrations/introduction#where-to-find-connectors`,children:`Where to find connectors`}),` for every place you can open the catalog.`]}),_jsxs(_components.p,{children:[`If `,_jsx(_components.strong,{children:`MCP server`}),` is greyed out, a workspace admin has disabled custom MCP servers for your workspace.`]})]}),_jsx(Step,{title:`Name the server`,children:_jsxs(_components.p,{children:[`Enter a clear `,_jsx(_components.strong,{children:`Server name`}),` (for example, `,_jsx(_components.em,{children:`Internal CRM`}),` or `,_jsx(_components.em,{children:`Analytics API`}),`).`]})}),_jsx(Step,{title:`Choose how Lovable reaches the server`,children:_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`Connection`}),` dropdown appears when your workspace has more than one route available. Keep `,_jsx(_components.strong,{children:`Direct connection`}),` unless your server is behind a firewall that only accepts traffic from allowlisted IPs. In that case, select `,_jsx(_components.strong,{children:`Lovable static IPs`}),` so requests reach your server from Lovable’s published IP ranges. See `,_jsx(_components.a,{href:`#lovable-static-ips`,children:`Lovable static IPs`}),` for details and the ranges to allowlist.`]})}),_jsx(Step,{title:`Enter the server URL`,children:_jsxs(_components.p,{children:[`Enter the `,_jsx(_components.strong,{children:`Server URL`}),` where Lovable can reach your MCP server, for example `,_jsx(_components.code,{children:`https://mcp.example.com`}),`.`]})}),_jsx(Step,{title:`Choose authentication`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`OAuth (default)`}),`: Lovable uses OAuth by default. After you click `,_jsx(_components.strong,{children:`Add \u0026 authorize`}),`, you’re prompted to authorize.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Bearer token or API key`}),`: For servers that don’t support OAuth, authenticate with a bearer token or API key.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No authentication`}),`: Connect without credentials if the server doesn’t require authentication.`]}),`\n`]})}),_jsx(Step,{title:`Add the server`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add \u0026 authorize`}),` (OAuth) or `,_jsx(_components.strong,{children:`Add server`}),`. The custom MCP server now appears in your list of chat connectors and can provide contextual data for builds.`]})})]}),`\n`,_jsx(_components.p,{children:`To confirm the connection works, ask Lovable something the server can answer, for example:`}),`\n`,_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Using the Internal CRM connector, list my five most recent customer accounts.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`lovable-static-ips`,children:`Lovable static IPs`}),`\n`,_jsxs(_components.p,{children:[`By default, Lovable reaches a custom MCP server over a `,_jsx(_components.strong,{children:`Direct connection`}),`, and requests do not come from a fixed set of IP addresses. That works for servers on the public internet, but not for servers behind a firewall that only accepts traffic from allowlisted IPs, such as on-premises deployments.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Lovable static IPs`}),` is a per-connection option for custom MCP servers that routes all Lovable traffic to the server through Lovable’s published static egress IP ranges. Allowlist these ranges in your firewall, and Lovable can reach the server:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`IPv4: `,_jsx(_components.code,{children:`185.41.150.0/28`}),` and `,_jsx(_components.code,{children:`185.41.150.16/28`})]}),`\n`,_jsxs(_components.li,{children:[`IPv6: `,_jsx(_components.code,{children:`2a07:8241:fca:1000::/56`})]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`These ranges are shared Lovable infrastructure egress, not addresses reserved for your workspace. Allowlisting them admits Lovable-originated traffic in general, so treat the allowlist as a network control, not as authentication. Keep your server’s own bearer token or OAuth in place, and don’t treat a matching source IP as proof of identity.`})}),`\n`,_jsxs(_components.p,{children:[`To use it, select `,_jsx(_components.strong,{children:`Lovable static IPs`}),` in the `,_jsx(_components.strong,{children:`Connection`}),` dropdown when you `,_jsx(_components.a,{href:`#how-to-connect-a-custom-mcp-server`,children:`add the server`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`It works with every authentication type.`}),` OAuth, bearer token, and no authentication all work with Lovable static IPs.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You can only choose it for custom MCP servers.`}),` Featured connectors from the catalog don’t offer the option.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Enterprise only, enabled per workspace.`}),` Lovable static IPs requires an `,_jsx(_components.strong,{children:`Enterprise`}),` plan, and Lovable must also enable the option for your workspace. If you don’t see `,_jsx(_components.strong,{children:`Lovable static IPs`}),` in the `,_jsx(_components.strong,{children:`Connection`}),` dropdown, contact your Lovable account team.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Add the server by URL, not from a registry.`}),` Servers connected from an `,_jsx(_components.a,{href:`/integrations/mcp-registries`,children:`MCP registry`}),` always use a direct connection, and the `,_jsx(_components.strong,{children:`Connection`}),` dropdown doesn’t appear for them.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The choice is fixed when you add the server.`}),` Lovable checks the option when you create the connection, and the connection keeps its setting from then on. If the option is later disabled for your workspace, existing static-IP connections keep working, but you can’t create new ones. To switch an existing connection between `,_jsx(_components.strong,{children:`Direct connection`}),` and `,_jsx(_components.strong,{children:`Lovable static IPs`}),`, remove the server and add it again.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`App + chat connectors route through the connector gateway, whose ranges on `,_jsx(_components.a,{href:`/integrations/security#ip-allowlisting`,children:`IP allowlisting`}),` are broader and already contain the ranges above. Allowlisting the narrower set is enough for a custom MCP server. If you have already allowlisted the gateway ranges, custom MCP traffic using `,_jsx(_components.strong,{children:`Lovable static IPs`}),` is covered too.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`manage-custom-mcp-servers`,children:`Manage custom MCP servers`}),`\n`,_jsx(_components.p,{children:`Custom MCP servers follow the same workspace controls as other chat connectors, through two settings:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`Custom MCP`}),` row (“Allow members to connect their own MCP servers”) in `,_jsx(_components.strong,{children:`Connectors → Admin settings → Chat connectors`}),` turns custom MCP servers on or off for everyone. It governs them as a group, so individual custom MCP servers that members have connected do not appear in the admin table.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/features/privacy-and-security-settings#remote-mcp-connectors`,children:_jsx(_components.strong,{children:`Remote MCP connectors`})}),` in `,_jsx(_components.a,{href:`https://lovable.dev/settings/privacy-security`,children:`Privacy \u0026 security`}),` turns all chat connectors on or off for the workspace, custom MCP servers included.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/integrations/admin-controls#chat-connector-controls`,children:`Chat connector controls`}),` for all chat connector governance settings.`]}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Which plans support custom MCP servers?`,id:`which-plans-support-custom-mcp-servers`,children:_jsxs(_components.p,{children:[`All plans. Custom MCP servers are chat connectors, which are enabled by default everywhere, including on Enterprise workspaces. A workspace admin can turn them off with the `,_jsx(_components.strong,{children:`Custom MCP`}),` setting described in `,_jsx(_components.a,{href:`#manage-custom-mcp-servers`,children:`Manage custom MCP servers`}),`. The `,_jsx(_components.a,{href:`#lovable-static-ips`,children:_jsx(_components.strong,{children:`Lovable static IPs`})}),` connection option is the exception: it is Enterprise only.`]})}),_jsx(Accordion,{title:`Can my published app use a custom MCP server?`,id:`can-my-published-app-use-a-custom-mcp-server`,children:_jsxs(_components.p,{children:[`No. Chat connections, including custom MCP servers, only give Lovable context in the project chat and in `,_jsx(_components.a,{href:`/features/chats`,children:`Chats`}),`. For functionality in your published app, use an `,_jsx(_components.a,{href:`/integrations/app-connectors`,children:`app + chat connector`}),` or ask Lovable to `,_jsx(_components.a,{href:`/integrations/any-api`,children:`integrate the API directly`}),`.`]})}),_jsx(Accordion,{title:`Why doesn't my custom MCP server show up in Admin settings?`,id:`why-doesnt-my-custom-mcp-server-show-up-in-admin-settings`,children:_jsxs(_components.p,{children:[`By design. The Admin settings table lists catalog connectors only. Custom MCP servers are controlled as a group through the `,_jsx(_components.strong,{children:`Custom MCP`}),` row in `,_jsx(_components.strong,{children:`Connectors → Admin settings → Chat connectors`}),`.`]})}),_jsx(Accordion,{title:`Which IP addresses does Lovable connect to my MCP server from?`,id:`which-ip-addresses-does-lovable-connect-to-my-mcp-server-from`,children:_jsxs(_components.p,{children:[`With a `,_jsx(_components.strong,{children:`Direct connection`}),` (the default), requests do not come from a fixed set of IPs. With the `,_jsx(_components.a,{href:`#lovable-static-ips`,children:_jsx(_components.strong,{children:`Lovable static IPs`})}),` connection option, all traffic to the server comes from `,_jsx(_components.code,{children:`185.41.150.0/28`}),`, `,_jsx(_components.code,{children:`185.41.150.16/28`}),`, and `,_jsx(_components.code,{children:`2a07:8241:fca:1000::/56`}),`, which you can allowlist in your firewall.`]})}),_jsx(Accordion,{title:`Why don't I see the Lovable static IPs option?`,id:`why-dont-i-see-the-lovable-static-ips-option`,children:_jsxs(_components.p,{children:[`The option requires an `,_jsx(_components.strong,{children:`Enterprise`}),` plan, and Lovable must also enable it for your workspace. It only appears for custom MCP servers that you add by URL, not for featured connectors or for servers connected from an MCP registry. See `,_jsx(_components.a,{href:`#lovable-static-ips`,children:`Lovable static IPs`}),` for how to request it.`]})}),_jsx(Accordion,{title:`Can other people in my workspace use my custom MCP connection?`,id:`can-other-people-in-my-workspace-use-my-custom-mcp-connection`,children:_jsxs(_components.p,{children:[`No. Chat connections are per-user. Others in your workspace connect the same server themselves by entering its name and URL with their own credentials. If your workspace uses an `,_jsx(_components.a,{href:`/integrations/mcp-registries`,children:`MCP registry`}),` that lists the server, they can connect it from there with the URL already filled in.`]})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Connect a custom MCP server as a chat connector","sidebarTitle":"Custom MCP servers","description":"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.","keywords":["custom MCP server","MCP server","Model Context Protocol","remote MCP","chat connector","internal tools","private API","bearer token","OAuth MCP","add MCP server","Lovable static IPs","static IP","egress IP ranges","firewalled MCP server","on-prem MCP server"],"href":"/integrations/custom-mcp"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How to connect a custom MCP server","slug":"how-to-connect-a-custom-mcp-server","depth":2,"children":[]},{"title":"Lovable static IPs","slug":"lovable-static-ips","depth":2,"children":[]},{"title":"Manage custom MCP servers","slug":"manage-custom-mcp-servers","depth":2,"children":[]},{"title":"FAQ","slug":"faq","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lovable-f9060f1e/84f62c0d01f1469d/sign-in-with-lovable-demo.js"],"subdomain":"lovable-f9060f1e","siteName":"Lovable Documentation","title":"Connect a custom MCP server as a chat connector - Lovable Documentation","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"contextualStarterQuestions":[{"_id":"6adb65d56ba19811eb9ad127","deploymentId":"672cd6fd3133ca8082eceab1","questionText":"Can I use this in my published app?","status":"active","generatedBy":"contextual","path":"integrations/custom-mcp","createdAt":"2026-10-23T13:49:09.976Z","updatedAt":"2026-10-23T13:49:09.976Z","__v":0},{"_id":"6adb65d56ba19811eb9ad126","deploymentId":"672cd6fd3133ca8082eceab1","questionText":"What credentials do I need to set up?","status":"active","generatedBy":"contextual","path":"integrations/custom-mcp","createdAt":"2026-10-23T13:49:09.976Z","updatedAt":"2026-10-23T13:49:09.976Z","__v":0},{"_id":"6adb65d56ba19811eb9ad125","deploymentId":"672cd6fd3133ca8082eceab1","questionText":"How do I connect a custom MCP server?","status":"active","generatedBy":"contextual","path":"integrations/custom-mcp","createdAt":"2026-10-23T13:49:09.976Z","updatedAt":"2026-10-23T13:49:09.976Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T13:49:05.246Z","originalFileLocation":"integrations/custom-mcp.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lovable Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Connect a custom MCP server as a chat connector - Lovable Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lovable Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lovable.dev/integrations/custom-mcp\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lovable-f9060f1e.mintlify.app/assets/logo/opengraph-image.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Connect a custom MCP server as a chat connector - Lovable Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lovable-f9060f1e.mintlify.app/assets/logo/opengraph-image.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lovable-f9060f1e/AU_uVgnksniw8mje/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lovable Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0095FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lovable.dev/integrations/custom-mcp\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/custom-mcp.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lovable.dev/#organization\",\"name\":\"Lovable Documentation\",\"url\":\"https://docs.lovable.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lovable-f9060f1e/lZT1ihBcprll2Agr/assets/logo/logoblack.svg?fit=max\u0026auto=format\u0026n=lZT1ihBcprll2Agr\u0026q=85\u0026s=8d9eafaf19f94e27f0d13ac160d54f54\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lovable.dev#website\",\"name\":\"Lovable Documentation\",\"url\":\"https://docs.lovable.dev\",\"publisher\":{\"@id\":\"https://docs.lovable.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lovable.dev/integrations/custom-mcp#webpage\",\"url\":\"https://docs.lovable.dev/integrations/custom-mcp\",\"name\":\"Connect a custom MCP server as a chat connector\",\"description\":\"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.\",\"dateModified\":\"2026-10-23T13:49:05.246Z\",\"isPartOf\":{\"@id\":\"https://docs.lovable.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lovable.dev/integrations/custom-mcp#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lovable.dev/integrations/custom-mcp#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connect\",\"item\":\"https://docs.lovable.dev/integrations/app-connectors\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connectors\",\"item\":\"https://docs.lovable.dev/integrations/introduction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Connect a custom MCP server as a chat connector\",\"item\":\"https://docs.lovable.dev/integrations/custom-mcp\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.lovable.dev/integrations/custom-mcp#article\",\"headline\":\"Connect a custom MCP server as a chat connector\",\"name\":\"Connect a custom MCP server as a chat connector\",\"description\":\"Connect any remote MCP server to Lovable as a chat connector. Bring internal tools, private APIs, and custom data sources into the project chat and Chats as live context.\",\"url\":\"https://docs.lovable.dev/integrations/custom-mcp\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lovable.dev/integrations/custom-mcp#webpage\"},\"image\":\"https://docs.lovable.dev/assets/logo/opengraph-image.png\",\"dateModified\":\"2026-10-23T13:49:05.246Z\",\"keywords\":\"custom MCP server, MCP server, Model Context Protocol, remote MCP, chat connector, internal tools, private API, bearer token, OAuth MCP, add MCP server, Lovable static IPs, static IP, egress IP ranges, firewalled MCP server, on-prem MCP server\",\"publisher\":{\"@id\":\"https://docs.lovable.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lovable.dev#website\"}}]}\u003c/script>","siteName":"Lovable Documentation","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Getting started","icon":"rocket","pages":[{"title":"Welcome to Lovable","href":"/introduction/welcome"},{"title":"Create an account","href":"/introduction/create-an-account"},{"title":"Quick start","href":"/introduction/getting-started"},{"title":"Dashboard overview","href":"/introduction/dashboard-overview"},{"title":"Lovable for Enterprise","sidebarTitle":"Enterprise","href":"/introduction/lovable-for-enterprise"},{"group":"Lovable platforms","pages":[{"title":"Lovable desktop app","sidebarTitle":"Lovable desktop app","href":"/integrations/desktop-app"},{"title":"Lovable mobile app","sidebarTitle":"Lovable mobile app","href":"/integrations/lovable-mobile-app"}]},{"group":"Use Lovable from other tools","pages":[{"title":"Lovable API","sidebarTitle":"Lovable API","href":"/integrations/lovable-api"},{"title":"Lovable MCP server","sidebarTitle":"Lovable MCP server","href":"/integrations/lovable-mcp-server"},{"title":"Lovable ChatGPT app","sidebarTitle":"Lovable ChatGPT app","href":"/tips-tricks/chatgpt-app"},{"title":"Chat with Lovable in Slack","sidebarTitle":"Lovable in Slack","href":"/integrations/lovable-for-slack"},{"title":"Chat with Lovable in Telegram","sidebarTitle":"Lovable in Telegram","href":"/tips-tricks/lovable-telegram-bot"},{"title":"Build with URL","href":"/integrations/build-with-url"},{"title":"Sign in with Lovable","sidebarTitle":"Sign in with Lovable","href":"/integrations/sign-in-with-lovable"}]}]},{"group":"Build","icon":"hammer","pages":[{"group":"Projects","root":{"title":"Projects in Lovable","sidebarTitle":"Overview","href":"/features/projects/overview"},"pages":[{"title":"Find your way around the Lovable editor","sidebarTitle":"Editor","href":"/features/projects/editor"},{"title":"Work with Lovable in the project chat","sidebarTitle":"Project chat","href":"/features/projects/chat"},{"title":"Preview and test your app in Lovable","sidebarTitle":"Preview","href":"/features/projects/preview"},{"title":"Explore changes with drafts","sidebarTitle":"Drafts","href":"/features/drafts"},{"title":"View and edit your project's code","sidebarTitle":"Code editor","href":"/features/code-mode"},{"title":"Revert and restore your project with version history","sidebarTitle":"Version history","href":"/features/projects/history"},{"title":"Project settings","sidebarTitle":"Settings","href":"/features/projects/settings"},{"title":"Delete a project","href":"/features/projects/delete-project"},{"title":"Remix a project","sidebarTitle":"Remix","href":"/features/projects/remix"},{"title":"Import a project from Replit, Bolt, v0, or another tool","sidebarTitle":"Import a project","href":"/features/projects/import-project"},{"title":"Import a website into Lovable from its URL","sidebarTitle":"Import a website","href":"/features/projects/import-website"},{"title":"Upgrade a project to TanStack Start","sidebarTitle":"Upgrade to TanStack Start","href":"/features/upgrade-to-tanstack-start"},{"title":"Find and search projects","sidebarTitle":"Find a project","href":"/introduction/project-search-and-find"},{"title":"Organize projects in folders","sidebarTitle":"Folders","href":"/introduction/project-folders"}]},{"title":"Chat with Lovable across your workspace","sidebarTitle":"Chats","href":"/features/chats"},{"group":"The agent","pages":[{"title":"Discuss your app in Chat mode","sidebarTitle":"Chat mode","href":"/features/chat-mode"},{"title":"Plan a change in Plan mode","sidebarTitle":"Plan mode","href":"/features/plan-mode"},{"title":"Implement changes in Build mode","sidebarTitle":"Build mode","href":"/features/agent-mode"},{"title":"Set a goal for Lovable","sidebarTitle":"Goals","href":"/features/goal-runs"},{"title":"Subagents","sidebarTitle":"Subagents","href":"/features/subagents"}]},{"group":"Context \u0026 instructions","pages":[{"title":"Instructions","sidebarTitle":"Instructions","href":"/features/knowledge"},{"title":"Memory: what Lovable remembers as you build","sidebarTitle":"Memory","href":"/features/memory"},{"title":"Define reusable instructions with skills","sidebarTitle":"Skills","href":"/features/skills"},{"title":"Cross-project referencing","href":"/features/cross-project-referencing"}]},{"title":"Generate files and analyze data","sidebarTitle":"File generation","href":"/features/generate-files"},{"group":"Design","pages":[{"title":"Edit from the preview","sidebarTitle":"Preview toolbar","href":"/features/preview-toolbar"},{"title":"Design guidance","href":"/features/design-guidance"},{"title":"Design templates","href":"/features/business/design-templates"},{"title":"Design systems","href":"/features/design-systems"},{"title":"Use custom fonts","sidebarTitle":"Custom fonts","href":"/tips-tricks/custom-fonts"},{"title":"Use 21st.dev components in Lovable","sidebarTitle":"21st.dev","href":"/tips-tricks/21stdev"},{"title":"Bring Figma designs into Lovable","sidebarTitle":"Figma","href":"/integrations/figma"}]},{"group":"Backend","root":{"title":"Built-in backend","sidebarTitle":"Overview","href":"/features/cloud"},"pages":[{"group":"Database","root":{"title":"Database","href":"/features/database"},"pages":[{"title":"Control who can access your app's data","sidebarTitle":"Access and security","href":"/features/database-access"},{"title":"Fix a slow database and choose the right capacity","sidebarTitle":"Performance and capacity","href":"/features/database-performance"},{"title":"Back up, restore, and export your project's database","sidebarTitle":"Backups and export","href":"/features/database-backups"},{"title":"Pause, resume, or remove your project's database","sidebarTitle":"Pause, resume, and remove","href":"/features/database-pause-remove"}]},{"group":"Users \u0026 authentication","root":{"title":"Users and authentication","sidebarTitle":"Users \u0026 authentication","href":"/features/authentication"},"pages":[{"title":"Email authentication for your app","sidebarTitle":"Email auth","href":"/features/email-auth"},{"title":"Phone authentication for your app","sidebarTitle":"Phone auth","href":"/features/phone-auth"},{"title":"Add Google authentication to your app","sidebarTitle":"Google auth","href":"/features/google-auth"},{"title":"Add Apple authentication to your app","sidebarTitle":"Apple auth","href":"/features/apple-auth"},{"title":"Add Microsoft authentication to your app","sidebarTitle":"Microsoft auth","href":"/features/microsoft-auth"},{"title":"Add Sign in with Lovable to your app","sidebarTitle":"Lovable auth","href":"/features/lovable-auth"},{"title":"Add SAML single sign-on to your app","sidebarTitle":"SAML SSO (apps)","href":"/features/saml-sso"},{"title":"Add OpenID Connect (OIDC) sign-in to your app","sidebarTitle":"OIDC sign-in (apps)","href":"/features/oidc-auth"},{"title":"Reuse Lovable workspace identity in your app","sidebarTitle":"Workspace identity (apps)","href":"/features/lovable-workspace-identity-reuse"}]},{"title":"Storage","href":"/features/storage"},{"title":"Secrets","href":"/features/secrets"},{"title":"Jobs","href":"/features/jobs"},{"title":"Edge functions","href":"/features/edge-functions"},{"title":"Logs","href":"/features/logs"},{"title":"Project usage and costs","sidebarTitle":"Usage","href":"/features/project-usage"}]},{"group":"AI for your app","root":{"title":"AI features for your app","sidebarTitle":"AI for your app","href":"/features/ai"},"pages":[{"title":"Add chatbots and text generation to your app","sidebarTitle":"Chat and text","href":"/features/ai-chat"},{"title":"Let users generate and edit images in your app","sidebarTitle":"Images","href":"/features/ai-images"},{"title":"Let users generate and edit videos in your app","sidebarTitle":"Video","href":"/features/ai-video"},{"title":"Let users create music in your app","sidebarTitle":"Music","href":"/features/ai-music"},{"title":"Help users find relevant content in your app","sidebarTitle":"Search by meaning","href":"/features/ai-search"},{"title":"Automate classification, routing, and scoring in your app","sidebarTitle":"Classify and score","href":"/features/ai-decisions"},{"title":"Let users listen to your app's content","sidebarTitle":"Text to speech","href":"/features/ai-text-to-speech"},{"title":"Add transcription and voice input to your app","sidebarTitle":"Speech to text","href":"/features/ai-speech-to-text"},{"title":"Build voice assistants your users can talk to","sidebarTitle":"Live voice","href":"/features/ai-live-voice"},{"title":"Replace deprecated AI models in your app","sidebarTitle":"Deprecated models","href":"/features/ai-deprecated-models"}]},{"group":"Test your app","pages":[{"title":"Test and verify your app","sidebarTitle":"Testing tools","href":"/features/testing"},{"title":"Test your app in a browser","sidebarTitle":"Browser testing","href":"/features/browser-testing"}]},{"group":"Secure your app","root":{"title":"Security overview","href":"/features/security"},"pages":[{"title":"Project security view","sidebarTitle":"Project security view","href":"/features/security-view"},{"title":"Trust center","href":"/features/trust-center"},{"title":"Security best practices for Lovable apps","sidebarTitle":"Security best practices","href":"/tips-tricks/security-best-practices"}]},{"title":"Using npm packages","sidebarTitle":"npm packages","href":"/tips-tricks/npm-packages"},{"title":"Build secrets","tag":"ENT","href":"/features/build-secrets"},{"title":"Managed registry","tag":"ENT","href":"/features/managed-registry"}]},{"group":"Connect","icon":"plug","pages":[{"group":"Connectors","root":{"title":"Lovable connectors: Connect tools, services, and APIs","sidebarTitle":"Overview","href":"/integrations/introduction"},"pages":[{"title":"App + chat connectors: Add capabilities to your published app and your chat","sidebarTitle":"App + chat connectors","href":"/integrations/app-connectors"},{"title":"App user connectors: let your users connect their own accounts","sidebarTitle":"App user connectors","href":"/integrations/app-user-connectors"},{"title":"Create a custom connector","sidebarTitle":"Custom connectors","href":"/integrations/create-connector"},{"title":"Chat connectors: Connect your tools to Lovable using MCP servers","sidebarTitle":"Chat connectors","description":"Connect your own tool accounts to Lovable as chat connectors (MCP servers). Lovable reads real context from tools like Notion, Linear, Jira, or Miro while you build, so results match your actual work.","href":"/integrations/chat-connectors"},{"title":"Connect a custom MCP server as a chat connector","sidebarTitle":"Custom MCP servers","href":"/integrations/custom-mcp"},{"title":"MCP registries","description":"Add an MCP registry to your workspace so members can browse a directory of MCP servers and connect them as chat connectors without pasting URLs.","href":"/integrations/mcp-registries"},{"title":"Manage connectors in your workspace","sidebarTitle":"Admin controls","href":"/integrations/admin-controls"},{"title":"Integration security","href":"/integrations/security"}]},{"group":"Connector catalog","pages":[{"group":"AI \u0026 search","pages":[{"title":"Connect your app to Algolia","sidebarTitle":"Algolia","href":"/integrations/algolia"},{"title":"Connect your app to Apify","sidebarTitle":"Apify","href":"/integrations/apify"},{"title":"Connect ElevenLabs to enable voice AI in your app","sidebarTitle":"ElevenLabs","href":"/integrations/eleven-labs"},{"title":"Connect Firecrawl to scrape web data for your app","sidebarTitle":"Firecrawl","href":"/integrations/firecrawl"},{"title":"Connect your app to Fireworks AI","sidebarTitle":"Fireworks AI","href":"/integrations/fireworks"},{"title":"Connect your app to Gemini Enterprise","sidebarTitle":"Gemini Enterprise","href":"/integrations/gemini-enterprise"},{"title":"Connect your app to LlamaParse Platform","sidebarTitle":"LlamaParse Platform","href":"/integrations/llamaparse"},{"title":"Connect your app to Parallel","sidebarTitle":"Parallel","href":"/integrations/parallel"},{"title":"Connect your app to Perplexity","sidebarTitle":"Perplexity","href":"/integrations/perplexity"},{"title":"Connect your app to Replicate","sidebarTitle":"Replicate","href":"/integrations/replicate"}]},{"group":"Data \u0026 databases","pages":[{"title":"Connect to Supabase","sidebarTitle":"Supabase","href":"/integrations/supabase"},{"title":"Connect your app to Amazon Redshift","sidebarTitle":"Amazon Redshift","href":"/integrations/amazon-redshift"},{"title":"Connect your app to AWS Athena","sidebarTitle":"AWS Athena","href":"/integrations/aws-athena"},{"title":"Connect your app to AWS S3","sidebarTitle":"AWS S3","href":"/integrations/aws-s3"},{"title":"Connect your app to BigQuery","sidebarTitle":"BigQuery","href":"/integrations/bigquery"},{"title":"Connect your app to ClickHouse","sidebarTitle":"ClickHouse","href":"/integrations/clickhouse"},{"title":"Connect your app to Cube","sidebarTitle":"Cube","href":"/integrations/cube"},{"title":"Connect your app to Databricks","sidebarTitle":"Databricks","href":"/integrations/databricks"},{"title":"Connect your app to the dbt Semantic Layer","sidebarTitle":"dbt Semantic Layer","href":"/integrations/dbt-semantic-layer"},{"title":"Connect your app to GoodData","sidebarTitle":"GoodData","href":"/integrations/gooddata"},{"title":"Connect your app to IBM Db2","sidebarTitle":"IBM Db2","href":"/integrations/ibm-db2"},{"title":"Connect your app to Looker","sidebarTitle":"Looker","href":"/integrations/looker"},{"title":"Connect your app to Metabase","sidebarTitle":"Metabase","href":"/integrations/metabase"},{"title":"Connect your app to Microsoft Fabric","sidebarTitle":"Microsoft Fabric","href":"/integrations/microsoft-fabric"},{"title":"Connect your app to MotherDuck","sidebarTitle":"MotherDuck","href":"/integrations/motherduck"},{"title":"Connect your app to Neon","sidebarTitle":"Neon","href":"/integrations/neon"},{"title":"Connect your app to Omni","sidebarTitle":"Omni","href":"/integrations/omni"},{"title":"Connect your app to Oracle Autonomous AI Database","sidebarTitle":"Oracle Autonomous AI Database","href":"/integrations/oracle-autonomous"},{"title":"Connect your app to Power BI","sidebarTitle":"Power BI","href":"/integrations/power-bi"},{"title":"Connect your app to Qlik Cloud","sidebarTitle":"Qlik Cloud","href":"/integrations/qlik-cloud"},{"title":"Connect your app to Snowflake","sidebarTitle":"Snowflake","href":"/integrations/snowflake"}]},{"group":"Communication \u0026 messaging","pages":[{"title":"Connect your app to Brevo","sidebarTitle":"Brevo","href":"/integrations/brevo"},{"title":"Connect your app to Discord","sidebarTitle":"Discord","href":"/integrations/discord"},{"title":"Connect your app to Firebase Cloud Messaging","sidebarTitle":"Firebase Cloud Messaging","href":"/integrations/firebase-cloud-messaging"},{"title":"Connect your app to GatewayAPI","sidebarTitle":"GatewayAPI","href":"/integrations/gatewayapi"},{"title":"Connect your app to Mailgun","sidebarTitle":"Mailgun","href":"/integrations/mailgun"},{"title":"Connect your app to Resend","sidebarTitle":"Resend","href":"/integrations/resend"},{"title":"Connect your app to Slack","sidebarTitle":"Slack","href":"/integrations/slack"},{"title":"Connect your app to Telegram","sidebarTitle":"Telegram","href":"/integrations/telegram"},{"title":"Connect your app to Twilio","sidebarTitle":"Twilio","href":"/integrations/twilio"},{"title":"Connect your app to WhatsApp Business","sidebarTitle":"WhatsApp Business","href":"/integrations/whatsapp"}]},{"group":"CRM \u0026 sales","pages":[{"title":"Connect your app to Apollo.io","sidebarTitle":"Apollo.io","href":"/integrations/apollo"},{"title":"Connect your app to Attention","sidebarTitle":"Attention","href":"/integrations/attention"},{"title":"Connect your app to Clay","sidebarTitle":"Clay","href":"/integrations/clay"},{"title":"Connect your app to Gong","sidebarTitle":"Gong","href":"/integrations/gong"},{"title":"Connect your app to HubSpot","sidebarTitle":"HubSpot","href":"/integrations/hubspot"},{"title":"Connect your app to KLIPY","sidebarTitle":"KLIPY","href":"/integrations/klipy"},{"title":"Connect your app to Pipedrive","sidebarTitle":"Pipedrive","href":"/integrations/pipedrive"},{"title":"Connect your app to Salesforce","sidebarTitle":"Salesforce","href":"/integrations/salesforce"},{"title":"Connect your app to Zendesk","sidebarTitle":"Zendesk","href":"/integrations/zendesk"},{"title":"Connect your app to Zoho CRM","sidebarTitle":"Zoho CRM","href":"/integrations/zoho-crm"}]},{"group":"Developer tools","pages":[{"title":"Connect your app to AWS API","sidebarTitle":"AWS API","href":"/integrations/aws"},{"title":"Connect your app to Azure Cloud API","sidebarTitle":"Azure Cloud API","href":"/integrations/azure"},{"title":"Connect your app to Azure Graph \u0026 Entra API","sidebarTitle":"Azure Graph \u0026 Entra API","href":"/integrations/azure-graph"},{"title":"Connect your app to Cloudflare API","sidebarTitle":"Cloudflare API","href":"/integrations/cloudflare-api"},{"title":"Connect your app to GitHub API","sidebarTitle":"GitHub API","href":"/integrations/github-api"},{"title":"Connect your app to GitLab API","sidebarTitle":"GitLab API","href":"/integrations/gitlab-api"},{"title":"Connect your app to Google Cloud API","sidebarTitle":"Google Cloud API","href":"/integrations/gcp"},{"title":"Connect your app to Inngest","sidebarTitle":"Inngest","href":"/integrations/inngest"},{"title":"Connect your app to Linear","sidebarTitle":"Linear","href":"/integrations/linear"},{"title":"Connect your app to Logo.dev","sidebarTitle":"Logo.dev","href":"/integrations/logo-dev"},{"title":"Connect your app to the Lovable API","sidebarTitle":"Lovable API connector","href":"/integrations/lovable-api-connector"},{"title":"Connect your app to n8n","sidebarTitle":"n8n","href":"/integrations/n8n"}]},{"group":"E-commerce","pages":[{"title":"Connect your app to Lightspeed","sidebarTitle":"Lightspeed","href":"/integrations/lightspeed"},{"title":"Connect your app to PrestaShop","sidebarTitle":"PrestaShop","href":"/integrations/prestashop"},{"title":"Build a Shopify store with AI","sidebarTitle":"Shopify","href":"/integrations/shopify"},{"title":"Connect your app to WooCommerce","sidebarTitle":"WooCommerce","href":"/integrations/woocommerce"}]},{"group":"Finance \u0026 accounting","pages":[{"title":"Connect your app to Lexware","sidebarTitle":"Lexware","href":"/integrations/lexware"},{"title":"Connect your app to Sevdesk","sidebarTitle":"Sevdesk","href":"/integrations/sevdesk"},{"title":"Connect your app to Wave","sidebarTitle":"Wave","href":"/integrations/wave"},{"title":"Connect your app to Xero","sidebarTitle":"Xero","href":"/integrations/xero"},{"title":"Connect your app to Zoho Books","sidebarTitle":"Zoho Books","href":"/integrations/zoho-books"}]},{"group":"Maps \u0026 location","pages":[{"title":"Connect your app to Google Maps Platform","sidebarTitle":"Google Maps Platform","href":"/integrations/google-maps"},{"title":"Connect your app to Mapbox","sidebarTitle":"Mapbox","href":"/integrations/mapbox"}]},{"group":"Marketing \u0026 social","pages":[{"title":"Connect your app to beehiiv","sidebarTitle":"beehiiv","href":"/integrations/beehiiv"},{"title":"Connect your app to Bing Webmaster Tools","sidebarTitle":"Bing Webmaster Tools","href":"/integrations/bing-webmaster-tools"},{"title":"Connect your app to Google Analytics","sidebarTitle":"Google Analytics","href":"/integrations/google-analytics"},{"title":"Connect Google Business Profile to Lovable","sidebarTitle":"Google Business Profile","href":"/integrations/google-business-profile"},{"title":"Connect your app to Google Search Console (GSC)","sidebarTitle":"Google Search Console","href":"/integrations/google-search-console"},{"title":"Connect your app to Klaviyo","sidebarTitle":"Klaviyo","href":"/integrations/klaviyo"},{"title":"Connect your app to LinkedIn","sidebarTitle":"LinkedIn","href":"/integrations/linkedin"},{"title":"Connect your app to Loops","sidebarTitle":"Loops","href":"/integrations/loops"},{"title":"Connect your app to PostHog","sidebarTitle":"PostHog","href":"/integrations/posthog"},{"title":"Connect your app to Semrush","sidebarTitle":"Semrush","href":"/integrations/semrush"},{"title":"Connect your app to TikTok","sidebarTitle":"TikTok","href":"/integrations/tiktok"},{"title":"Connect your app to Twitch","sidebarTitle":"Twitch","href":"/integrations/twitch"},{"title":"Connect your app to X (Twitter)","sidebarTitle":"X (Twitter)","href":"/integrations/x"}]},{"group":"Payments \u0026 billing","pages":[{"title":"Connect your app to Chargebee","sidebarTitle":"Chargebee","href":"/integrations/chargebee"},{"title":"Connect your app to Pledge","sidebarTitle":"Pledge","href":"/integrations/pledge"},{"title":"Connect your app to Ramp","sidebarTitle":"Ramp","href":"/integrations/ramp"},{"title":"Connect your own Stripe account","sidebarTitle":"Stripe","href":"/integrations/stripe"}]},{"group":"Productivity","pages":[{"title":"Connect your app to Airtable","sidebarTitle":"Airtable","href":"/integrations/airtable"},{"title":"Connect your app to Asana","sidebarTitle":"Asana","href":"/integrations/asana"},{"title":"Connect your app to Ashby","sidebarTitle":"Ashby","href":"/integrations/ashby"},{"title":"Connect your app to Calendly","sidebarTitle":"Calendly","href":"/integrations/calendly"},{"title":"Connect your app to Fireflies","sidebarTitle":"Fireflies","href":"/integrations/fireflies"},{"title":"Connect your app to Google Workspace","sidebarTitle":"Google Workspace","href":"/integrations/google-workspace"},{"title":"Connect your app to Granola","sidebarTitle":"Granola","href":"/integrations/granola"},{"title":"Connect your app to incident.io","sidebarTitle":"incident.io","href":"/integrations/incidentio"},{"title":"Connect your app to Microsoft 365","sidebarTitle":"Microsoft","href":"/integrations/microsoft"},{"title":"Build and publish apps to Microsoft Copilot Managed Runtime","sidebarTitle":"Copilot Managed Runtime","href":"/integrations/microsoft-copilot-managed-runtime"},{"title":"Set up your Microsoft tenant for Copilot Managed Runtime","sidebarTitle":"Copilot Managed Runtime tenant setup","href":"/integrations/microsoft-copilot-managed-runtime-tenant-setup"},{"title":"Connect your app to Notion","sidebarTitle":"Notion","href":"/integrations/notion"},{"title":"Connect your app to Scrive for e-signatures and eID","sidebarTitle":"Scrive","href":"/integrations/scrive"},{"title":"Connect your app to Tally","sidebarTitle":"Tally","href":"/integrations/tally"},{"title":"Connect your app to Workday","sidebarTitle":"Workday","href":"/integrations/workday"}]},{"group":"Security \u0026 compliance","pages":[{"title":"Run AI-powered penetration tests with Aikido","sidebarTitle":"Aikido","href":"/integrations/aikido"},{"title":"Scan your projects for vulnerabilities with Wiz","sidebarTitle":"Wiz","href":"/integrations/wiz"}]},{"group":"Websites \u0026 CMS","pages":[{"title":"Connect your app to Contentful","sidebarTitle":"Contentful","href":"/integrations/contentful"},{"title":"Connect your app to Storyblok","sidebarTitle":"Storyblok","href":"/integrations/storyblok"},{"title":"Connect your app to Wix","sidebarTitle":"Wix","href":"/integrations/wix"},{"title":"Connect your app to WordPress (self-hosted)","sidebarTitle":"WordPress (self-hosted)","href":"/integrations/wordpress"},{"title":"Connect your app to WordPress.com","sidebarTitle":"WordPress.com","href":"/integrations/wordpress-com"}]}]},{"title":"Integrate any API with Lovable","sidebarTitle":"Connect any API","href":"/integrations/any-api"},{"group":"Git sync","root":{"title":"Sync your Lovable project code with GitHub, GitLab, or Bitbucket","sidebarTitle":"Git sync overview","href":"/integrations/git-sync-overview"},"pages":[{"title":"Sync your Lovable project with GitHub","sidebarTitle":"GitHub","href":"/integrations/github"},{"title":"Sync your Lovable project with GitLab","sidebarTitle":"GitLab","href":"/integrations/gitlab"},{"title":"Sync your Lovable project with Bitbucket","sidebarTitle":"Bitbucket","href":"/integrations/bitbucket"}]}]},{"group":"Collaborate","icon":"users","pages":[{"title":"Collaboration","href":"/features/collaboration"},{"title":"Share a project with internal or external collaborators","sidebarTitle":"Share a project","href":"/features/share-project"},{"title":"Project comments","sidebarTitle":"Project comments","href":"/features/project-comments"},{"title":"Control project access","sidebarTitle":"Project access","href":"/features/project-visibility"}]},{"group":"Deploy \u0026 host","icon":"globe","pages":[{"title":"How Lovable hosts your app","sidebarTitle":"Hosting","href":"/features/hosting"},{"title":"Publish your Lovable project","sidebarTitle":"Publish","href":"/features/publish"},{"title":"Set up a custom domain","sidebarTitle":"Custom domains","href":"/features/custom-domain"},{"title":"Transfer a domain to Lovable","sidebarTitle":"Transfer a domain","href":"/features/transfer-domain"},{"title":"Publish every app in your workspace under your own domain","sidebarTitle":"Publishing domain","tag":"ENT","href":"/features/publishing-domain"},{"title":"Publish apps with branded URLs","sidebarTitle":"Branded app URLs","href":"/features/branded-workspace-urls"},{"group":"Ownership \u0026 portability","root":{"title":"Deployment, hosting, and ownership options with Lovable","sidebarTitle":"Ownership \u0026 portability","href":"/tips-tricks/deployment-hosting-ownership"},"pages":[{"title":"Deploying and hosting outside Lovable","sidebarTitle":"Host outside Lovable","href":"/tips-tricks/external-deployment-hosting"}]}]},{"group":"Grow \u0026 optimize","icon":"chart-line","pages":[{"title":"Growth tools","sidebarTitle":"Growth tools","href":"/features/growth-tools"},{"title":"Optimize your app for SEO and AI search","sidebarTitle":"SEO and AEO","href":"/features/seo-aeo"},{"title":"Analytics","sidebarTitle":"Analytics","href":"/features/analytics"},{"title":"Advertise your app","sidebarTitle":"Ads","href":"/features/ads"},{"title":"Add payments to your app","sidebarTitle":"Payments","href":"/features/payments"},{"title":"Send branded emails from your own domain","sidebarTitle":"Emails","href":"/features/custom-emails"},{"title":"Publish your app as an MCP server","sidebarTitle":"Agent integrations","href":"/features/agent-integrations"},{"title":"Project monitoring","href":"/features/project-monitoring"}]},{"group":"Workspace \u0026 account","icon":"gear","pages":[{"group":"Workspace","root":{"title":"Lovable workspace","sidebarTitle":"Workspace","href":"/features/workspace"},"pages":[{"title":"Workspace admin settings","sidebarTitle":"Admin settings","href":"/features/workspace-admin-settings"},{"title":"Show an announcement banner to your workspace","sidebarTitle":"Announcements","href":"/features/workspace-announcements"},{"title":"Insights","sidebarTitle":"Insights","href":"/features/insights"},{"title":"Delete a workspace","href":"/introduction/delete-workspace"}]},{"group":"Organizations","root":{"title":"Organizations: run several workspaces as one company","sidebarTitle":"Organizations","tag":"ENT","href":"/features/organizations"},"pages":[{"title":"Set up organization identity: domains, SSO, and SCIM","sidebarTitle":"Organization identity","tag":"ENT","href":"/features/organization-identity"},{"title":"Manage people across the workspaces in your organization","sidebarTitle":"Organization people","tag":"ENT","href":"/features/organization-people"}]},{"group":"Access","pages":[{"title":"Manage workspace members from the People tab","sidebarTitle":"People","href":"/features/people"},{"title":"Groups","href":"/features/groups"},{"group":"Identity","root":{"title":"Manage workspace identity and user provisioning","sidebarTitle":"Workspace identity","href":"/features/workspace-identity"},"pages":[{"title":"Verify a domain for your workspace","sidebarTitle":"Verified domains","href":"/features/verified-domains"},{"title":"Set up workspace single sign-on (SSO)","sidebarTitle":"Workspace SSO","href":"/features/business/sso"},{"title":"Set up enterprise-managed authentication","sidebarTitle":"Enterprise-managed authentication","href":"/features/enterprise-managed-auth"},{"title":"Set up SCIM user provisioning","sidebarTitle":"SCIM provisioning","tag":"ENT","href":"/features/business/scim"}]},{"title":"Create and manage API keys","sidebarTitle":"API keys","href":"/features/api-keys"},{"title":"Connect apps to Lovable with OAuth","sidebarTitle":"OAuth clients","href":"/features/oauth-clients"}]},{"group":"Security","pages":[{"title":"Privacy \u0026 security settings","sidebarTitle":"Privacy \u0026 security","href":"/features/privacy-and-security-settings"},{"title":"Workspace policies","href":"/features/workspace-policies"},{"title":"Action center","href":"/features/action-center"},{"title":"EU inference","sidebarTitle":"EU inference","tag":"ENT","href":"/features/eu-inference"},{"group":"Security center","root":{"title":"Workspace security center","sidebarTitle":"Workspace security center","href":"/features/security-center"},"pages":[{"title":"Security insights","sidebarTitle":"Security insights","href":"/features/security-insights"}]},{"title":"Audit logs","tag":"ENT","href":"/features/audit-logs"},{"group":"Data exports","root":{"title":"Export audit logs to your SIEM or cloud storage","sidebarTitle":"Data exports","tag":"ENT","href":"/features/data-exports"},"pages":[{"title":"Export Lovable logs to Amazon S3","sidebarTitle":"Amazon S3","tag":"ENT","href":"/features/data-exports-amazon-s3"},{"title":"Export Lovable logs to Azure Blob Storage","sidebarTitle":"Azure Blob Storage","tag":"ENT","href":"/features/data-exports-azure-blob-storage"},{"title":"Export Lovable logs to Azure Log Analytics","sidebarTitle":"Azure Log Analytics","tag":"ENT","href":"/features/data-exports-azure-log-analytics"},{"title":"Export Lovable logs to Google Cloud Storage","sidebarTitle":"Google Cloud Storage","tag":"ENT","href":"/features/data-exports-google-cloud-storage"},{"title":"Export Lovable logs to Splunk","sidebarTitle":"Splunk","tag":"ENT","href":"/features/data-exports-splunk"}]},{"title":"Sensitive data scanning","tag":"ENT","href":"/features/sensitive-data-scanning"},{"title":"Manage training data and privacy","sidebarTitle":"Training data and privacy","href":"/features/business/data-opt-out"}]},{"group":"Your account","root":{"title":"Account settings","href":"/introduction/lovable-account-settings"},"pages":[{"title":"Two-factor authentication (2FA)","href":"/introduction/two-factor-authentication-2-fa"},{"title":"Delete account","href":"/introduction/delete-account"}]}]},{"group":"Plans \u0026 billing","icon":"credit-card","pages":[{"title":"Subscription plans","href":"/introduction/subscription-plans"},{"title":"Change or cancel your subscription","href":"/introduction/manage-subscription"},{"title":"Invoices, payments, and billing details","sidebarTitle":"Invoices and billing","href":"/introduction/invoices-and-billing"},{"title":"Credits and usage","href":"/introduction/credits-and-usage"},{"title":"Credit top-ups","href":"/introduction/credit-top-ups"},{"title":"Usage limits and alerts","sidebarTitle":"Usage limits \u0026 alerts","href":"/features/usage-limits-and-alerts"},{"title":"Low credit balance and out-of-credits recovery","sidebarTitle":"Low balance and recovery","href":"/introduction/out-of-credits"}]},{"group":"Guides \u0026 reference","icon":"life-ring","pages":[{"group":"Guides","pages":[{"title":"How to build a real product with Lovable","sidebarTitle":"Idea to product","href":"/tips-tricks/from-idea-to-app"},{"title":"Launch your site on a custom domain","sidebarTitle":"Launch on a custom domain","href":"/tips-tricks/launch-on-a-custom-domain"},{"title":"Prompting best practices","href":"/prompting/prompting-one"},{"title":"Prompt library","href":"/prompting/prompting-library"},{"title":"Debug and improve your app","sidebarTitle":"Debug \u0026 improve","href":"/prompting/prompting-debugging"},{"title":"Edit Google Docs, Sheets, and Slides in Lovable","sidebarTitle":"Edit Google files","href":"/tips-tricks/google-workspace-editing"}]},{"title":"FAQ","href":"/introduction/faq"},{"title":"Glossary","href":"/glossary"},{"title":"Video tutorials and courses","sidebarTitle":"Videos and courses","href":"/introduction/video-tutorials"},{"title":"Support policy","href":"/introduction/support-policy"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Connect a custom MCP server as a chat connector - Lovable Documentation","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":[],"chunks":[]}