Skip to content

Commit 03e4cb2

Browse files
committed
list tools
1 parent b0cd0fa commit 03e4cb2

5 files changed

Lines changed: 34 additions & 63 deletions

File tree

README.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -475,8 +475,6 @@ If you run into any issues, checkout our [troubleshooting guide](./docs/troubles
475475
- [`list_console_messages`](docs/tool-reference.md#list_console_messages)
476476
- [`take_screenshot`](docs/tool-reference.md#take_screenshot)
477477
- [`take_snapshot`](docs/tool-reference.md#take_snapshot)
478-
- **In-page tools** (1 tools)
479-
- [`list_in_page_tools`](docs/tool-reference.md#list_in_page_tools)
480478

481479
<!-- END AUTO GENERATED TOOLS -->
482480

@@ -568,11 +566,6 @@ The Chrome DevTools MCP server supports the following configuration option:
568566
- **Type:** boolean
569567
- **Default:** `true`
570568

571-
- **`--categoryInPageTools`/ `--category-in-page-tools`**
572-
Set to true to enable tools exposed by the inspected page itself
573-
- **Type:** boolean
574-
- **Default:** `false`
575-
576569
- **`--performanceCrux`/ `--performance-crux`**
577570
Set to false to disable sending URLs from performance traces to CrUX API to get field performance data.
578571
- **Type:** boolean

docs/tool-reference.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@
3737
- [`list_console_messages`](#list_console_messages)
3838
- [`take_screenshot`](#take_screenshot)
3939
- [`take_snapshot`](#take_snapshot)
40-
- **[In-page tools](#in-page-tools)** (1 tools)
41-
- [`list_in_page_tools`](#list_in_page_tools)
4240

4341
## Input automation
4442

@@ -399,15 +397,3 @@ in the DevTools Elements panel (if any).
399397
- **verbose** (boolean) _(optional)_: Whether to include all possible information available in the full a11y tree. Default is false.
400398

401399
---
402-
403-
## In-page tools
404-
405-
### `list_in_page_tools`
406-
407-
**Description:** Lists all in-page-tools the page exposes for providing runtime information.
408-
In-page-tools are exposed on the page via the 'window.\_\_dtmcp.executeTool(toolName, params)'
409-
function where they can be called by '[`evaluate_script`](#evaluate_script)'.
410-
411-
**Parameters:** None
412-
413-
---

src/bin/chrome-devtools-mcp-cli-options.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ export const cliOptions = {
219219
categoryInPageTools: {
220220
type: 'boolean',
221221
hidden: true,
222-
default: false,
223222
describe:
224223
'Set to true to enable tools exposed by the inspected page itself',
225224
},

tests/cli.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ describe('cli args parsing', () => {
2323
performanceCrux: true,
2424
'usage-statistics': true,
2525
usageStatistics: true,
26-
'category-in-page-tools': false,
27-
categoryInPageTools: false,
2826
};
2927

3028
it('parses with default args', async () => {

tests/index.test.ts

Lines changed: 34 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -72,52 +72,47 @@ describe('e2e', () => {
7272
});
7373

7474
it('has all tools', async () => {
75-
await withClient(
76-
async client => {
77-
const {tools} = await client.listTools();
78-
const exposedNames = tools.map(t => t.name).sort();
79-
const files = fs.readdirSync('build/src/tools');
80-
const definedNames = [];
81-
for (const file of files) {
82-
if (
83-
file === 'ToolDefinition.js' ||
84-
file === 'tools.js' ||
85-
file === 'slim'
86-
) {
87-
continue;
88-
}
89-
const fileTools = await import(`../src/tools/${file}`);
90-
for (const maybeTool of Object.values<unknown>(fileTools)) {
91-
if (typeof maybeTool === 'function') {
92-
const tool = (maybeTool as (val: boolean) => ToolDefinition)(
93-
false,
94-
);
95-
if (tool && typeof tool === 'object' && 'name' in tool) {
96-
if (tool.annotations?.conditions) {
97-
continue;
98-
}
99-
definedNames.push(tool.name);
100-
}
101-
continue;
102-
}
103-
if (
104-
typeof maybeTool === 'object' &&
105-
maybeTool !== null &&
106-
'name' in maybeTool
107-
) {
108-
const tool = maybeTool as ToolDefinition;
75+
await withClient(async client => {
76+
const {tools} = await client.listTools();
77+
const exposedNames = tools.map(t => t.name).sort();
78+
const files = fs.readdirSync('build/src/tools');
79+
const definedNames = [];
80+
for (const file of files) {
81+
if (
82+
file === 'ToolDefinition.js' ||
83+
file === 'tools.js' ||
84+
file === 'slim'
85+
) {
86+
continue;
87+
}
88+
const fileTools = await import(`../src/tools/${file}`);
89+
for (const maybeTool of Object.values<unknown>(fileTools)) {
90+
if (typeof maybeTool === 'function') {
91+
const tool = (maybeTool as (val: boolean) => ToolDefinition)(false);
92+
if (tool && typeof tool === 'object' && 'name' in tool) {
10993
if (tool.annotations?.conditions) {
11094
continue;
11195
}
11296
definedNames.push(tool.name);
11397
}
98+
continue;
99+
}
100+
if (
101+
typeof maybeTool === 'object' &&
102+
maybeTool !== null &&
103+
'name' in maybeTool
104+
) {
105+
const tool = maybeTool as ToolDefinition;
106+
if (tool.annotations?.conditions) {
107+
continue;
108+
}
109+
definedNames.push(tool.name);
114110
}
115111
}
116-
definedNames.sort();
117-
assert.deepStrictEqual(exposedNames, definedNames);
118-
},
119-
['--category-in-page-tools'],
120-
);
112+
}
113+
definedNames.sort();
114+
assert.deepStrictEqual(exposedNames, definedNames);
115+
});
121116
});
122117

123118
it('has experimental in-Page tools', async () => {

0 commit comments

Comments
 (0)