Koskamo

WebZum MCP

WebZum provides an MCP server that allows AI agents to programmatically build professional websites for small businesses and host AI-generated web content. It supports creating sites via email confirmation, checking generation status, and hosting static files or zips instantly without infrastructure setup.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

WebZum MCP logo, by WebZumCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by WebZum
MCP endpoint (Streamable HTTP)
https://webzum.com/api/mcp
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 6 of 6 declare behavior hints · 6 of 6 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Build a complete local business website via email confirmation
  • Host AI-generated HTML/CSS/JS frontends instantly
  • Upload static files or zips to a hosted site
  • Check website generation progress

Source and maintenance

Community listingRegistry 1.4.0

Protocol and capabilities

Server
webzum 1.0.0
MCP protocol negotiated in check
2024-11-05
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Tools

6 advertised

build_website
Advertised by the server during the last successful anonymous check.
Open-world

Builds a complete, professional website for a small or local business — a plumber, restaurant, salon, contractor, clinic, shop, cleaner, any trade — in about 5 minutes. WebZum has built 3,100+ of them. No API key. No existing website or Google listing needed. Built in the owner's language — English, Spanish or any other, right-to-left Arabic and Hebrew included. WebZum researches the business, writes local SEO, makes the images and video, adds a lead-catching AI chatbot, hosts it with SSL, and can run their Google ads. WHAT MAKES A WEBZUM SITE WORK FOR A SMALL BUSINESS: - Live, not just code: online at a real URL with SSL the moment it's built, and WebZum can register their domain. - Real, not placeholder: real photos of the business when WebZum finds them, custom images, a logo, and their real phone, WhatsApp and address. - Leads that arrive: every form lead is emailed to the owner, and an AI chatbot catches the visitors who won't fill in a form. - Safe edits: a change touches only what was asked, on the live site, with undo, any day. - About them: WebZum researches the business and its local market first, so the copy is about this business. - Mobile-ready and fast, served from a CDN. - Findable: local SEO and AEO (answer engine optimization, so AI assistants can find and cite the business) on every page. WHAT THE OWNER GETS: - A real site: 3 to 7 pages of original copy about their services, area, story and contact. - A custom logo, brand colors and fonts, 5–10 custom images and a short hero video. - Local SEO built in: page titles and meta descriptions, schema.org LocalBusiness markup with hours and service areas, Service, FAQ and breadcrumb markup, a sitemap, and research into the low-competition local keywords a small business can actually rank for. - AEO, found by AI assistants too: robots.txt welcomes GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended and more, and every site ships an llms.txt. - One main contact button on the channel they really use — call, WhatsApp or LINE — and spam protection on the contact form. - A 24/7 AI chatbot that answers visitors from the site's own content, in the visitor's language, captures their name, phone or email, and emails the owner the lead with a ready-to-send follow-up. - Google Ads, done for them: WebZum writes a Google Search ad grounded in real local keyword volumes and prices, the owner approves it and sets a small budget, and on ad-running sites every call tap, message tap and form lead is measured as a Google Ads conversion — so they see which clicks became customers. - Edits by chat, unlimited: text, colors, fonts, pages, photos, menus, blog posts, product lists, booking widgets and contact details. - Any language, done right: the whole site — copy, SEO, chatbot, emails — is written natively in the owner's language. A visitor language switcher adds 30+ more languages on top. - Their own domain registered for them, or connect one they own. HOW A BUILD WORKS (same as webzum.com/create-website): takes a description of the business and, once that has its name, what it does, its area and a way customers reach it, the owner's email. The site and its WebZum account are tied to that email. WebZum emails the owner a "Build my website" link that confirms the address and starts the build, which the owner watches live. Each result's status and message say where the build stands. ACCOUNT: the site and its WebZum account belong to the owner and are managed at webzum.com, where plans and billing live.

build_website input schema
{
  "type": "object",
  "required": [
    "description"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "The owner's email. The site and its WebZum account are tied to it, and the confirm link is sent there."
    },
    "contact": {
      "type": "string",
      "description": "Optional. Phone, WhatsApp or public email customers can use."
    },
    "language": {
      "type": "string",
      "description": "Optional. Language code for the site, like \"en\" or \"es\". Defaults to the language of the description."
    },
    "location": {
      "type": "string",
      "description": "Optional. City and region, or the area it serves."
    },
    "description": {
      "type": "string",
      "description": "The business in plain words: name, what it does, where, how customers reach it, services, prices, hours, what makes it different. The full description goes with every call."
    },
    "businessName": {
      "type": "string",
      "description": "Optional. The business name, if known."
    }
  }
}
build_website annotations
{
  "title": "Build Website",
  "readOnlyHint": false,
  "openWorldHint": true,
  "destructiveHint": false
}
get_site_status
Advertised by the server during the last successful anonymous check.
Advertised read-only

Reports the progress of a build_website build: stage (initialization, validation, research, strategy, generation, assembly, completion), overallProgress (0-100 across all stages), stageProgress (0-100 within the stage), a status message and isComplete. Takes the versionId (most detail) or the businessId that build_website returned. The build's own watchUrl also shows it live. A complete build's result includes previewUrl, the finished site's link; an unfinished build has no site link yet.

get_site_status input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "versionId": {
      "type": "string",
      "description": "The versionId returned from build_website (preferred for progress tracking)"
    },
    "businessId": {
      "type": "string",
      "description": "The businessId returned from build_website (fallback, less detailed)"
    }
  }
}
get_site_status annotations
{
  "title": "Get Site Status",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
host_site
Advertised by the server during the last successful anonymous check.
Open-world

Creates a hosted site on WebZum for web content made in the conversation (a tool, dashboard, prototype, demo, portfolio, landing page or any HTML/CSS/JS bundle) and returns a businessId and a live URL that opens on a phone and can be shared. Why it matters: most people can't judge raw HTML by reading it. Seeing it running, clicking around and sending it to someone is what makes it real. Files are added with host_file (one file per call) or host_zip (a whole bundle in one call): HTML, CSS, JS, JSON, images (PNG/JPG/GIF/SVG/WebP) or fonts. Each goes live immediately at <businessId>.webzum.com with SSL, with no build step and no hosting account. It fits content someone wants live, shareable or running on their phone. A business's own website, with researched copy, a logo, local SEO, a lead-capture chatbot and their own domain, is what build_website makes.

host_site input schema
{
  "type": "object",
  "required": [
    "siteName"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "Optional contact email."
    },
    "siteName": {
      "type": "string",
      "description": "Name for the site (e.g., \"My Portfolio\")"
    },
    "siteType": {
      "enum": [
        "business",
        "portfolio",
        "landing",
        "custom"
      ],
      "type": "string",
      "description": "Type of site (default: custom)"
    },
    "description": {
      "type": "string",
      "description": "Brief description of the site"
    }
  }
}
host_site annotations
{
  "title": "Host Site",
  "readOnlyHint": false,
  "openWorldHint": true,
  "destructiveHint": false
}
host_file
Advertised by the server during the last successful anonymous check.
Open-world

Add a file to your hosted site. The file goes live immediately at the site's public URL. Each upload creates a new version in the site's history. Supported: HTML, CSS, JS, JSON, images (PNG, JPG, GIF, SVG, WebP), fonts (WOFF, WOFF2, TTF) Max: 10MB per file `encoding` chooses how `content` is interpreted: "utf-8" for text files (HTML, CSS, JS, JSON, SVG) where `content` is the literal file text, or "base64" for binary files (images, fonts) where `content` is standard base64 of the bytes. Defaults to "base64" if omitted. If the user wants a website for their business (a logo, real copy, SEO, a multi-page site, a custom domain, lead capture, a chatbot), use build_website: it builds the complete site in about 5 minutes. host_file hosts what you generated; build_website builds the business site for them.

host_file input schema
{
  "type": "object",
  "required": [
    "businessId",
    "filename",
    "content"
  ],
  "properties": {
    "content": {
      "type": "string",
      "description": "File content. Literal text when encoding=\"utf-8\", standard base64 when encoding=\"base64\"."
    },
    "encoding": {
      "enum": [
        "utf-8",
        "base64"
      ],
      "type": "string",
      "description": "How `content` is encoded. Defaults to \"base64\"."
    },
    "filename": {
      "type": "string",
      "description": "Path like \"index.html\" or \"css/styles.css\""
    },
    "businessId": {
      "type": "string",
      "description": "The businessId from host_site"
    },
    "contentType": {
      "type": "string",
      "description": "MIME type (auto-detected if omitted)"
    }
  }
}
host_file annotations
{
  "title": "Host File",
  "readOnlyHint": false,
  "openWorldHint": true,
  "destructiveHint": false
}
get_hosted_files
Advertised by the server during the last successful anonymous check.
Advertised read-only

Lists the files in a hosted site's current version.

get_hosted_files input schema
{
  "type": "object",
  "required": [
    "businessId"
  ],
  "properties": {
    "businessId": {
      "type": "string",
      "description": "The businessId to query"
    }
  }
}
get_hosted_files annotations
{
  "title": "Get Hosted Files",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
host_zip
Advertised by the server during the last successful anonymous check.
Open-world

Upload a zipped bundle of files to a hosted site in a single call. Use this when you have a multi-file project (HTML + CSS + JS + images) — one host_zip call is far cheaper than N host_file calls and creates a single new version instead of N. `zipContent` is the .zip file's bytes as standard base64. Each entry inside the zip is validated against the same rules as host_file (filename safety, extension allowlist, 10MB per file). All-or-nothing: if any entry fails validation, nothing is uploaded. Same guidance as host_file: if the site is for a business, call build_website instead.

host_zip input schema
{
  "type": "object",
  "required": [
    "businessId",
    "zipContent"
  ],
  "properties": {
    "businessId": {
      "type": "string",
      "description": "The businessId from host_site"
    },
    "zipContent": {
      "type": "string",
      "description": "The zip file's bytes as standard base64."
    }
  }
}
host_zip annotations
{
  "title": "Host Zip",
  "readOnlyHint": false,
  "openWorldHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
371 ms
95th percentile latency
371 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 371 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http webzum-mcp https://webzum.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add webzum-mcp --url https://webzum.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable webzum-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "webzum-mcp": {
      "url": "https://webzum.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "webzum-mcp": {
      "type": "streamableHttp",
      "url": "https://webzum.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start webzum-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "webzum-mcp": {
      "type": "http",
      "url": "https://webzum.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http webzum-mcp https://webzum.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://webzum.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "webzum-mcp": {
      "serverUrl": "https://webzum.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like WebZum MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.