-
Notifications
You must be signed in to change notification settings - Fork 11.1k
Description
Bug Report
Two MCP tool wrappers in OpenCode send incorrect parameters that cause failures with remote MCP servers.
Bug 1: supabase_list_projects — ZodError due to _placeholder key
Tool: supabase_list_projects
MCP Server: https://mcp.supabase.com/mcp
Error:
{
"error": {
"name": "ZodError",
"message": "[\n {\n \"code\": \"unrecognized_keys\",\n \"keys\": [\n \"_placeholder\"\n ],\n \"path\": [],\n \"message\": \"Unrecognized key: \\\"_placeholder\\\"\"\n }\n]"
}
}Root Cause:
OpenCode sends { _placeholder: true } as the input to list_projects, but the Supabase MCP server's Zod schema expects z.object({}) (an empty object with no keys). The extra _placeholder key causes a ZodError with unrecognized_keys.
Affected tools (all use the same _placeholder pattern):
supabase_list_projectssupabase_list_organizations
Expected behavior: Tool should send {} (empty object) or no input — not { _placeholder: true }.
Bug 2: pythonanywhere_list_websites — Empty API response
Tool: pythonanywhere_list_websites
MCP Server: Local pythonanywhere-mcp-server
Error:
Error executing tool list_websites: Failed to list websites: Expecting value: line 1 column 1 (char 0)
Root Cause:
The tool call results in an empty response body from the PythonAnywhere API. The MCP server attempts to parse it as JSON and fails. This may be related to an incorrect endpoint being called or a missing/malformed request parameter sent by OpenCode's wrapper.
Note: pythonanywhere_list_webapps works correctly. Only list_websites (ASGI-based sites) fails.
Environment
- OpenCode config: remote Supabase MCP at
https://mcp.supabase.com/mcpwith Bearer token auth - PythonAnywhere MCP: local binary at
/root/.venvs/pythonanywhere-mcp/bin/pythonanywhere-mcp-server - Platform: Linux
Workaround
None available from config. These are internal OpenCode tool wrapper issues and cannot be fixed by the user.