Skip to content

Commit e7d0d4d

Browse files
authored
feat: request info (#619)
* feat: request info * remove authInfo * chore: changeset
1 parent 1e5483a commit e7d0d4d

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

.changeset/grumpy-ducks-bow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"agents": patch
3+
---
4+
5+
Adds request info to the extra argument in onmessage. Adds a url parm which we will try push upstream to the MCP SDK as it is useful with OpenAI Apps SDK

packages/agents/src/mcp/worker-transport.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
66
import type {
77
JSONRPCMessage,
88
RequestId,
9-
InitializeRequest
9+
InitializeRequest,
10+
RequestInfo,
11+
MessageExtraInfo
1012
} from "@modelcontextprotocol/sdk/types.js";
1113
import {
1214
isInitializeRequest,
@@ -54,7 +56,7 @@ export class WorkerTransport implements Transport {
5456
sessionId?: string;
5557
onclose?: () => void;
5658
onerror?: (error: Error) => void;
57-
onmessage?: (message: JSONRPCMessage) => void;
59+
onmessage?: (message: JSONRPCMessage, extra?: MessageExtraInfo) => void;
5860

5961
constructor(options?: WorkerTransportOptions) {
6062
this.sessionIdGenerator = options?.sessionIdGenerator;
@@ -390,6 +392,12 @@ export class WorkerTransport implements Transport {
390392
);
391393
}
392394

395+
// TODO: push this upstream to the mcp sdk asap
396+
const requestInfo: RequestInfo & { url?: string } = {
397+
headers: Object.fromEntries(request.headers.entries()),
398+
url: request.url
399+
};
400+
393401
const isInitializationRequest = messages.some(isInitializeRequest);
394402

395403
if (isInitializationRequest) {
@@ -476,7 +484,7 @@ export class WorkerTransport implements Transport {
476484

477485
if (!hasRequests) {
478486
for (const message of messages) {
479-
this.onmessage?.(message);
487+
this.onmessage?.(message, { requestInfo });
480488
}
481489
return new Response(null, {
482490
status: 202,
@@ -502,7 +510,7 @@ export class WorkerTransport implements Transport {
502510
}
503511

504512
for (const message of messages) {
505-
this.onmessage?.(message);
513+
this.onmessage?.(message, { requestInfo });
506514
}
507515
});
508516
}
@@ -538,7 +546,7 @@ export class WorkerTransport implements Transport {
538546
}
539547

540548
for (const message of messages) {
541-
this.onmessage?.(message);
549+
this.onmessage?.(message, { requestInfo });
542550
}
543551

544552
return new Response(readable, { headers });

0 commit comments

Comments
 (0)