# 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

```bash
# 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 where `list` holds 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 a `record_id` immediately. Poll `check_…
- `list_websites` — List websites in the workspace, paginated. Returns a `{ list, total }` result where `list` holds 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 a `record_id` imme…
- `list_pages` — List pages on a website, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (…
- `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 a `record_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 where `list` holds 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 by `create_website`. Pass the `record_id` you received from that…
- `check_page_status` — Poll the status of a page-creation workflow started by `create_page`. Pass the `record_id` you received from that tool.…
- `check_blog_status` — Poll the status of a blog-creation workflow started by `create_blog`. Pass the `record_id` you received from that tool.…
- `batch_create_websites` — Start up to 25 website-creation workflows in one request. Returns one `record_id` per item. Poll the combined status wi…
- `batch_create_pages` — Start up to 25 page-creation workflows on a single website in one request. Returns one `record_id` per item. Poll with …
- `batch_create_blogs` — Start up to 25 blog-creation workflows on a single website in one request. Returns one `record_id` per item. Poll with …
- `batch_check_website_status` — Poll up to 25 website-creation workflows at once. Returns a rollup `status` (scheduled/running/complete/partial/errored…
- `batch_check_page_status` — Poll up to 25 page-creation workflows at once. Returns a rollup `status` plus a per-item array with the same shape as `…
- `batch_check_blog_status` — Poll up to 25 blog-creation workflows at once. Returns a rollup `status` plus 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…

```bash
# Get full input/output schema for a tool
npx -y smithery tool get lindoai/mcp-server <tool-name>
```
