Skip to main content
Glama

HALOWERK: Store, read, list and delete small pieces of agent state under a namespace, with

state_store
Read-only

Persist agent state between calls with namespaced key-value actions: set, get, list, delete. Enforce mandatory TTL (max 30 days) for JSON up to 64 KB; expired entries removed on access.

Instructions

Store, read, list and delete small pieces of agent state under a namespace, with a mandatory expiry so nothing is kept forever.

Kostenpflichtig: 0.002 USDC je Aufruf. Bezahlt per x402 auf Base, ohne Konto. Hoechstens 0.002 USDC je Aufruf.

Key-value state for agents that need to survive between calls. Every write carries a time-to-live; the maximum is 30 days and there is no way to store something permanently. Values are opaque JSON up to 64 KB, at most 1000 live keys per namespace. Actions: set, get, list, delete. A get on a missing or expired key answers found=false, it is not an error. The namespace is a plain string chosen by the caller and is not authenticated — anyone who knows it can read it, so do not put secrets in it. Expired rows are removed on access, not on a timer, so a list can lag a few seconds behind the exact expiry moment. Preis 0.002 USDC je Aufruf, Abrechnung über x402.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyNoKey. Required for set, get and delete.
limitNoMaximum keys returned by list.
valueNoAny JSON value. Required for set. Serialised size must stay under 64 KB.
actionYesWhat to do.
namespaceYesNamespace the key lives in. Not a secret and not authenticated.
ttl_secondsNoLifetime in seconds, at most 30 days.
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly lists 'set' and 'delete' actions and says 'Every write carries...', but annotations declare readOnlyHint=true and destructiveHint=false. This is a direct contradiction: the tool is described as mutating state, so the read-only hint is misleading. Although the text offers rich behavioral detail (TTL cleanup, found=false, namespace unauthenticated), the contradiction forces a score of 1 per rubric.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and includes useful details, but it repeats the pricing/cost statement twice ('Kostenpflichtig...' and 'Preis...') and contains slightly disjointed German/English phrasing. It is reasonably sized but not every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description compensates by explaining the get behavior on missing/expired keys (found=false), removal behavior on access, 64 KB size limit, and 1000-key cap. It gives enough context for an agent to select and use the tool, though it could state error behavior for invalid actions or oversize values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3; the description adds value by enumerating the valid actions ('set, get, list, delete'), which the schema leaves as the vague 'What to do.' It also reinforces action-specific requirements (key for set/get/delete, value for set, TTL max) and adds the 1000-key limit. This goes beyond the schema without being redundant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb phrase—'Store, read, list and delete small pieces of agent state under a namespace'—and adds the key constraint 'mandatory expiry.' This clearly identifies the resource (agent state) and the supported operations, distinguishing it from sibling tools like web_archive and cve_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the intended use case: 'Key-value state for agents that need to survive between calls.' It also gives exclusions: no permanent storage (30-day TTL max) and not for secrets ('do not put secrets in it'). It doesn't name an alternative tool, but no obvious sibling provides this function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/halowerk/halowerk-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server