Webflow MCP Server
This MCP server enables Claude to interact with Webflow's APIs.
Prerequisites
- Node.js (v16 or higher)
- Claude Desktop App
- Webflow Account
- Webflow API Token (Site token or OAuth Acces Token)
Setup Instructions
1. Create a Webflow API Token
- Log in to your Webflow account
- Navigate to Site Settings > Apps & Integrations
- Generate a new API token
- Copy the token value (you won't be able to see it again)
Alternatively, you can also generate an OAuth Access Token.
2. Initial Project Setup
Install dependencies:
1npm install
3. Configure Environment Variables
Create a .env
file for local development (don't commit this file):
1WEBFLOW_API_TOKEN=your-api-token
4. Configure Claude Desktop
Open your Claude Desktop configuration file:
For MacOS:
1code ~/Library/Application\ Support/Claude/claude_desktop_config.json
For Windows:
1code %AppData%\Claude\claude_desktop_config.json
Add or update the configuration:
1{ 2 "mcpServers": { 3 "webflow": { 4 "command": "node", 5 "args": [ 6 "/ABSOLUTE/PATH/TO/YOUR/build/index.js" 7 ], 8 "env": { 9 "WEBFLOW_API_TOKEN": "your-api-token" 10 } 11 } 12 } 13}
Save the file and restart Claude Desktop.
Installing via Smithery
To install Webflow MCP Server for Claude Desktop automatically via Smithery:
1npx -y @smithery/cli install @kapilduraphe/webflow-mcp-server --client claude
Available Tools
The server currently provides the following tools:
get_sites
Retrieves a list of all Webflow sites accessible to the authenticated user. Returns detailed information including:
- Site Display Name and Short Name
- Site ID and Workspace ID
- Creation, Last Updated, and Last Published Dates
- Preview URL
- Time Zone settings
- Custom Domains configuration
- Localization settings (primary and secondary locales)
- Data collection preferences
get_site
Retrieves detailed information about a specific Webflow site by ID. Requires a siteId parameter and returns the same detailed information as get_sites for a single site.
Type Definitions
1interface WebflowApiError { 2 status?: number; 3 message: string; 4 code?: string; 5} 6 7interface WebflowCustomDomain { 8 id: string; 9 url: string; 10 lastPublished: string; 11} 12 13interface WebflowLocale { 14 id: string; 15 cmsLocaleId: string; 16 enabled: boolean; 17 displayName: string; 18 redirect: boolean; 19 subdirectory: string; 20 tag: string; 21} 22 23interface WebflowSite { 24 id: string; 25 workspaceId: string; 26 createdOn: string; 27 displayName: string; 28 shortName: string; 29 lastPublished: string; 30 lastUpdated: string; 31 previewUrl: string; 32 timeZone: string; 33 parentFolderId?: string; 34 customDomains: WebflowCustomDomain[]; 35 locales: { 36 primary: WebflowLocale; 37 secondary: WebflowLocale[]; 38 }; 39 dataCollectionEnabled: boolean; 40 dataCollectionType: string; 41}
Error Handling
The server handles various error scenarios:
Environment Errors
- Missing WEBFLOW_API_TOKEN
- Invalid API token
Troubleshooting
Common Issues
Tools not appearing in Claude
- Check Claude Desktop logs
- Verify WEBFLOW_API_TOKEN is set correctly
- Ensure the path to index.js is absolute and correct
Authentication Errors
- Verify your API token is valid
- Check if the token has the necessary permissions
- Ensure the token hasn't expired
Viewing Logs
To view server logs:
For MacOS/Linux:
1tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
For Windows:
1Get-Content -Path "$env:AppData\Claude\Logs\mcp*.log" -Wait -Tail 20
Environment Variables
If you're getting environment variable errors, verify:
WEBFLOW_API_TOKEN
: Should be a valid API token
Security Considerations
- Keep your API token secure
- Don't commit credentials to version control
- Use environment variables for sensitive data
- Regularly rotate API tokens
- Monitor API usage in Webflow
- Use minimum required permissions for API token
Support
If you encounter any issues:
- Check the troubleshooting section above
- Review Claude Desktop logs
- Examine the server's error output
- Check Webflow's API documentation
License
MIT License - See LICENSE file for details.