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! 🙏
Description
The Twenty MCP server at
twenty.brainblendai.com/mcpreturns tool definitions with an incorrectly formattedinputSchemathat includes an extrajsonSchemawrapper. 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,
inputSchemashould directly contain the JSON Schema:{ "name": "create_company", "description": "...", "inputSchema": { "type": "object", "properties": {...} } }Reproduction
Test with curl:
Impact
Environment
twenty.server.com/mcpWorkaround
Created a proxy server that unwraps the
jsonSchemakey before passing to Claude Desktop.Fix Required
Remove the extra
jsonSchemawrapper in thetools/listresponse. TheinputSchemafield should directly contain the JSON Schema object, not nest it under ajsonSchemakey.Thank you for Twenty CRM! 🙏