fix(server): return Invalid Params for malformed resource URIs (#2451)

This commit is contained in:
Matt 2026-07-07 13:48:48 +01:00 • committed by GitHub
commit 7e697354de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -476,7 +476,15 @@ export class McpServer {
});
this.server.setRequestHandler('resources/read', async (request, ctx) => {
const uri = new URL(request.params.uri);
let uri: URL;
try {
uri = new URL(request.params.uri);
} catch {
throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Resource URI ${request.params.uri} is invalid`, {
uri: request.params.uri,
reason: 'invalid_uri'
});
}
// First check for exact resource match
const resource = this._registeredResources[uri.toString()];