MCP tools: Array parameters serialized as strings instead of arrays
Description
When calling MCP tools that require array parameters, Claude Code serializes the array as a JSON string instead of passing it as an actual array. This breaks MCP tools that expect array types.
Steps to Reproduce
- Configure Webflow MCP in
~/.mcp.json:
{
"mcpServers": {
"webflow": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.webflow.com/sse"]
}
}
}
- Call a Webflow tool that requires an
actionsarray parameter:
mcp__webflow__element_tool
siteId: "697f5b24a2dd1835248c9e95"
actions: [{"get_all_elements": {"query": "all"}}]
Expected Behavior
The actions parameter should be passed as an actual JavaScript array:
actions: [{get_all_elements: {query: "all"}}]
Actual Behavior
The actions parameter is serialized as a JSON string:
actions: "[{\"get_all_elements\": {\"query\": \"all\"}}]"
This causes the MCP server to return a validation error:
MCP error -32602: Input validation error: Invalid arguments for tool element_tool: [
{
"code": "invalid_type",
"expected": "array",
"received": "string",
"path": ["actions"],
"message": "Expected array, received string"
}
]
Environment
- OS: Windows 11
- Claude Code: VSCode Extension
- MCP: mcp-remote with Webflow SSE endpoint
Impact
This bug makes all Webflow MCP designer tools unusable since they all require the actions array parameter. Tools that only use string parameters (like ask_webflow_ai) work correctly.
Workaround
None known. The remaining design work must be done manually in Webflow Designer.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗