- name
- sitemd
- description
- Build and manage websites from Markdown. Create pages, generate content, configure settings, and deploy — all through MCP tools.
- homepage
- https://sitemd.cc
- metadata
- openclaw
- primaryEnv
- SITEMD_TOKEN
sitemd
Build websites from Markdown with MCP tools. Works as an OpenClaw skill or plugin — your agent can create, manage, and deploy websites through conversation.
First Steps
- If no binary (
sitemd/sitemddoes not exist) — run./sitemd/installto download it - Call
sitemd_statusto understand the project state - If fresh project — read files in
pages/, then create pages withsitemd_pages_create - Call
sitemd_site_contextwith a content type to get site identity, conventions, and existing pages - Validate with
sitemd_content_validate - Deploy with
sitemd_deploy
Authentication
sitemd uses email magic links. When your owner needs to log in:
- Call
sitemd_auth_login— returns a browser URL - Send the URL to your owner as a message (WhatsApp, Telegram, Discord, etc.)
- They tap the link and complete login in their browser
- Call
sitemd_auth_pollevery few seconds until it returnsapproved
For automated deploys, use sitemd_auth_api_key to create a long-lived key, then set SITEMD_TOKEN in your environment.
Project Structure
sitemd— Compiled binary (run./sitemd/sitemd launch)install— Bootstrap script (run./sitemd/installto download binary)pages/— Markdown content files with YAML frontmattersettings/— Site configuration (YAML frontmatter in.mdfiles)theme/— CSS and HTML templatesmedia/— Images and assetssite/— Built output
MCP Tools
| Tool | Purpose |
|---|---|
sitemd_status | Project state overview |
sitemd_pages_create | Create new pages (writes file + nav + groups) |
sitemd_pages_create_batch | Create multiple pages in one call |
sitemd_pages_delete | Delete a page (cleans up nav + groups) |
sitemd_groups_add_pages | Add pages to group sidebar |
sitemd_site_context | Site identity, pages, conventions |
sitemd_content_validate | Validate content quality |
sitemd_seo_audit | SEO health check with scored report |
sitemd_init | Initialize project from template |
sitemd_build | Build without deploying |
sitemd_deploy | Build and deploy site |
sitemd_activate | Activate site (permanent) |
sitemd_clone | Clone an existing website |
sitemd_config_set | Set backend config (routes secrets vs non-secrets) |
sitemd_auth_login | Start login flow |
sitemd_auth_poll | Poll for login completion |
sitemd_auth_status | Check auth state and license info |
sitemd_auth_api_key | Create API key for automation |
sitemd_auth_setup | Enable user authentication |
sitemd_update_check | Check for updates |
sitemd_update_apply | Apply updates |
Read pages, settings, and groups files directly — no MCP tool needed for reads.
Settings Files
All configuration is in settings/*.md frontmatter:
| File | Controls |
|---|---|
| meta.md | Site title, brand name, description, URL |
| header.md | Navigation items, brand display, search |
| footer.md | Footer links, copyright, social |
| groups.md | Page groups for sidebars and dropdowns |
| theme.md | Colors, fonts, layout, light/dark/paper modes |
| build.md | Dev server port, output directory |
| deploy.md | Domain, deploy target |
| seo.md | OG images, sitemaps, structured data |
Content Types
sitemd supports structured content generation. Call sitemd_site_context with a type to get conventions and existing pages. The syntax reference is below.
- page — General pages. Second person, present tense, lead with reader value.
- docs — Documentation. Imperative mood, show what to type, code blocks, tables.
- blog — Blog posts. Opinionated, date line, 400-1200 words.
- changelog — Release notes. Terse, Added/Changed/Fixed/Removed sections.
- roadmap — Product roadmap. Shipped/In Progress/Planned sections.
Markdown Extensions
Beyond standard markdown, sitemd supports rich components. The syntax reference is below.
button: Label: /slug— styled buttons. Modifiers:+outline,+big,+newtab,+color:redcard: Title/card-text:/card-image:/card-link:— responsive card gridsembed: URL— auto-detects YouTube, Vimeo, Spotify, X, CodePen, etc.gallery:with indented— image grid with lightboximage-row:with indented— equal-height image row— image modifiers[text]{tooltip content}— inline tooltipsmodal: idwith indented content, trigger via[link](#modal:id)— modal dialogs{#custom-id}— inline anchors[text](url+newtab)— link modifiersform:with indented YAML — formsgated: type1, type2.../gated— gated sectionsdata: source/data-display: cards|list|table— dynamic data