{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"MCP - Connecting Your AI Assistant","description":"Powering your business growth","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"mcp---connecting-your-ai-assistant","__idx":0},"children":["MCP - Connecting Your AI Assistant"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide walks you through connecting an AI assistant to the Lili MCP server so it can access Lili business banking data on behalf of your users."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Lili MCP server uses the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Streamable HTTP transport"]}," with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OAuth 2.0"]}," authentication. Any MCP-compatible client can connect."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":2},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A Lili business account (or accountant account)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["An MCP-compatible AI assistant (Claude, Cursor, Windsurf, OpenClaw, NanoClaw, etc.)"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"claude-desktop","__idx":3},"children":["Claude Desktop"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1--install-mcp-remote","__idx":4},"children":["Step 1 — Install mcp-remote"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mcp-remote"]}," is a small CLI that bridges Claude Desktop (which speaks stdio) to remote HTTP MCP servers."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"npm install -g mcp-remote\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2--edit-the-config-file","__idx":5},"children":["Step 2 — Edit the config file"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open your Claude Desktop configuration file:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["macOS"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["~/Library/Application Support/Claude/claude_desktop_config.json"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Windows"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["%APPDATA%\\Claude\\claude_desktop_config.json"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add the Lili MCP entry under ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mcpServers"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"mcpServers\": {\n    \"lili\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"mcp-remote\",\n        \"https://mcp.lili.co/mcp\"\n      ]\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3--restart-claude-desktop","__idx":6},"children":["Step 3 — Restart Claude Desktop"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quit and reopen Claude Desktop. On the next launch, Claude will start the MCP bridge."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-4--authorize","__idx":7},"children":["Step 4 — Authorize"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The first time you ask Claude a question that uses a Lili tool, a browser window opens to the Lili OAuth authorization page. Log in with your Lili credentials and grant access. The token is stored locally and reused on subsequent sessions."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"cursor","__idx":8},"children":["Cursor"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"cursor://anysphere.cursor-deeplink/mcp/install?name=lili&config=eyJ1cmwiOiJodHRwczovL21jcC5saWxpLmNvL21jcCJ9","style":{"display":"inline-block","backgroundColor":"#00A88F","color":"white","padding":"8px 16px","borderRadius":"6px","textDecoration":"none","fontWeight":"600","marginBottom":"12px","fontSize":"14px"}},"children":["Install in Cursor"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To open Cursor and automatically add the Lili MCP, click the button above. Alternatively, follow the manual steps below:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1--open-mcp-settings","__idx":9},"children":["Step 1 — Open MCP Settings"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In Cursor, open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings"]}," (⌘ + ,) and navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["MCP"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2--add-the-server","__idx":10},"children":["Step 2 — Add the server"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add MCP Server"]}," and enter:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Name"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lili"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Type"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HTTP"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["URL"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://mcp.lili.co/mcp"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Or, if your Cursor version uses a JSON config file (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["~/.cursor/mcp.json"]},"):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"mcpServers\": {\n    \"lili\": {\n      \"url\": \"https://mcp.lili.co/mcp\",\n      \"transport\": \"http\"\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3--authorize","__idx":11},"children":["Step 3 — Authorize"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On first use, Cursor opens a browser tab for Lili OAuth login. Complete the flow to grant access."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"vs-code","__idx":12},"children":["VS Code"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://vscode.dev/redirect/mcp/install?name=lili&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.lili.co%2Fmcp%22%7D","style":{"display":"inline-block","backgroundColor":"#007ACC","color":"white","padding":"8px 16px","borderRadius":"6px","textDecoration":"none","fontWeight":"600","marginBottom":"12px","fontSize":"14px"}},"children":["Install in VS Code"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To open VS Code and automatically add the Lili MCP, click the button above. Alternatively, add the following to your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".vscode/mcp.json"]}," file in your workspace:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"servers\": {\n    \"lili\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.lili.co/mcp\"\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To learn more, see the VS Code ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://code.visualstudio.com/docs/copilot/chat/mcp-servers"},"children":["documentation"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"windsurf","__idx":13},"children":["Windsurf"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings → Cascade → MCP Servers"]}," and add:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"mcpServers\": {\n    \"lili\": {\n      \"serverUrl\": \"https://mcp.lili.co/mcp\"\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Restart Windsurf and authorize via the browser prompt on first use."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"openclaw","__idx":14},"children":["OpenClaw"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["OpenClaw is a container-isolated, self-hosted AI agent platform. To connect OpenClaw to the Lili MCP server, add the server details under the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mcpServers"]}," section of your configuration file (typically ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["~/.openclaw/mcp.json"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["openclaw.json"]},"):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"mcpServers\": {\n    \"lili\": {\n      \"url\": \"https://mcp.lili.co/mcp\",\n      \"transport\": \"streamable-http\"\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Restart the OpenClaw gateway to apply the configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"openclaw gateway restart\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"nanoclaw","__idx":15},"children":["NanoClaw"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["NanoClaw is a secure, lightweight AI agent framework optimized for containerized workflows. To connect NanoClaw to the Lili MCP, configure the server in your NanoClaw configuration file (typically ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nanoclaw.json"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["~/.config/nanoclaw.json"]},"):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"mcpServers\": {\n    \"lili\": {\n      \"url\": \"https://mcp.lili.co/mcp\",\n      \"transport\": \"http\"\n    }\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["NanoClaw will launch and mount the Lili MCP integration automatically into the agent's container environment upon startup."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"other-mcp-clients","__idx":16},"children":["Other MCP Clients"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Any client that supports the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Streamable HTTP"]}," transport (MCP spec 2025-03-26) can connect. Point it at:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://mcp.lili.co/mcp\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The server implements standard OAuth 2.0 discovery at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/.well-known/oauth-authorization-server"]},", so compliant clients can discover all auth endpoints automatically."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"oauth-details","__idx":17},"children":["OAuth Details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Lili MCP uses the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authorization Code"]}," flow with PKCE. Key endpoints:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"URL"},"children":["URL"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Authorization"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://mcp.lili.co/oauth/authorize"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Token"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://mcp.lili.co/oauth/token"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Registration"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://mcp.lili.co/oauth/register"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tokens are scoped to the authenticated user. Refresh tokens are issued automatically, so users typically only need to log in once per device."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"verifying-the-connection","__idx":18},"children":["Verifying the Connection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once connected, ask your AI assistant:"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["\"Use the Lili MCP to tell me my current account balance.\""]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the connection is working, the assistant will call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lili_get_account_summary"]}," and return your balance. If authorization is needed first, a browser window will open."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"troubleshooting","__idx":19},"children":["Troubleshooting"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Browser doesn't open for authorization"]}," ","Some clients require you to manually trigger the OAuth flow. Check your client's MCP settings for a \"Connect\" or \"Authorize\" button."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["\"No active client accounts found\""]}," (accountants)"," ","This message from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["list_customers"]}," means no clients have invited you yet. Ask clients to connect their Lili account to your accountant profile from within the Lili app."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Token expired"]}," ","Re-authorize by removing the saved token in your MCP client settings and reconnecting."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Connection refused"]}," ","Make sure you are using ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://mcp.lili.co/mcp"]}," (not ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/sse"]}," or other paths). The server only accepts Streamable HTTP transport."]}]},"headings":[{"value":"MCP - Connecting Your AI Assistant","id":"mcp---connecting-your-ai-assistant","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Claude Desktop","id":"claude-desktop","depth":2},{"value":"Step 1 — Install mcp-remote","id":"step-1--install-mcp-remote","depth":3},{"value":"Step 2 — Edit the config file","id":"step-2--edit-the-config-file","depth":3},{"value":"Step 3 — Restart Claude Desktop","id":"step-3--restart-claude-desktop","depth":3},{"value":"Step 4 — Authorize","id":"step-4--authorize","depth":3},{"value":"Cursor","id":"cursor","depth":2},{"value":"Step 1 — Open MCP Settings","id":"step-1--open-mcp-settings","depth":3},{"value":"Step 2 — Add the server","id":"step-2--add-the-server","depth":3},{"value":"Step 3 — Authorize","id":"step-3--authorize","depth":3},{"value":"VS Code","id":"vs-code","depth":2},{"value":"Windsurf","id":"windsurf","depth":2},{"value":"OpenClaw","id":"openclaw","depth":2},{"value":"NanoClaw","id":"nanoclaw","depth":2},{"value":"Other MCP Clients","id":"other-mcp-clients","depth":2},{"value":"OAuth Details","id":"oauth-details","depth":2},{"value":"Verifying the Connection","id":"verifying-the-connection","depth":2},{"value":"Troubleshooting","id":"troubleshooting","depth":2}],"frontmatter":{"seo":{"title":"MCP - Connecting Your AI Assistant"}},"lastModified":"2026-05-26T02:51:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/lili-mcp-connect","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}