MCP Journaling Server
by mtct
# 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:
```bash
npm install
```
### 3. Configure Environment Variables
Create a `.env` file for local development (don't commit this file):
```plaintext
WEBFLOW_API_TOKEN=your-api-token
```
### 4. Configure Claude Desktop
Open your Claude Desktop configuration file:
For MacOS:
```bash
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
For Windows:
```bash
code %AppData%\Claude\claude_desktop_config.json
```
Add or update the configuration:
```json
{
"mcpServers": {
"webflow": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/YOUR/build/index.js"
],
"env": {
"WEBFLOW_API_TOKEN": "your-api-token"
}
}
}
}
```
Save the file and restart Claude Desktop.
## 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
```typescript
interface WebflowApiError {
status?: number;
message: string;
code?: string;
}
interface WebflowCustomDomain {
id: string;
url: string;
lastPublished: string;
}
interface WebflowLocale {
id: string;
cmsLocaleId: string;
enabled: boolean;
displayName: string;
redirect: boolean;
subdirectory: string;
tag: string;
}
interface WebflowSite {
id: string;
workspaceId: string;
createdOn: string;
displayName: string;
shortName: string;
lastPublished: string;
lastUpdated: string;
previewUrl: string;
timeZone: string;
parentFolderId?: string;
customDomains: WebflowCustomDomain[];
locales: {
primary: WebflowLocale;
secondary: WebflowLocale[];
};
dataCollectionEnabled: boolean;
dataCollectionType: string;
}
```
## 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:
```bash
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
```
For Windows:
```powershell
Get-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.