seite
AI-native static site generator with built-in MCP server and Claude Code integration
README
<p align="center"> <strong>seite</strong> </p>
<p align="center"> A static site generator where Claude Code is the interface. </p>
<p align="center"> <a href="https://github.com/seite-sh/seite/actions/workflows/rust.yml"><img src="https://github.com/seite-sh/seite/actions/workflows/rust.yml/badge.svg" alt="CI"></a> <a href="https://codecov.io/gh/seite-sh/seite"><img src="https://codecov.io/gh/seite-sh/seite/branch/main/graph/badge.svg" alt="Coverage"></a> <a href="https://crates.io/crates/seite"><img src="https://img.shields.io/crates/v/seite.svg" alt="Crates.io"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a> </p>
<p align="center"> <img src="https://seite.sh/static/demo.svg" alt="seite demo" width="700"> </p>
You already have Claude Code. seite gives it something to work on.
seite agent "write a post about our v1 launch — here are the notes: ..."
seite agent "redesign the homepage hero, we just pivoted to B2B"
seite agent "create changelog entries for these release notes: ..."
seite agent # interactive session
The agent reads your config, your templates, and your existing content before writing anything. Output lands in the right directory with the right frontmatter. You review a diff and ship it.
No new subscription. No new UI to learn. No new commands. Just the Claude Code subscription you already have — now it can manage your whole website.
curl -fsSL https://seite.sh/install.sh | sh
seite init mysite --title "My Site" --collections posts,docs,pages
cd mysite && seite serve
Why seite
Most static site generators produce HTML and stop there. seite builds for three audiences at once:
- Browsers get pages with full SEO metadata, Open Graph, Twitter Cards, and JSON-LD structured data
- LLMs get
llms.txt,llms-full.txt, and a.mdcopy of every page for direct consumption - AI tools get a built-in MCP server that exposes your entire site as structured resources
All from Markdown + YAML frontmatter. No JavaScript runtime. No build dependencies. One binary does everything. 331 tests, 139 unit and 192 integration.
AI integration
Agent
seite agent spawns Claude Code with full site context — config, content inventory, templates, and available commands. No API keys, no setup. Uses your existing Claude Code subscription.
seite init generates .claude/CLAUDE.md with your site's full schema so the agent is oriented before it writes a single character. Output lands in the right directory, with the right frontmatter, following your conventions. You review a diff and ship it.
seite agent "write a post about our v1.2 release — here are the notes: ..."
seite agent "rewrite the homepage hero, our positioning shifted to B2B"
seite agent "generate docs stubs for each CLI command"
seite agent # interactive session
MCP server
seite mcp runs a Model Context Protocol server over stdio. Claude Code auto-starts it via .claude/settings.json, generated by seite init. Any MCP-compatible AI tool can use it.
Resources — seite://docs, seite://config, seite://content, seite://themes, seite://trust
Tools — seite_build, seite_create_content, seite_search, seite_apply_theme, seite_lookup_docs
This means your AI tool doesn't just have read access to your site — it has a structured interface to build, search, and modify it.
LLM discovery
Every build generates llms.txt (summary) and llms-full.txt (complete markdown) for LLM indexing, plus a .md copy of every page. Multilingual sites get per-language versions. Traditional SEO and GEO handled in one pipeline, automatically.
Features
- 6 bundled themes — default, minimal, dark, docs, brutalist, bento — or generate a custom one with
seite theme create "coral brutalist with lime accents" - 6 collection presets — posts, docs, pages, changelog, roadmap, and trust center
- Multi-language — filename-based i18n with per-language URLs, RSS feeds, sitemaps, search indexes, and hreflang tags
- Image pipeline — auto-resize, WebP conversion, srcset/
<picture>elements, lazy loading - Deploy anywhere — GitHub Pages, Cloudflare Pages, Netlify with guided setup, pre-flight checks, and
--dry-run - Analytics — Google Analytics, GTM, Plausible, Fathom, Umami with optional cookie consent banner
- Shortcodes —
youtube,vimeo,gist,callout,figurebuilt-in, plus user-defined templates - Multi-site workspaces — manage multiple sites from one directory with unified dev server
- Self-update —
seite self-updatefetches the latest release with SHA256 checksum verification
Install
macOS / Linux:
curl -fsSL https://seite.sh/install.sh | sh
Windows (PowerShell):
irm https://seite.sh/install.ps1 | iex
From source (requires Rust):
cargo install seite
Pin a specific version:
VERSION=v0.1.0 curl -fsSL https://seite.sh/install.sh | sh
Quickstart
seite init mysite --title "My Site" --collections posts,docs,pages
cd mysite
seite serve
Open http://localhost:3000. Edit content in content/, templates in templates/. Live reload on every change.
# Create content
seite new post "Hello World" --tags intro,rust
seite new doc "Getting Started"
seite new changelog "v1.0.0" --tags new,improvement
# Deploy
seite deploy # commit, push, build, deploy
seite deploy --dry-run # preview what would happen
seite deploy --setup # guided first-time setup
Build output
seite build runs a 13-step pipeline and produces:
dist/
├── index.html
├── posts/
│ ├── hello-world.html # HTML for browsers
│ └── hello-world.md # Markdown for LLMs
├── docs/
│ └── getting-started.html
├── feed.xml
├── sitemap.xml
├── search-index.json
├── robots.txt
├── llms.txt
├── llms-full.txt
├── 404.html
└── static/
Every HTML page includes canonical URLs, Open Graph tags, Twitter Cards, JSON-LD structured data, and a link to its markdown alternate.
Collections
| Preset | Dated | RSS | Nested | Use case |
|---|---|---|---|---|
| posts | ✓ | ✓ | — | Blog posts, articles |
| docs | — | — | ✓ | Documentation with sidebar navigation |
| pages | — | — | — | Standalone pages (About, Contact) |
| changelog | ✓ | ✓ | — | Release notes with colored tag badges |
| roadmap | — | — | — | Public roadmap with status tracking |
| trust | — | — | ✓ | Compliance hub (SOC 2, ISO 27001, GDPR) |
seite collection add changelog
seite new changelog "v2.0" --tags new,breaking
Themes
Six themes ship with the binary — no downloads, no CDNs:
| Theme | Description |
|---|---|
| default | Clean centered column, system fonts, blue links |
| minimal | Georgia serif, literary feel, generous whitespace |
| dark | True black #0a0a0a, violet accents, visible focus rings |
| docs | Fixed sidebar with auto-scrolling nav, GitHub-style |
| brutalist | Cream background, thick black borders, hard shadows, yellow accents |
| bento | CSS grid cards, rounded corners, mixed sizes, soft shadows |
seite theme list
seite theme apply dark
seite theme create "neon cyberpunk on black"
seite theme install https://example.com/t.tera
seite theme export my-theme
Multi-language
Filename-based translations. Single-language sites need no config.
content/posts/
├── hello-world.md → /posts/hello-world
├── hello-world.es.md → /es/posts/hello-world
└── hello-world.fr.md → /fr/posts/hello-world
[languages.es]
title = "Mi Sitio"
[languages.fr]
title = "Mon Site"
Configuration
# seite.toml — minimal
[site]
title = "My Site"
base_url = "https://example.com"
[[collections]]
name = "posts"
<details> <summary><strong>Full reference</strong></summary>
[site]
title = "My Site"
description = "A site built with seite"
base_url = "https://example.com"
language = "en"
author = "Your Name"
[[collections]]
name = "posts"
# name = "docs" | "pages" | "changelog" | "roadmap" | "trust"
# paginate = 10
[build]
output_dir = "dist"
data_dir = "data"
minify = true
fingerprint = true
[deploy]
target = "github-pages" # or "cloudflare" or "netlify"
auto_commit = true
[images]
widths = [480, 800, 1200]
quality = 80
webp = true
lazy_loading = true
[analytics]
provider = "plausible" # or "google", "gtm", "fathom", "umami"
id = "example.com"
cookie_consent = false
[languages.es]
title = "Mi Sitio"
[trust]
company = "Acme Corp"
frameworks = ["soc2", "iso27001"]
</details>
Data files
Drop YAML, JSON, or TOML in data/ and access in any template:
# data/nav.yaml
- title: Blog
url: /posts
- title: Docs
url: /docs
Available as {{ data.nav }} in all templates.
Workspaces
seite workspace init my-workspace
seite workspace add blog --collections posts,pages
seite workspace add docs --collections docs
seite build --site blog
seite serve
seite deploy
Deployment
seite deploy
seite deploy --dry-run
seite deploy --setup
seite deploy --domain example.com
[deploy]
target = "cloudflare" # or "github-pages" or "netlify"
seite init auto-generates the CI workflow for your chosen target.
Documentation
Full docs at seite.sh/docs
- Getting Started
- Configuration
- Collections
- Templates
- Shortcodes
- Multi-language
- Deployment
- CLI Reference
- Trust Center
Contributing
seite is early and issues, PRs, and feedback are genuinely welcome. Especially useful:
- Bug reports with a repro case (even a minimal
seite.toml+ content file) - New theme ideas — open an issue first to align on direction before building
- Docs improvements — if something confused you, it'll confuse others
- Real-world usage — if you build something with seite, share it
git clone https://github.com/seite-sh/seite
cargo build
cargo test # 331 tests (139 unit + 192 integration)
cargo clippy # must be zero warnings
cargo fmt --all
Open an issue before starting a large PR — saves everyone time.
License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。