githubnext/chopinPublic

Let's compose rich plans together

tools/list is rejected: three outputSchemas declare a bare oneOf with no type

bugtriage/agent-candidate
SE

`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://<host>/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.

  1. MaggieAppletonreferenced this in Triage issues and acknowledge external contributors with Codex #316last month on GitHub

  2. github-actions[bot]botadded label buglast month on GitHub

  3. github-actions[bot]botadded label triage/agent-candidatelast month on GitHub

  4. Automated triage here—thanks for identifying the three schemas and the client validation error, and sorry for the wait. I’m recommending `triage/agent-candidate` for human consideration: this is a bounded MCP compatibility report with a clear verification path—check every advertised `outputSchema` has the required object type and that a validating client accepts `tools/list`. Existing [rename protocol tests](https://github.com/githubnext/chopin/blob/main/apps/server/src/mcp/rename.test.ts) provide nearby regression coverage. This recommendation is not authorization or a promise of a fix; the reported client failure has not been reproduced in this triage run.

    > Generated by [Issue triage](https://github.com/githubnext/chopin/actions/runs/37621759756) · ⊞ 18.4K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fchopin+%22gh-aw-workflow-call-id%3A+githubnext%2Fchopin%2Fissue-triage%22&type=issues)

    <!-- gh-aw-agentic-workflow: Issue triage, engine: codex, model: gpt-6.1-sol, id: 37621759756, workflow_id: issue-triage, run: https://github.com/githubnext/chopin/actions/runs/37621759756 --> <!-- gh-aw-workflow-call-id: githubnext/chopin/issue-triage -->

  5. MA

    👋 Hi @sethfitz. Thanks for opening this issue! We have humans here as well as bots helping us categorise issues. We'll try and get this one fixed soon as seems fairly straightforward.

  6. sethfitzmentionedlast month on GitHub

  7. sethfitzsubscribedlast month on GitHub

  8. SE
    Author

    I have a fix on a local branch I can share (it’s a small fix), but pull requests are closed to non-contributors.

  9. SE
    Author

    While rebasing my change, I discovered that it's already been fixed, and all that's left is a test, probably duplicating one that was added when it was fixed. However, for posterity: https://github.com/sethfitz/chopin/commit/13cdff38094d95f1058aae839b1ed54c42eaeddb

  10. sethfitzclosedlast month on GitHub