Skip to main content
Glama

send_job_feedback

Idempotent

Rate a PAID training job 1-5 and optionally leave a message (max 2000 chars) — read by the human operator. Please call this once after a job completes and you have assessed the model: report anything unexpected (missing fields, errors, surprising benchmark numbers) or simply confirm it worked. One feedback per job; calling again overwrites.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
engineYesTarget engine. 'openwakeword': desktop / Raspberry Pi / Python (ONNX+TFLite, `pip install openwakeword`). 'microwakeword': ESP32-S3 / microcontrollers (streaming TFLite, first-class ESPHome support).
ratingYes1 = bad, 5 = great
messageNoFree text, max 2000 chars.
categoryNo
job_tokenYes

TDQS

A4.3/5.0
Behavior4/5

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

While annotations already include idempotentHint=true, the description adds meaningful context: the feedback is 'read by the human operator' and that 'calling again overwrites.' This enriches the behavioral model beyond the structured hints without contradicting them.

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

Conciseness5/5

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

The description is two sentences long, front-loads the purpose, and packs essential usage guidance (when to call, what to report, overwrite behavior) into a compact, readable format. Every clause earns its place.

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 simple feedback tool with good annotations and no output schema, the description covers the purpose, the trigger condition, the one-per-job constraint, overwrite behavior, and the human-reader context. This is fully sufficient for an agent to use the tool correctly.

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

Parameters3/5

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

The schema covers engine, rating, and message with descriptions (60% coverage), and the description reiterates rating and message limits. However, it does not clarify the 'job_token' or 'category' parameters, leaving those to the schema's empty descriptions. The description adds little beyond the schema for individual parameters.

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 starts with a specific verb and resource: 'Rate a PAID training job 1-5 and optionally leave a message (max 2000 chars) — read by the human operator.' This makes the tool's action and scope unmistakable and easily distinguishes it from sibling tools like create_training_job or get_training_job.

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?

The description gives clear context for when to call: 'after a job completes and you have assessed the model.' It also provides explicit behavioral guidance ('report anything unexpected... or simply confirm it worked') and a constraint ('One feedback per job; calling again overwrites'). It does not name alternatives, but the sibling context makes those clear.

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

A4.2/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose: buying library models, creating training jobs, estimating word quality, checking statuses, handling payments, searching the library, and submitting feedback. The pay_ and get_ tools are clearly separated by their targets (training job vs. commercial license vs. library purchase), so an agent can unambiguously select the right one.

Naming Consistency5/5

All 12 tools follow a consistent verb_noun pattern in snake_case: buy_library_model, create_training_job, estimate_wake_word, get_*, pay_*, search_wake_word_library, send_job_feedback, settle_x402_payment. The naming is uniform and predictable, making it easy to infer tool behavior.

Tool Count5/5

12 tools is well within the ideal 3-15 range for a focused service. Each tool addresses a distinct stage of the wake-word workflow (search, estimate, create, pay, monitor, purchase, license, feedback), and none feel redundant or unnecessary for the server's stated purpose.

Completeness5/5

The tool surface covers the full lifecycle: discovery (search), validation (estimate), creation (create_training_job), payment (pay_training_job, settle_x402_payment), tracking (get_training_job), feedback (send_job_feedback), plus library purchase with its own payment and status, and commercial licensing. There are no obvious dead ends; every major operation an agent would need is present.

Resources