fix(server): return Invalid Params for malformed resource URIs (#2451)
This commit is contained in:
parent
e2aeac2085
commit
7e697354de
1 changed files with 88 additions and 1 deletions
|
|
@ -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()];
|
||||
|
|
|
|||
Loading…
Reference in a new issue