
MCP Config Schemas: Not All Hosts Are Equal
My MCP server config worked in Claude Desktop. It failed validation in OpenCode. Same protocol, different schemas.

My MCP server config worked in Claude Desktop. It failed validation in OpenCode. Same protocol, different schemas.

Why I automated knowledge capture, and the technical setup that lets AI record ideas while I work.

MCP config that works in Claude Desktop fails in OpenCode. Same protocol, different schema. A tale of subtle incompatibilities.
OpenCode config validation failed with “Invalid input mcp.mcp-image” error. The MCP server configuration used wrong schema format.
"mcp-image": {
"type": "stdio", // WRONG
"command": "npx", // WRONG
"args": ["-y", "mcp-image"], // WRONG
"env": { // WRONG field name
"GEMINI_API_KEY": "...",
"IMAGE_OUTPUT_DIR": "..."
}
}
"type": "stdio" - still failed"mcp-image": {
"type": "local", // local, not stdio
"command": ["npx", "-y", "mcp-image"], // array, not separate args
"environment": { // environment, not env
"GEMINI_API_KEY": "...",
"IMAGE_OUTPUT_DIR": "..."
}
}
Key differences:
type: "local" not "stdio" (OpenCode terminology)command is a single array including args, no separate args fieldenvironment not env for env varsOpenCode MCP schema differs from Claude Desktop’s MCP schema. Always check vendor docs - don’t assume schema compatibility between different MCP hosts.