Skip to content

MCP Server: inputSchema contains invalid jsonSchema wrapper breaking Claude Desktop compatibility #15348

Description

@Eigenwise

Description

The Twenty MCP server at twenty.brainblendai.com/mcp returns tool definitions with an incorrectly formatted inputSchema that includes an extra jsonSchema wrapper. This violates the MCP specification and prevents tools from being recognized by MCP clients like Claude Desktop.

Current (Incorrect) Format

{
  "name": "create_company",
  "description": "...",
  "inputSchema": {
    "jsonSchema": {
      "type": "object",
      "properties": {...}
    }
  }
}

Expected (Correct) Format

According to the MCP specification, inputSchema should directly contain the JSON Schema:

{
  "name": "create_company",
  "description": "...",
  "inputSchema": {
    "type": "object",
    "properties": {...}
  }
}

Reproduction

Test with curl:

curl -X POST https://twenty.server.com/mcp   -H "Authorization: Bearer YOUR_TOKEN"   -H "Content-Type: application/json"   -H "MCP-Protocol-Version: 2025-06-18"   -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Impact

  • Claude Desktop cannot recognize any of the tools (they are silently dropped)
  • Other MCP clients following the spec strictly will also fail to load tools
  • Users see an empty tools list despite the server returning 30+ tools

Environment

  • MCP Server: twenty.server.com/mcp
  • MCP Protocol Version tested: 2024-11-05 and 2025-06-18
  • Client: Claude Desktop (stdio transport via mcp-proxy)

Workaround

Created a proxy server that unwraps the jsonSchema key before passing to Claude Desktop.

Fix Required

Remove the extra jsonSchema wrapper in the tools/list response. The inputSchema field should directly contain the JSON Schema object, not nest it under a jsonSchema key.

Thank you for Twenty CRM! 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Dev status

    None yet

    Start date

    None yet

    Target date

    None yet

    Quarter

    None yet

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions