lindo.ai
MCP (Model Context Protocol) server for Lindo AI — create websites, pages, and blog posts with AI directly from Claude, Cursor, Kiro, Windsurf, and other MCP-compatible tools.
Quick Start
# Connect this server (installs CLI if needed)
npx -y smithery mcp add lindoai/mcp-server
# Browse available tools
npx -y smithery tool list lindoai/mcp-server
# Get full schema for a tool
npx -y smithery tool get lindoai/mcp-server get_workspace
# Call a tool
npx -y smithery tool call lindoai/mcp-server get_workspace '{}'Direct MCP Connection
Endpoint: https://lindoai.run.tools
Tools (52)
get_workspace— Get details about the current Lindo AI workspace (business name, plan, language, integrations).update_workspace— Update workspace-level settings. Only provided fields are changed.get_workspace_analytics— Get aggregated analytics across all websites in the workspace.get_workspace_team— List workspace team members (owners, team collaborators).add_workspace_team_member— Invite a new team member to this Lindo workspace. Creates a team record and sends a transactional invitation email from…remove_workspace_team_member— Remove a team member from the workspace. Revokes their access.create_client— Create a new client record in the workspace. Only "name" is strictly required; if "email" is omitted, a placeholder add…list_clients— List clients in the workspace, paginated. Returns a{ list, total }result wherelistholds up to 12 items. Use `to…update_client— Update fields on an existing client. Only provided fields are changed.delete_client— Delete a client. This cannot be undone.assign_website— Assign an existing website to a client (grants them access).generate_magic_link— Generate a short-lived magic login link for a client. The link authenticates the client into the Lindo app without a pa…create_website— Start an AI-generated website workflow. This is asynchronous — the tool returns arecord_idimmediately. Poll `check_…list_websites— List websites in the workspace, paginated. Returns a{ list, total }result wherelistholds up to 12 items. Use `t…get_website— Get full details for a single website (business info, theme, domain, activation state).update_website— Update a website's business name and/or description.delete_website— Delete a website. This cannot be undone.update_website_settings— Update structured website settings (business info, theme, robots.txt, socials, custom header/footer code).add_custom_domain— Attach a custom domain to a website (user is responsible for DNS configuration).remove_custom_domain— Remove the custom domain from a website. The site reverts to its default Lindo subdomain.get_website_team— List collaborators with access to a specific website.get_website_analytics— Get analytics (visits, traffic sources, top pages) for a website.create_page— Start an AI-generated page workflow for an existing website. This is asynchronous — the tool returns arecord_idimme…list_pages— List pages on a website, paginated. Returns a{ list, total }result wherelistholds up to 12 items. Usetotal(…get_page— Get details for a single page.update_page— Update page metadata (display name, URL path, SEO). Only provided fields change.delete_page— Delete a page. This cannot be undone.publish_page— Publish a static HTML page at a given path. If a page already exists at that path it will be OVERWRITTEN — any existing…update_page_content— Replace the HTML content of an existing page. This overwrites the previous HTML entirely; the prior content is not pres…unpublish_page— Unpublish a page so it is no longer publicly accessible.get_page_html— Return the raw HTML of a page.create_blog— Start an AI-generated blog post workflow for an existing website. This is asynchronous — the tool returns arecord_id…publish_blog— Publish a new markdown blog post at a given path.list_blogs— List blog posts on a website, paginated. Returns a{ list, total }result wherelistholds up to 12 items. Use `tot…get_blog— Get details for a single blog post.update_blog— Update blog post metadata (name, path, SEO).delete_blog— Delete a blog post. This cannot be undone.update_blog_content— Replace the markdown content of an existing blog post. This overwrites the previous markdown entirely; the prior conten…unpublish_blog— Unpublish a blog post so it is no longer publicly accessible.get_blog_html— Return the rendered HTML of a blog post.check_website_status— Poll the status of a website-creation workflow started bycreate_website. Pass therecord_idyou received from that…check_page_status— Poll the status of a page-creation workflow started bycreate_page. Pass therecord_idyou received from that tool.…check_blog_status— Poll the status of a blog-creation workflow started bycreate_blog. Pass therecord_idyou received from that tool.…batch_create_websites— Start up to 25 website-creation workflows in one request. Returns onerecord_idper item. Poll the combined status wi…batch_create_pages— Start up to 25 page-creation workflows on a single website in one request. Returns onerecord_idper item. Poll with …batch_create_blogs— Start up to 25 blog-creation workflows on a single website in one request. Returns onerecord_idper item. Poll with …batch_check_website_status— Poll up to 25 website-creation workflows at once. Returns a rollupstatus(scheduled/running/complete/partial/errored…batch_check_page_status— Poll up to 25 page-creation workflows at once. Returns a rollupstatusplus a per-item array with the same shape as `…batch_check_blog_status— Poll up to 25 blog-creation workflows at once. Returns a rollupstatusplus a per-item array with the same shape as `…get_credits— Get the workspace's current Lindo credit balance and utilization.get_client_credits— Get the credit balance allocated to a specific client.allocate_credits— Re-allocate existing workspace-owned Lindo credits to a client. This never purchases credits; it only moves balance you…
# Get full input/output schema for a tool
npx -y smithery tool get lindoai/mcp-server