browser_localstorage_set
Store a key-value pair in the browser's localStorage to persist data across sessions.
Instructions
Set a localStorage item
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Key to set | |
| value | Yes | Value to set |
Store a key-value pair in the browser's localStorage to persist data across sessions.
Set a localStorage item
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Key to set | |
| value | Yes | Value to set |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, clearly indicating this operation modifies persisted browser state. The description, however, does not elaborate on any behavioral traits beyond 'Set'. It fails to mention that existing values are overwritten, that the operation only affects the current origin, or that there is no return/output schema defined. It provides no value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, containing exactly one verb and one object. It is front-loaded with the action. Every word is necessary. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should mention what the tool returns or confirms (e.g., no return value). It also lacks any note about persistence scope (origin, page), error conditions (e.g., quota exceeded, blocked due to settings), or side effects (trigger of storage events). For a simple mutation tool with destructive hint, completeness is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents 'key: Key to set' and 'value: Value to set'. The description does not add any meaning beyond those names—no constraints (e.g., max length, allowable characters, JSON serialization hint), no relationship between key and value (e.g., value may be stringified), and no defaults. Baseline 3 is not warranted because the description adds zero parameter insight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Set a localStorage item' uses a specific verb ('Set'), a concrete resource ('localStorage item'), and the name clearly mirrors this. It is distinct from siblings like browser_localstorage_get, browser_localstorage_delete, and browser_localstorage_clear. The only minor lack is not explicitly stating that it operates on the browser page's localStorage, but the sibling context and title make that clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when or when not to use this tool versus alternatives. For example, it does not mention that localStorage.persists across navigations (unlike sessionStorage) or that sensitive data has security/clearance implications. Given numerous related storage tools in siblings (browser_localstorage_list, delete, clear, sessionstorage_set, etc.), the lack of selection cues is a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pelag-Michael/Chrome-for-AI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server