modelcontextprotocol / modelcontextprotocol/java-sdk
Reject listRoots if not supported by client, without sending any request
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 3.7k
- Forks
- 1.1k
- Ø Merge
- 1 T. 15 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
Some requests in McpAsyncServerExchange make a point of failing fast if functionality not supported, such the condition on line 146
listRoots does not do the same
For example, add this
if (this.clientCapabilities.roots() == null) {
return Mono.error(new IllegalStateException("Client must be configured with root listing capabilities"));
}
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lies mcp-core/src/main/java/io/modelcontextprotocol/server/McpAsyncServerExchange.java, insbesondere die vorhandene Capability-Prüfung um die Zeilen 141-151 und den Einstiegspunkt listRoots um die Zeilen 227-230. Bestätige, dass eine nicht unterstützte roots-Capability abgelehnt wird, bevor irgendeine Anfrage gesendet wird, und zwar mit dem angegebenen Fehlerverhalten. Führe anschließend die relevanten Projekttests aus.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- api
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 82/100