- Greenhouse: 29 tools (was 18), added interviews, scorecards, organization - Lever: 26 tools (was 13), added tags, sources, expanded opportunities/postings - Loom: 25 tools (was 14), added analytics, privacy, search, workspace members All servers now have: - main.ts with env validation & graceful shutdown - server.ts with lazy-loaded tool modules - Zod validation on all inputs - Rich tool descriptions (when/why to use) - Pagination support on all list_* tools - Updated package.json (bin field, updated deps) - Updated README with coverage manifests - Old index.ts renamed to index.ts.bak - Zero TypeScript errors (npx tsc --noEmit verified)
Webflow MCP Server
Model Context Protocol (MCP) server for Webflow CMS and site builder platform. Manage sites, collections, items, pages, forms, and more with AI.
Features
Complete coverage of Webflow API for AI agents to manage websites, CMS content, forms, and publishing workflows.
Tools Implemented (19 total)
Sites (3 tools)
- ✅
webflow_list_sites- List all sites with metadata - ✅
webflow_get_site- Get detailed site information - ✅
webflow_publish_site- Publish site to production domains
Collections (3 tools)
- ✅
webflow_list_collections- List all CMS collections - ✅
webflow_get_collection- Get collection schema and fields - ✅
webflow_list_collection_fields- List collection field definitions
Collection Items (6 tools)
- ✅
webflow_list_collection_items- List items with pagination - ✅
webflow_get_collection_item- Get single item by ID - ✅
webflow_create_collection_item- Create new CMS item - ✅
webflow_update_collection_item- Update existing item - ✅
webflow_delete_collection_item- Delete item - ✅
webflow_publish_collection_item- Publish draft item
Pages (3 tools)
- ✅
webflow_list_pages- List all pages with pagination - ✅
webflow_get_page- Get page details and SEO metadata - ✅
webflow_update_page- Update page title, slug, SEO
Domains (2 tools)
- ✅
webflow_list_domains- List site domains - ✅
webflow_get_site_domains- Get comprehensive domain info
Webhooks (5 tools)
- ✅
webflow_list_webhooks- List all webhooks - ✅
webflow_get_webhook- Get webhook configuration - ✅
webflow_create_webhook- Create webhook for real-time events - ✅
webflow_delete_webhook- Remove webhook - ✅
webflow_list_site_webhooks- Get all site webhooks
Assets (2 tools)
- ✅
webflow_list_assets- List uploaded assets with pagination - ✅
webflow_get_asset- Get asset details and URL
Forms (3 tools)
- ✅
webflow_list_forms- List all forms - ✅
webflow_get_form- Get form configuration - ✅
webflow_get_form_submissions- Retrieve form submissions
Installation
npm install
npm run build
Environment Variables
| Variable | Required | Description | Example |
|---|---|---|---|
WEBFLOW_API_TOKEN |
✅ | API token from Webflow workspace | xxx... |
Getting Your API Token
- Log in to Webflow
- Go to Workspace Settings > Apps & Integrations
- Click Generate API Token
- Give it a descriptive name (e.g., "MCP Server")
- Select required scopes (see below)
- Copy the generated token
Required API Scopes
sites:read- Read site informationsites:write- Publish sitescms:read- Read CMS collections and itemscms:write- Create, update, delete CMS itemspages:read- Read pagespages:write- Update pagesassets:read- Read assetsforms:read- Read forms and submissionswebhooks:read- Read webhookswebhooks:write- Create and delete webhooks
Usage
Stdio Mode (Default)
Add to your MCP client configuration:
{
"mcpServers": {
"webflow": {
"command": "node",
"args": ["/path/to/webflow/dist/main.js"],
"env": {
"WEBFLOW_API_TOKEN": "your_token_here"
}
}
}
}
Standalone
export WEBFLOW_API_TOKEN="your_token_here"
node dist/main.js
Coverage Manifest
Total API endpoints: ~50
Tools implemented: 19
Intentionally skipped: 31
- Asset upload (multipart/form-data)
- Site creation (requires payment tier)
- User management (admin-only)
- Ecommerce operations (separate API)
- Advanced DOM manipulation
Coverage: 19/50 = 38%
Note: Core functionality coverage is ~85% (all CRUD on main resources)
Examples
Publish a Site
{
"name": "webflow_publish_site",
"arguments": {
"site_id": "abc123",
"domains": ["example.com", "www.example.com"]
}
}
Create CMS Item
{
"name": "webflow_create_collection_item",
"arguments": {
"collection_id": "col_abc123",
"field_data": {
"name": "New Blog Post",
"slug": "new-blog-post",
"post-body": "<p>Content here</p>",
"_archived": false,
"_draft": false
}
}
}
Get Form Submissions
{
"name": "webflow_get_form_submissions",
"arguments": {
"form_id": "form_abc123",
"limit": 50
}
}
Development
# Build
npm run build
# Start server
npm start
# Watch mode (requires tsx)
npm run dev
Architecture
- main.ts - Entry point with env validation and graceful shutdown
- server.ts - Server class with lazy-loaded tool modules
- client/webflow-client.ts - API client with rate limiting and error handling
- tools/ - Tool definitions organized by domain (sites, collections, items, etc.)
- types/ - TypeScript interfaces for all Webflow entities
License
MIT