set_session_storage
Set a session storage key-value pair on the current page to persist data during the browser session.
Instructions
Set a sessionStorage entry on the current page
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Storage key | |
| value | Yes | Storage value | |
| tabId | No | Target tab ID (defaults to active tab) | |
| apiKey | No | API key for authentication |
Implementation Reference
- src/tools/devtools-storage.ts:131-135 (handler)The handler function for set_session_storage tool. Sends a command via WebSocket bridge to set a sessionStorage entry, then returns a success/error response.
async ({ key, value, tabId, apiKey }) => { const result = await bridge.sendCommand({ command: 'set_session_storage', params: { key, value }, tabId, apiKey }); if (!result.success) return { content: [{ type: 'text' as const, text: `Error: ${result.error?.message}` }], isError: true }; return { content: [{ type: 'text' as const, text: `sessionStorage["${key}"] set` }] }; } - Input schema for set_session_storage using Zod validation. Requires 'key' and 'value' as strings, with optional 'tabId' (number) and 'apiKey' (string).
{ key: z.string().describe('Storage key'), value: z.string().describe('Storage value'), tabId: z.number().optional().describe('Target tab ID (defaults to active tab)'), apiKey: z.string().optional().describe('API key for authentication'), }, - src/tools/devtools-storage.ts:122-136 (registration)Registration of the 'set_session_storage' tool on the MCP server via server.tool() with its name, description, schema, and handler.
server.tool( 'set_session_storage', 'Set a sessionStorage entry on the current page', { key: z.string().describe('Storage key'), value: z.string().describe('Storage value'), tabId: z.number().optional().describe('Target tab ID (defaults to active tab)'), apiKey: z.string().optional().describe('API key for authentication'), }, async ({ key, value, tabId, apiKey }) => { const result = await bridge.sendCommand({ command: 'set_session_storage', params: { key, value }, tabId, apiKey }); if (!result.success) return { content: [{ type: 'text' as const, text: `Error: ${result.error?.message}` }], isError: true }; return { content: [{ type: 'text' as const, text: `sessionStorage["${key}"] set` }] }; } ); - src/tools/index.ts:29-42 (registration)Registration of DevtoolsStorage tools (including set_session_storage) in the central registerAllTools function via registerDevtoolsStorageTools(server, bridge).
export function registerAllTools(server: McpServer, bridge: WebSocketBridge) { registerNavigationTools(server, bridge); registerTabManagementTools(server, bridge); registerKeyboardTools(server, bridge); registerScreenshotTools(server, bridge); registerClickTools(server, bridge); registerInputTools(server, bridge); registerDragDropTools(server, bridge); registerHoverTools(server, bridge); registerDevtoolsSourcesTools(server, bridge); registerDevtoolsModifyTools(server, bridge); registerDevtoolsNetworkTools(server, bridge); registerDevtoolsStorageTools(server, bridge);