Skip to main content
Glama

set_ooda_consent

Idempotent

Opt in/out of the wake-on-condition worker.

Default OFF. When opted in, a triggered alert may run a metered background check (Haiku triage, escalating to Sonnet only if worth a closer look) and propose one action. daily_wake_budget (default 10, 1-500) hard-caps metered wakes per day. The worker never executes -- every proposal is approved in your own wallet. See get_ooda_status for wake history including skipped wakes.

Usage-vs-fee-revenue kill threshold: wakes auto-suspend if inference spend over kill_window_days (default 30 days) exceeds kill_threshold_ratio (default "0.5") of attributed fee revenue. kill_threshold_enabled lets you disable the check for this wallet; kill_threshold_ratio is a decimal string. All three are optional -- omit to leave the existing/default value untouched. See get_ooda_status for whether/why a wallet was auto-killed (kill_switched_at, kill_reason).

Workflow: consent step -- run once (or to change budget/kill config) before wakes can fire; check get_ooda_status afterward to confirm state.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opted_inYes
caller_idNo
wallet_addressYes
kill_window_daysNo
daily_wake_budgetNo
kill_threshold_ratioNo
kill_threshold_enabledNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4/5.0
Behavior4/5

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

Description explains the consent mechanism (run once), the reversible nature (consent=false withdraws it), external authorization removal, budget caps, and cost attribution. Annotations provide no readOnly/destructive hints, so the description carries full burden and does well. Minor gap: doesn't state what happens to in-flight metered checks when consent is revoked, or whether `opted_in` is the exact field name for withdrawal vs the top-level boolean.

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?

4 sentences, front-loaded with the core opt-in/off mechanic Mend. The instructions are clear but the narrative drifts into revenue attribution details (kill threshold, wallet spend attribution) that could be truncated. It's dense but not bloated; the spend-cap and escalation behavior are relevant but cost semantics could be condensed.

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

Completeness3/5

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

Good write-up of consent lifecycle (opt-in, budget caps, reversibility, external authorization revocation) and cost limits, plus a pointer to get_ooda_status to inspect current state. However, the description references fields (daily_wake_budget, kill_window_days, kill_threshold_ratio, kill_threshold_enabled) that receive no precise type/format/default detail, and it omits what the response contains, even though output schema is absent.

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

Parameters2/5

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

Schema_description_coverage is 0% – no parameter is described in the description. It mentions caller_id (email) as needed and daily_wake_budget, but the description seems to describe a different signature than the schema (calls it 'set_ooda_consent' with daily_wake_budget, whereas the tool name is 'set_ooda_consent' — actually it's 'set_ooda_consent' for wallet, caller_id, opted_in, kill_window_days? Wait the schema has kill_window_days but description mentions daily budget. There is a mismatch: the description references daily_wake_budget which exists in schema, but also mentions weekly spend cap which maps to kill_window_days? Not clearly. It doesn't name most parameters or explain their semantics.

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 — 'Opt in/out of the wake-on-condition worker' — naming the exact resource (wake-on-condition worker) and the operation. It clearly states the tool sets consent for a background process belayed to the named tool. The verbs, opt in/out, are unambiguous and the resource is precise. The description also contrasts with related sibling mutations (e.g., kill_wallet, set_wallet_policy) implicitly by scoping to consent, not wallet policy.

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?

It explicitly says 'run once (or to change consent)' and describes the intended cadence, which is clear usage guidance. It also points to get_ooda_status to inspect consent state. This is explicit and actionable — an agent can decide when to call this tool and when to call get_ooda_status instead.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.2/5.0
Disambiguation2/5

Multiple tools overlap significantly: close_perp_position vs perp_close, get_leaderboard vs get_score_leaderboard vs get_strategy_leaderboard, get_venue_status vs get_all_venues_status, send_token_social vs bulk_send_social, and get_crank_score vs get_score. Several read-only tools have nearly identical purposes, and the descriptions do not always clarify boundaries.

Naming Consistency4/5

Most tools follow a consistent verb_noun snake_case pattern (get_balances, create_strategy, set_alert, list_webhooks). However, there are deviations like 'lst_swap', 'jupiter_swap', 'flash_loan', 'sr_backtest', and the use of both 'get_' and 'list_' for reads, plus category prefixes like 'perp_' and 'strategy_' that vary in order. Overall still readable and predictable.

Tool Count1/5

177 tools is an extreme count for any server, far exceeding the 25+ threshold for 'too many'. Even a full DeFi platform does not need this many separate operations; the surface is overwhelming and clearly not well-scoped.

Completeness3/5

The domain (Solana DeFi trading) is covered extensively across swaps, perps, lending, staking, strategies, signals, and support. However, there are notable gaps: no lend_withdraw, no direct way to close a lending position, no spot order cancellation (though aggregator-based swaps may not need it), and a general lack of tiered account management. The huge number of tools makes it hard to identify missing lifecycle steps.

Resources