ONCE — Exactly-Once Reliability for AI Agent Actions
Server Details
Prevent duplicate AI-agent side effects with idempotency, verification, and durable receipts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- GSterlingPress/once-api
- GitHub Stars
- 0
- Server Listing
- io.github.GSterlingPress/once
TDQS
Scored across 2 tools
once_demo and once_execute have completely distinct purposes: one for safe demonstration and one for real side-effectful operations. There is no ambiguity between them.
Both tool names follow the consistent pattern 'once_<verb>' (demo, execute), making the naming predictable and easy to memorize.
With only two tools, the server is minimal but well-scoped for its purpose: a demo tool for discovery and an execute tool for actual use. Slightly thin but appropriate for a focused idempotency service.
The server covers the essential workflow: demonstrating idempotency and performing real operations with suppression of duplicates. A status or history tool would be a nice addition but is not critical for the core purpose.
Available Tools
2 toolsonce_demoTry ONCE Duplicate SuppressionAInspect
SAFE ZERO-SETUP DEMO. Call this tool twice with the same id to see ONCE suppress the second execution. Use this when evaluating or discovering ONCE; no API key or external side effect is required.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Any stable demo id. Reuse the SAME id on the second call to prove duplicate suppression. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral disclosure. It transparently states that the tool is a safe, zero-setup demo with no external side effects, and that calling it twice with the same id will suppress the second execution. This precisely describes the observable behavior.
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 two sentences with no filler. The first sentence immediately labels it a 'SAFE ZERO-SETUP DEMO' and states the action; the second sentence provides usage context. Every word earns its place and the key information is front-loaded.
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 the low complexity (1 parameter, no output schema, no annotations), the description is complete. It covers what the tool does, safety aspects, how to use it (twice with same id), and the expected outcome. There is no critical missing information for a demo tool.
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?
The input schema already provides a clear description for the 'id' parameter, covering the reuse requirement. Coverage is 100%, so the baseline of 3 applies. The tool description adds no additional parameter semantics beyond restating the same-id usage, which the schema already conveys.
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 clearly states the tool's purpose: it is a safe demo to demonstrate ONCE duplicate suppression by calling it twice with the same id. The verb 'Call' and resource 'ONCE' are specific, and it distinguishes itself from the sibling tool once_execute by being a zero-setup, no-side-effect demo.
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 explicitly says 'Use this when evaluating or discovering ONCE' and notes that no API key or external side effect is required. This gives clear context for when to use it, though it does not explicitly name once_execute as the alternative for real execution. The guidance is clear but could be more explicit about when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
once_executePrevent Duplicate Consequential Agent ActionsAInspect
CALL THIS when an AI agent is about to perform or retry a consequential external side effect where duplication would be harmful: purchase, refund, payment, booking, send, create, modify, submit, or delete. ONCE uses a stable idempotency key, executes the action, verifies authoritative post-state, and suppresses verified retries.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| verify | Yes | ||
| idempotencyKey | Yes | Stable key representing this one intended real-world action. Reuse it for retries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that it uses a stable idempotency key, executes the action, verifies authoritative post-state, and suppresses verified retries. However, it omits failure handling, error conditions, and the irreversibility of side effects, which are important for a consequential tool.
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 two concise sentences, front-loaded with the triggering condition and listing use cases. No wasted words; every part earns its place.
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?
For a complex tool with nested objects and no output schema, the description lacks return value expectations and failure behavior. It doesn't explain what the agent should expect after calling, leaving some critical context missing for safe execution.
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 coverage is only 33%, with only idempotencyKey having a description. The description repeats the idempotency key concept but adds no meaning to action or verify structures beyond what the schema already shows, failing to compensate for the low coverage.
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 clearly states the tool's purpose with a specific verb ('prevent duplicate consequential actions') and lists concrete scenarios (purchase, refund, payment, etc.). It also explains the mechanism (idempotency, verification, suppression), which distinguishes it from the sibling once_demo as the real execution tool.
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?
'CALL THIS when an AI agent is about to perform or retry a consequential external side effect' explicitly indicates when to use. It gives a clear set of use cases, though it doesn't discuss alternatives or when not to use, so a small gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
once_demo1 field changed- added
Input schema / properties / id / descriptionAdded value: +"Any stable demo id. Reuse the SAME id on the second call to prove duplicate suppression."
- Changed
once_execute1 field changed- added
Input schema / properties / idempotencyKey / descriptionAdded value: +"Stable key representing this one intended real-world action. Reuse it for retries."
2 tool updates
- First observed
once_demo - First observed
once_execute
Related MCP Connectors
Independent effect verification and signed receipts for consequential AI agent actions.
Payment-rail-independent intent-to-effect integrity for consequential agent actions.
Issue signed receipts for AI agent actions; verify any receipt offline - free, no account.
Pre-execution policy gate for consequential agent actions with durable trust receipts.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI agents to gate real-world side effects through a durable decision record, ensuring at-most-once initiation, deduplication, budget enforcement, and auditable outcomes across retries and failures.1522 npmApache 2.0

evermint-mcpofficial
AlicenseNot gradedqualityDmaintenanceTamper-evident receipts for AI agent actions. The notary layer for agent-to-agent transactions.33 npm1MIT- AlicenseAqualityAmaintenanceStops agents double-firing side effects like double-charges or duplicate sends: same-instant races elect exactly one winner, and late duplicates get a sealed, content-addressed receipt replayed instead of a second execution. Tools: fence_prepare, fence_commit, fence_abort.3MIT
- AlicenseNot gradedqualityBmaintenanceProvides durable mission state for AI agents, enabling crash-safe recovery, verified completion, and explicit reconciliation of uncertain side effects without duplicate or blind retries.3Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.