githubnext / githubnext/chopin

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

Open Beginner friendly
#154 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.