You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Sentry MCP server fails to initialize: cannot unmarshal JSON Schema array union type into string #14
mcpx's Go JSON unmarshaler maps inputSchema.properties.*.type to type string, which cannot hold an array value. The spec allows both "type": "string" and "type": ["string", "null"].
Expected behavior
mcpx should handle type as either a string or []string (union) per the JSON Schema spec. Unknown or unsupported types could fall back to "any" / untyped rather than hard-failing initialization.
Fixed in v1.6.0 (released today, just merged via #15).
The schema normalizer in internal/mcp/schema.go now handles JSON Schema union types correctly: type: ["string", "null"] is parsed as Type: "string", Nullable: true, matching the JSON Schema draft-07 spec. The same pass also handles oneOf, anyOf, allOf, and $ref, with unknown keywords preserved in an Ext map for round-trip integrity.
Validated end-to-end against the live @sentry/mcp-server after sentry-mcp auth login:
$ mcpx list sentry -v
sentry (22 tools)
whoami
Identify the authenticated user in Sentry.
...
All 22 Sentry tools list cleanly — no transport-closed, no unmarshal errors.
Auto-closed by the PR merge. Thanks for the precise reproducer with the verbose log — it made the diagnosis straightforward and the fix is now covered by unit tests (TestSentryUnionType, TestSentryFullToolSchema in internal/mcp/schema_test.go) so this can't regress silently.
Upgrade: brew upgrade mcpx once the v1.6.0 release artifacts publish (Homebrew tap auto-updates from the goreleaser workflow), or go install github.com/codestz/mcpx/cmd/mcpx@v1.6.0.
Activity
fix: dashboard banner fires only on real tool calls
Codestz commentedon May 3, 2026
Fixed in v1.6.0 (released today, just merged via #15).
The schema normalizer in
internal/mcp/schema.gonow handles JSON Schema union types correctly:type: ["string", "null"]is parsed asType: "string", Nullable: true, matching the JSON Schema draft-07 spec. The same pass also handlesoneOf,anyOf,allOf, and$ref, with unknown keywords preserved in anExtmap for round-trip integrity.Validated end-to-end against the live
@sentry/mcp-serveraftersentry-mcp auth login:All 22 Sentry tools list cleanly — no transport-closed, no unmarshal errors.
Auto-closed by the PR merge. Thanks for the precise reproducer with the verbose log — it made the diagnosis straightforward and the fix is now covered by unit tests (
TestSentryUnionType,TestSentryFullToolSchemaininternal/mcp/schema_test.go) so this can't regress silently.Upgrade:
brew upgrade mcpxonce the v1.6.0 release artifacts publish (Homebrew tap auto-updates from the goreleaser workflow), orgo install github.com/codestz/mcpx/cmd/mcpx@v1.6.0.