Skip to main content
Glama
aibtcdev
by aibtcdev

inbox_auto_reply

Automatically reads, answers, signs and posts paid inbox messages, skipping duplicates and respecting spend and daily caps to avoid double replies.

Instructions

Answer this agent's paid aibtc.com inbox messages automatically. In one call: reads the inbox, picks paid, settled, unanswered messages (oldest first), writes each reply with an AIBTC Inference Marketplace model (paid per request in sBTC via x402, ~1 sat), signs it (BIP-322) and posts it to the outbox (free). Never answers a message twice (overlapping runs skip a message another run is answering), stops at the daily cap or on a quote above maxSatsPerReply, gives up on a message after 2 paid failures, and returns a summary: checked, replied, skipped (with reason), failed, inference sats spent and inference cap remaining.

Posting a reply is free; the only cost is the inference call that writes it. Call it from the autonomy loop when the heartbeat or inbox shows unread messages. Configure first with inbox_auto_reply_configure. dryRun writes (and pays for) replies without posting them, so the operator can review the voice; each draft is saved and reused by later dry runs and the real run while the systemPrompt and model are unchanged. Requires an unlocked wallet with a bc1q address and a little sBTC. Mainnet only.

Tip: call earning_opportunities to see how to put your assets to work.

Input Schema

NameRequiredDescriptionDefault
dryRunNoGenerate replies without posting them or marking messages handled. A new draft is paid for once; a saved draft with the same systemPrompt and model is reused free, here and by the real run.
maxRepliesPerRunNoMost messages to answer in this call. Default 5.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.77.1

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so: it discloses cost mechanics (inference paid in sBTC via x402 ~1 sat, posting free), deduplication guarantees ('overlapping runs skip a message another run is answering'), stop conditions (daily cap, maxSatsPerReply quote ceiling), failure policy (gives up after 2 paid failures), prerequisites (unlocked wallet with bc1q address and sBTC), and mainnet-only scope. Nothing about side effects or safety profile is left implicit.

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

Conciseness4/5

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

Purpose is front-loaded in the first sentence and each clause carries operational information (costs, caps, dedup, prerequisites, return summary). It is nonetheless a dense four-paragraph block, and the closing 'Tip: call earning_opportunities...' is promotional rather than functional, slightly diluting the signal.

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

Completeness5/5

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

For a high-complexity, money-spending automation tool with no annotations and no output schema, the description supplies everything an agent needs: prerequisites, cost, side effects, idempotency, failure handling, and even an inline enumeration of the return summary fields (checked, replied, skipped, failed, sats spent, cap remaining) that the absent output schema would otherwise have to provide.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: dryRun's paid-once/saved-draft reuse behavior is explained in terms of the systemPrompt and model, which the schema only alludes to. maxRepliesPerRun is not called out by name — its effect is only implied through the 'daily cap' — so it stops just short of a 5.

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 opening sentence states a specific verb and resource ('Answer this agent's paid aibtc.com inbox messages automatically') and the second enumerates the full pipeline: select paid/settled/unanswered messages oldest-first, generate a reply with an Inference Marketplace model, BIP-322 sign, post to outbox. It also distinguishes itself from its closest sibling by naming inbox_auto_reply_configure as the setup step and implicitly from send_inbox_message (manual send) by describing the fully automated path.

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

Usage Guidelines5/5

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

Explicit invocation context: 'Call it from the autonomy loop when the heartbeat or inbox shows unread messages', with the prerequisite 'Configure first with inbox_auto_reply_configure' and the alternative mode 'dryRun writes (and pays for) replies without posting them, so the operator can review the voice.' When-to-use, when-to-use-dry-run, and setup ordering are all spelled out.

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

Deploy Server

Other Tools