CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Lindo AI

lindoai/mcp-server
52 toolsauthSTDIO, HTTPregistry active
Summary

Connects Claude and other MCP clients directly to the Lindo AI platform for building and managing AI-generated websites. You get tools to create sites from prompts, add pages, publish blog posts with markdown, and handle client management including magic link generation and credit allocation. Scheduling support lets you queue website and content creation workflows for future execution via ISO 8601 timestamps. Requires a Business or Whitelabel Lindo plan and runs via npx or their hosted remote endpoint at mcp.lindo.ai. Useful if you're running a web agency or managing multiple client sites and want to automate site creation and content publishing without leaving your editor or chat interface.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

52 tools
get_workspaceGet details about the current Lindo AI workspace (business name, plan, language, integrations).

Get details about the current Lindo AI workspace (business name, plan, language, integrations).

No parameter schema in public metadata yet.

update_workspaceUpdate workspace-level settings. Only provided fields are changed.3 params

Update workspace-level settings. Only provided fields are changed.

Parameters* required
languagestring
ISO 639-1 language code, e.g. "en".
business_namestring
New business / workspace name.
default_currencystring
ISO 4217 currency code, e.g. "USD", "EUR".
get_workspace_analyticsGet aggregated analytics across all websites in the workspace.

Get aggregated analytics across all websites in the workspace.

No parameter schema in public metadata yet.

get_workspace_teamList workspace team members (owners, team collaborators).

List workspace team members (owners, team collaborators).

No parameter schema in public metadata yet.

add_workspace_team_memberInvite a new team member to this Lindo workspace. Creates a team record and sends a transactional invitation email from Lindo to the provided address. The email contains a link to accept the invite and join the workspace. It is not a marketing or cold email; the tool should on...2 params

Invite a new team member to this Lindo workspace. Creates a team record and sends a transactional invitation email from Lindo to the provided address. The email contains a link to accept the invite and join the workspace. It is not a marketing or cold email; the tool should on...

Parameters* required
rolestring
Role for the new member. Only "Team" is supported for workspace-level team members.one of Team
emailstring
Email address of the person to invite.
remove_workspace_team_memberRemove a team member from the workspace. Revokes their access.1 params

Remove a team member from the workspace. Revokes their access.

Parameters* required
member_idstring
Team member record ID returned by get_workspace_team.
create_clientCreate a new client record in the workspace. Only "name" is strictly required; if "email" is omitted, a placeholder address is generated so the record can be created. This tool does not send any email — use generate_magic_link separately if you need to share login access with...3 params

Create a new client record in the workspace. Only "name" is strictly required; if "email" is omitted, a placeholder address is generated so the record can be created. This tool does not send any email — use generate_magic_link separately if you need to share login access with...

Parameters* required
namestring
Client display name, e.g. "Acme Inc." or "John Smith".
emailstring
Client contact email. Optional — a placeholder is generated if not provided.
phonestring
Client phone number (optional).
list_clientsList clients in the workspace, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages.2 params

List clients in the workspace, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages.

Parameters* required
pageinteger
1-indexed page number. Defaults to 1.
searchstring
Optional free-text filter applied to client name and email.
update_clientUpdate fields on an existing client. Only provided fields are changed.4 params

Update fields on an existing client. Only provided fields are changed.

Parameters* required
namestring
New client name.
emailstring
New client email.
phonestring
New client phone number.
record_idstring
Client record ID (returned by list_clients or create_client).
delete_clientDelete a client. This cannot be undone.1 params

Delete a client. This cannot be undone.

Parameters* required
record_idstring
Client record ID to delete.
assign_websiteAssign an existing website to a client (grants them access).2 params

Assign an existing website to a client (grants them access).

Parameters* required
client_idstring
Client ID that should own / manage the website.
website_idstring
Website ID to assign.
generate_magic_linkGenerate a short-lived magic login link for a client. The link authenticates the client into the Lindo app without a password and expires automatically.1 params

Generate a short-lived magic login link for a client. The link authenticates the client into the Lindo app without a password and expires automatically.

Parameters* required
client_idstring
Client ID to generate a login link for.
create_websiteStart an AI-generated website workflow. This is asynchronous — the tool returns a `record_id` immediately. Poll `check_website_status` with that `record_id` to track progress and get the final result. Optionally assigns the website to an existing or new client.5 params

Start an AI-generated website workflow. This is asynchronous — the tool returns a `record_id` immediately. Poll `check_website_status` with that `record_id` to track progress and get the final result. Optionally assigns the website to an existing or new client.

Parameters* required
promptstring
Description of the website to create (business, audience, style, pages).
client_idstring
Existing client ID to assign the website to.
client_namestring
Client name, used when creating a new client with client_email.
schedule_atstring
Optional ISO 8601 UTC timestamp to schedule generation for later, e.g. '2026-05-10T14:30:00Z'.
client_emailstring
Client email. Looks up existing client or creates one (use with client_name).
list_websitesList websites in the workspace, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages.2 params

List websites in the workspace, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages.

Parameters* required
pageinteger
1-indexed page number. Defaults to 1.
searchstring
Optional free-text filter applied to business name and preview URL.
get_websiteGet full details for a single website (business info, theme, domain, activation state).1 params

Get full details for a single website (business info, theme, domain, activation state).

Parameters* required
website_idstring
Website ID (e.g. 'webWD4bkJrgKERaOAvh').
update_websiteUpdate a website's business name and/or description.3 params

Update a website's business name and/or description.

Parameters* required
record_idstring
Website record ID.
business_namestring
New business name.
business_descriptionstring
New business description.
delete_websiteDelete a website. This cannot be undone.1 params

Delete a website. This cannot be undone.

Parameters* required
record_idstring
Website record ID to delete.
update_website_settingsUpdate structured website settings (business info, theme, robots.txt, socials, custom header/footer code).2 params

Update structured website settings (business info, theme, robots.txt, socials, custom header/footer code).

Parameters* required
settingsobject
Website settings. Only provided fields are updated.
website_idstring
Website ID.
add_custom_domainAttach a custom domain to a website (user is responsible for DNS configuration).2 params

Attach a custom domain to a website (user is responsible for DNS configuration).

Parameters* required
domainstring
Bare domain without protocol, e.g. 'example.com'.
website_idstring
Website ID.
remove_custom_domainRemove the custom domain from a website. The site reverts to its default Lindo subdomain.1 params

Remove the custom domain from a website. The site reverts to its default Lindo subdomain.

Parameters* required
website_idstring
Website ID.
get_website_teamList collaborators with access to a specific website.1 params

List collaborators with access to a specific website.

Parameters* required
website_idstring
Website ID.
get_website_analyticsGet analytics (visits, traffic sources, top pages) for a website.1 params

Get analytics (visits, traffic sources, top pages) for a website.

Parameters* required
website_idstring
Website ID.
create_pageStart an AI-generated page workflow for an existing website. This is asynchronous — the tool returns a `record_id` immediately. Poll `check_page_status` with that `record_id` to track progress and get the final result.3 params

Start an AI-generated page workflow for an existing website. This is asynchronous — the tool returns a `record_id` immediately. Poll `check_page_status` with that `record_id` to track progress and get the final result.

Parameters* required
promptstring
Description of the page to create (purpose, sections, tone).
website_idstring
Website ID.
schedule_atstring
Optional ISO 8601 UTC timestamp to schedule generation.
list_pagesList pages on a website, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages. Only pages created via the API/SDK are returned.3 params

List pages on a website, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages. Only pages created via the API/SDK are returned.

Parameters* required
pageinteger
1-indexed page number. Defaults to 1.
searchstring
Optional free-text filter applied to page name and URL path.
website_idstring
Website ID.
get_pageGet details for a single page.2 params

Get details for a single page.

Parameters* required
page_idstring
Page ID.
website_idstring
Website ID.
update_pageUpdate page metadata (display name, URL path, SEO). Only provided fields change.5 params

Update page metadata (display name, URL path, SEO). Only provided fields change.

Parameters* required
seoobject
SEO metadata for the page or blog post.
namestring
Display name of the page.
pathstring
URL path of the page, e.g. '/about'.
page_idstring
Page ID.
website_idstring
Website ID.
delete_pageDelete a page. This cannot be undone.2 params

Delete a page. This cannot be undone.

Parameters* required
page_idstring
Page ID.
website_idstring
Website ID.
publish_pagePublish a static HTML page at a given path. If a page already exists at that path it will be OVERWRITTEN — any existing content is replaced.4 params

Publish a static HTML page at a given path. If a page already exists at that path it will be OVERWRITTEN — any existing content is replaced.

Parameters* required
pathstring
URL path for the page, e.g. '/about'.
page_titlestring
Page title (title tag).
website_idstring
Website ID.
page_contentstring
HTML body for the page.
update_page_contentReplace the HTML content of an existing page. This overwrites the previous HTML entirely; the prior content is not preserved. Optionally updates SEO metadata.4 params

Replace the HTML content of an existing page. This overwrites the previous HTML entirely; the prior content is not preserved. Optionally updates SEO metadata.

Parameters* required
seoobject
SEO metadata for the page or blog post.
page_idstring
Page ID.
website_idstring
Website ID.
page_contentstring
New HTML body for the page.
unpublish_pageUnpublish a page so it is no longer publicly accessible.2 params

Unpublish a page so it is no longer publicly accessible.

Parameters* required
page_idstring
Page ID.
website_idstring
Website ID.
get_page_htmlReturn the raw HTML of a page.2 params

Return the raw HTML of a page.

Parameters* required
page_idstring
Page ID.
website_idstring
Website ID.
create_blogStart an AI-generated blog post workflow for an existing website. This is asynchronous — the tool returns a `record_id` immediately. Poll `check_blog_status` with that `record_id` to track progress and get the final result.3 params

Start an AI-generated blog post workflow for an existing website. This is asynchronous — the tool returns a `record_id` immediately. Poll `check_blog_status` with that `record_id` to track progress and get the final result.

Parameters* required
promptstring
Description of the blog post to generate.
website_idstring
Website ID.
schedule_atstring
Optional ISO 8601 UTC timestamp to schedule generation.
publish_blogPublish a new markdown blog post at a given path.8 params

Publish a new markdown blog post at a given path.

Parameters* required
pathstring
URL path for the blog post, e.g. '/blog/hello-world'.
authorstring
Author display name.
excerptstring
Short summary shown in blog listings.
categorystring
Blog category label, e.g. "Product".
page_titlestring
Title of the blog post (title tag).
website_idstring
Website ID.
blog_contentstring
Markdown body of the blog post.
publish_datestring
Publish date. Prefer ISO 8601 UTC ("2026-05-05T12:00:00Z") or human-readable ("May 5, 2026").
list_blogsList blog posts on a website, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages. Only blog posts created via the API/SDK are returned.3 params

List blog posts on a website, paginated. Returns a `{ list, total }` result where `list` holds up to 12 items. Use `total` (the true, filter-aware count) with the `page` argument to fetch additional pages. Only blog posts created via the API/SDK are returned.

Parameters* required
pageinteger
1-indexed page number. Defaults to 1.
searchstring
Optional free-text filter applied to blog post name and URL path.
website_idstring
Website ID.
get_blogGet details for a single blog post.2 params

Get details for a single blog post.

Parameters* required
blog_idstring
Blog post ID.
website_idstring
Website ID.
update_blogUpdate blog post metadata (name, path, SEO).5 params

Update blog post metadata (name, path, SEO).

Parameters* required
seoobject
SEO metadata for the page or blog post.
namestring
Display name.
pathstring
URL path, e.g. '/blog/hello-world'.
blog_idstring
Blog post ID.
website_idstring
Website ID.
delete_blogDelete a blog post. This cannot be undone.2 params

Delete a blog post. This cannot be undone.

Parameters* required
blog_idstring
Blog post ID.
website_idstring
Website ID.
update_blog_contentReplace the markdown content of an existing blog post. This overwrites the previous markdown entirely; the prior content is not preserved. Optionally updates SEO and blog settings.5 params

Replace the markdown content of an existing blog post. This overwrites the previous markdown entirely; the prior content is not preserved. Optionally updates SEO and blog settings.

Parameters* required
seoobject
SEO metadata for the page or blog post.
blog_idstring
Blog post ID.
website_idstring
Website ID.
blog_contentstring
New markdown body.
blog_settingsobject
Blog-post-specific display settings.
unpublish_blogUnpublish a blog post so it is no longer publicly accessible.2 params

Unpublish a blog post so it is no longer publicly accessible.

Parameters* required
blog_idstring
Blog post ID.
website_idstring
Website ID.
get_blog_htmlReturn the rendered HTML of a blog post.2 params

Return the rendered HTML of a blog post.

Parameters* required
blog_idstring
Blog post ID.
website_idstring
Website ID.
check_website_statusPoll the status of a website-creation workflow started by `create_website`. Pass the `record_id` you received from that tool. While the workflow is running, call this tool again after `poll_after_ms` milliseconds. Once `done` is true, `status` is `complete` (all pages generate...1 params

Poll the status of a website-creation workflow started by `create_website`. Pass the `record_id` you received from that tool. While the workflow is running, call this tool again after `poll_after_ms` milliseconds. Once `done` is true, `status` is `complete` (all pages generate...

Parameters* required
record_idstring
Workflow record_id returned by create_website.
check_page_statusPoll the status of a page-creation workflow started by `create_page`. Pass the `record_id` you received from that tool. While the workflow is running, call this tool again after `poll_after_ms` milliseconds. Once `done` is true, `status` is `complete` or `errored`; when comple...1 params

Poll the status of a page-creation workflow started by `create_page`. Pass the `record_id` you received from that tool. While the workflow is running, call this tool again after `poll_after_ms` milliseconds. Once `done` is true, `status` is `complete` or `errored`; when comple...

Parameters* required
record_idstring
Workflow record_id returned by create_page.
check_blog_statusPoll the status of a blog-creation workflow started by `create_blog`. Pass the `record_id` you received from that tool. While the workflow is running, call this tool again after `poll_after_ms` milliseconds. Once `done` is true, `status` is `complete` or `errored`; when comple...1 params

Poll the status of a blog-creation workflow started by `create_blog`. Pass the `record_id` you received from that tool. While the workflow is running, call this tool again after `poll_after_ms` milliseconds. Once `done` is true, `status` is `complete` or `errored`; when comple...

Parameters* required
record_idstring
Workflow record_id returned by create_blog.
batch_create_websitesStart up to 25 website-creation workflows in one request. Returns one `record_id` per item. Poll the combined status with `batch_check_website_status`, or the individual statuses with `check_website_status`.1 params

Start up to 25 website-creation workflows in one request. Returns one `record_id` per item. Poll the combined status with `batch_check_website_status`, or the individual statuses with `check_website_status`.

Parameters* required
itemsarray
Between 1 and 25 website creation requests.
batch_create_pagesStart up to 25 page-creation workflows on a single website in one request. Returns one `record_id` per item. Poll with `batch_check_page_status` or `check_page_status`.2 params

Start up to 25 page-creation workflows on a single website in one request. Returns one `record_id` per item. Poll with `batch_check_page_status` or `check_page_status`.

Parameters* required
itemsarray
Between 1 and 25 page creation requests.
website_idstring
Website the pages will be added to.
batch_create_blogsStart up to 25 blog-creation workflows on a single website in one request. Returns one `record_id` per item. Poll with `batch_check_blog_status` or `check_blog_status`.2 params

Start up to 25 blog-creation workflows on a single website in one request. Returns one `record_id` per item. Poll with `batch_check_blog_status` or `check_blog_status`.

Parameters* required
itemsarray
Between 1 and 25 blog post creation requests.
website_idstring
Website the blog posts will be added to.
batch_check_website_statusPoll up to 25 website-creation workflows at once. Returns a rollup `status` (scheduled/running/complete/partial/errored) plus a per-item array with the same shape as `check_website_status`.1 params

Poll up to 25 website-creation workflows at once. Returns a rollup `status` (scheduled/running/complete/partial/errored) plus a per-item array with the same shape as `check_website_status`.

Parameters* required
record_idsarray
Up to 25 website workflow record_ids to check.
batch_check_page_statusPoll up to 25 page-creation workflows at once. Returns a rollup `status` plus a per-item array with the same shape as `check_page_status`.1 params

Poll up to 25 page-creation workflows at once. Returns a rollup `status` plus a per-item array with the same shape as `check_page_status`.

Parameters* required
record_idsarray
Up to 25 page workflow record_ids to check.
batch_check_blog_statusPoll up to 25 blog-creation workflows at once. Returns a rollup `status` plus a per-item array with the same shape as `check_blog_status`.1 params

Poll up to 25 blog-creation workflows at once. Returns a rollup `status` plus a per-item array with the same shape as `check_blog_status`.

Parameters* required
record_idsarray
Up to 25 blog workflow record_ids to check.
get_creditsGet the workspace's current Lindo credit balance and utilization.

Get the workspace's current Lindo credit balance and utilization.

No parameter schema in public metadata yet.

get_client_creditsGet the credit balance allocated to a specific client.1 params

Get the credit balance allocated to a specific client.

Parameters* required
client_idstring
Client ID.
allocate_creditsRe-allocate existing workspace-owned Lindo credits to a client. This never purchases credits; it only moves balance you already own.5 params

Re-allocate existing workspace-owned Lindo credits to a client. This never purchases credits; it only moves balance you already own.

Parameters* required
notesstring
Optional notes for audit trail.
amountinteger
Number of credits to allocate (positive integer).
sourcestring
Optional free-form source tag for audit trail.
client_idstring
Client ID to allocate credits to.
credit_typestring
Which bucket to allocate from.one of monthly · purchased · daily

@lindoai/mcp-server

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.

Listed in the official MCP Registry as io.github.lindoai/mcp-server.

mcp-server MCP server smithery badge

Setup

Add to your MCP client configuration:

{
  "mcpServers": {
    "lindo": {
      "command": "npx",
      "args": ["-y", "@lindoai/mcp-server"],
      "env": {
        "LINDO_API_KEY": "your_api_key_here"
      }
    }
  }
}

Where to add this config

ClientConfig file
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
Claude Code.claude/settings.json
Cursor.cursor/mcp.json
Kiro.kiro/settings/mcp.json
WindsurfMCP settings in IDE

Getting your API key

  1. Go to app.lindo.ai
  2. Navigate to Workspace Settings → API Keys
  3. Create a new API key
  4. Copy the key and paste it as LINDO_API_KEY

Requires a Business or Whitelabel plan.

Available Tools

Websites

  • create_website — Create a new website using AI from a text prompt
  • list_websites — List all websites in your workspace

Pages

  • edit_website — Edit an existing website (across its pages) using AI
  • publish_blog — Publish a static blog post with markdown content

Blog

  • create_blog — Generate a blog post on a website using AI

Clients

  • create_client — Create a new client
  • list_clients — List all clients
  • assign_website — Assign a website to a client
  • generate_magic_link — Generate a client login link

Credits

  • allocate_credits — Allocate credits to a client

Scheduling

The create_website, edit_website, and create_blog tools support an optional schedule_at parameter (ISO 8601 datetime) to schedule the workflow for a future time.

Remote MCP Server

You can also connect via the remote MCP endpoint without installing anything:

https://mcp.lindo.ai/mcp

Links

  • Lindo AI
  • API Documentation
  • Dashboard
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

LINDO_API_KEY*secret

Lindo AI API key. Create one at https://app.lindo.ai under Workspace Settings → API Keys. Requires a Business or Whitelabel plan.

Registryactive
Package@lindoai/mcp-server
TransportSTDIO, HTTP
AuthRequired
UpdatedMay 12, 2026
View on GitHub