Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/tool-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,7 @@ so returned values have to JSON-serializable.

**Parameters:**

- **includePreviousNavigations** (boolean) _(optional)_: Whether to include messages from previous navigations.
- **pageIdx** (integer) _(optional)_: Page number to return (0-based). When omitted, returns the first page.
- **pageSize** (integer) _(optional)_: Maximum number of messages to return. When omitted, returns all requests.
- **types** (array) _(optional)_: Filter messages to only return messages of the specified resource types. When omitted or empty, returns all messages.
Expand Down
6 changes: 4 additions & 2 deletions src/McpContext.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,11 @@ export class McpContext implements Context {
return this.#networkCollector.getData(page, includePreviousNavigations);
}

getConsoleData(): Array<ConsoleMessage | Error> {
getConsoleData(
includePreviousNavigations?: boolean,
): Array<ConsoleMessage | Error> {
const page = this.getSelectedPage();
return this.#consoleCollector.getData(page);
return this.#consoleCollector.getData(page, includePreviousNavigations);
}

getConsoleMessageStableId(message: ConsoleMessage | Error): number {
Expand Down
7 changes: 6 additions & 1 deletion src/McpResponse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export class McpResponse implements Response {
include: boolean;
pagination?: PaginationOptions;
types?: string[];
includePreviousNavigations?: boolean;
};

setIncludePages(value: boolean): void {
Expand Down Expand Up @@ -87,6 +88,7 @@ export class McpResponse implements Response {
value: boolean,
options?: PaginationOptions & {
types?: string[];
includePreviousNavigations?: boolean;
},
): void {
if (!value) {
Expand All @@ -104,6 +106,7 @@ export class McpResponse implements Response {
}
: undefined,
types: options?.types,
includePreviousNavigations: options?.includePreviousNavigations,
};
}

Expand Down Expand Up @@ -228,7 +231,9 @@ export class McpResponse implements Response {

let consoleListData: ConsoleMessageData[] | undefined;
if (this.#consoleDataOptions?.include) {
let messages = context.getConsoleData();
let messages = context.getConsoleData(
this.#consoleDataOptions.includePreviousNavigations,
);

if (this.#consoleDataOptions.types?.length) {
const normalizedTypes = new Set(this.#consoleDataOptions.types);
Expand Down
1 change: 1 addition & 0 deletions src/tools/ToolDefinition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ export interface Response {
value: boolean,
options?: PaginationOptions & {
types?: string[];
includePreviousNavigations?: boolean;
},
): void;
setIncludeSnapshot(value: boolean): void;
Expand Down
6 changes: 6 additions & 0 deletions src/tools/console.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,18 @@ export const listConsoleMessages = defineTool({
.describe(
'Filter messages to only return messages of the specified resource types. When omitted or empty, returns all messages.',
),
includePreviousNavigations: zod
.boolean()
.default(false)
.optional()
.describe('Whether to include messages from previous navigations.'),
},
handler: async (request, response) => {
response.setIncludeConsoleData(true, {
pageSize: request.params.pageSize,
pageIdx: request.params.pageIdx,
types: request.params.types,
includePreviousNavigations: request.params.includePreviousNavigations,
});
},
});
Expand Down