githubnext / githubnext/chopin
tools/list is rejected: three outputSchemas declare a bare oneOf with no type
- Dominant language
- TypeScript
- Stars
- 338
- Forks
- 17
- Avg merge
- 8h 57m
- Merged PRs (30d)
- 87
Description
`rename_document`, `archive_document` and `restore_document` declare an `outputSchema` that is a bare `oneOf` with no `type`.
MCP types a tool's `outputSchema` as an object schema. A client that validates the advertisement rejects it — and rejects the whole `tools/list` response rather than the offending tool, so every tool goes unavailable, not the three that are malformed. Claude Code reports:
```
chopin: https:///mcp (HTTP) - ! Connected · tools fetch failed
Invalid input (at tools.3.outputSchema.type)
```
The health line leads with `Connected` and buries the reason, so the failure reads as a healthy server.
Both branches of each `oneOf` are already object schemas. The constraint belongs to the array rather than to those three entries: any tool added later with a `oneOf` output takes the advertisement dark the same way.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the tools/list outputSchema declarations for rename_document, archive_document, and restore_document, then inspect how the output schema array is assembled. Ensure the advertisement remains valid when a oneOf output schema is present, and verify that tools/list accepts these tools and future oneOf entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend-api-design
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100