Skip to content

Invalid tool parameter schema: tuple-style items causes 400 error in Command Code #28

Description

@aayushmehta25466

Here you go:## Description

When using figma-mcp-bridge with Command Code CLI, the MCP server fails to register its tools due to an invalid JSON Schema in one or more tool definitions.

Error

⚠ Error: 400 Tool 34 function has invalid ‘parameters’ schema:
[{‘type’: ‘array’, ‘minItems’: 3, ‘maxItems’: 3, ‘items’:
[{‘type’: ‘number’}, {‘type’: ‘number’}, {‘type’: ‘number’}]}…]

Root Cause

Some tool parameters (likely RGB/color-related) define items as a tuple (array of schemas):

"items": [{"type": "number"}, {"type": "number"}, {"type": "number"}]

This is valid JSON Schema (draft 2020-12 tuple validation), but most LLM provider APIs (OpenAI, Anthropic, etc.) only accept ‎⁠items⁠ as a single schema object. When the provider validates the tool definitions, it rejects the tuple form and returns a 400 error — preventing the entire MCP server from loading.

Suggested Fix

Replace tuple-style ‎⁠items⁠ with a flat schema and use ‎⁠minItems⁠/‎⁠maxItems⁠ to enforce length:{

  "type": "array",

  "items": { "type": "number" },

  "minItems": 3,

  "maxItems": 3

}

This is functionally equivalent and compatible with all LLM function-calling APIs.

Steps to Reproduce

1. Install the MCP server: ‎⁠cmd mcp add figma-bridge -- npx -y @gethopp/figma-mcp-bridge⁠

2. Start a Command Code session

3. The server fails to connect with the 400 error above

Environment

- MCP Client: Command Code CLI

- Package: ‎⁠@gethopp/figma-mcp-bridge⁠ (latest via npx)

- OS: macOS

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions