Skip to main content
Glama

Server Details

Benchmark your own prompt on 100+ models with real API calls, then choose the winner by accuracy, cost, speed, or any mix of those.

Ownership verified
Status
Healthy
Uptime
99.9% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 10 tools

Disambiguation5/5

Each tool maps to a distinct step in the benchmark lifecycle: preview cost (estimate_cost), validate YAML (validate_task), consult docs (get_task_format), upload files (prepare_attachments), execute (run_benchmark), and retrieve outcomes (get_results). The potentially confusable pairs — estimate_cost vs run_benchmark, get_task_format vs validate_task — are clearly separated by 'previews without spending' vs 'executes' and 'documentation' vs 'checking'.

Naming Consistency5/5

All ten tools follow a strict snake_case verb_noun pattern (get_account, list_models, run_benchmark, watch_task, export_openclaw_csv). Even the one domain-specific name, export_openclaw_csv, keeps the verb_object_format convention.

Tool Count5/5

Ten tools is a well-scoped set for a benchmark service, with each tool earning its place across discovery, authoring, upload, costing, execution, results, monitoring, export, and account management. Nothing feels redundant or padded.

Completeness4/5

The surface covers the full workflow from model discovery through task authoring, validation, execution, results, and ongoing re-testing. Minor gaps exist: there is no list_jobs/get_job to recover a lost job_id, and no cancel_task or cleanup operation for saved tasks.

Available Tools

10 tools
estimate_costEstimate a run's costAInspect

Credits a run_benchmark call would use, before spending anything: the expected total, the split per model, the balance needed to start, the worst case, and the user's balance. Same inputs and run settings as run_benchmark. Use it to drop an expensive model, or to compare settings (e.g. max_tokens), before running.

NameRequiredDescriptionDefault
modelsYes
presetNoLike the app's presets: standard = 2 passes + snappy timeouts (the default), thorough = 3 passes + patient timeouts. Explicit stability_runs / timeout_profile override it
fail_fastNoStop a model after repeated errors to save credits. Set false to let every model finish, e.g. to diagnose failures
task_yamlYesThe full task YAML (a JSON object with the same fields also works)
max_tokensNoOutput token limit per answer, 16 to 16000; 0 = no limit. Keep the default unless results show it was too low: a higher limit raises the credits needed to start. get_results flags models whose answers came back empty or near the limit; re-run those with a higher value
upload_uidNoFrom prepare_attachments, so image and document tokens are counted
custom_timeoutNoSeconds per answer, with timeout_profile custom
stability_runsNoPasses per model; 2+ shows which models are consistent
temp_preferenceNoWith temperature_discovery: which temperature wins a tielow
timeout_profileNoHow long to wait per answer: snappy 45s, patient 90s, custom = custom_timeoutsnappy
temperature_discoveryNoFind each model's best temperature for this task. Costs about 6x as much

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it discloses the returned content: expected total, per-model split, balance needed to start, worst case, and the user's balance. That is real behavioral context for a tool with no output schema. It omits auth requirements and any latency caveats, keeping it short of a 5.

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?

Two sentences, front-loaded with what the call returns and why it exists. Every clause earns its place: return contents, input equivalence, and the two decision scenarios it enables.

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?

With no output schema and no annotations, the description supplies the return-value inventory, the input contract, and the usage trigger, which is most of what an agent needs. It stops short of stating safety/permission expectations or rate behavior, leaving a small gap.

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 description coverage is already 91%, so the schema documents the parameters well and the baseline is 3. The description adds cross-tool semantics that the schema cannot: 'Same inputs and run settings as run_benchmark,' letting an agent reuse a known input shape rather than re-derive 11 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?

States a specific verb and resource ('credits a run_benchmark call would use') and immediately marks the scope as pre-execution ('before spending anything'). It is unmistakably distinct from run_benchmark, which the agent can identify from the name alone.

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?

Gives concrete when-to-use cases: 'drop an expensive model, or to compare settings (e.g. max_tokens), before running.' It also anchors the tool to its sibling by noting 'Same inputs and run settings as run_benchmark.' It does not explicitly state when not to use it, but the 'before running' framing implies the boundary.

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

export_openclaw_csvExport for the OpenClaw routerAInspect

A completed job's results as the CSV the OpenMark Router plugin for OpenClaw reads (the same file as the app's Export > OpenClaw). Save it in the plugin's benchmarks folder, by default ~/.openclaw/workspace/plugins/openmark-router/benchmarks/, and OpenClaw routes this kind of task to the benchmark winner. Free.

NameRequiredDescriptionDefault
job_idYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description does real work: it discloses that the operation is free, gives the default destination path, and states the file must land in a specific folder for routing to work. However, it never resolves whether the tool itself writes the file or returns CSV content for the agent to save — the imperative 'Save it in...' leaves that ambiguous, and no error behavior for incomplete jobs is described.

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?

One dense sentence that leads with what the tool produces, then the destination path, then the payoff ('OpenClaw routes this kind of task to the benchmark winner') and the cost note. Slightly packed but every clause carries information; nothing is filler.

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?

For a one-parameter tool with no annotations and no output schema, the description covers purpose, destination, and cost, which is most of what an agent needs. The gap is the return contract — whether CSV text comes back or a file is written — which matters because the description instructs the caller to save the file.

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 single job_id parameter has 0% schema description coverage, so the description carries the burden; it partially compensates by establishing that the job must be completed and that its results are the payload. It adds no detail on ID format or what happens if the job is still running.

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

Purpose4/5

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

The description specifies the exact artifact produced: a completed job's results rendered as the CSV format the OpenMark Router plugin reads, explicitly equated with the app's Export > OpenClaw file. The verb is implicit (it starts with the object, not 'Export'), but the resource and output format are unambiguous enough to separate it from get_results or get_task_format.

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 gives a clear usage context: use this when feeding OpenClaw's benchmark routing, with the file placed in the plugin's benchmarks folder. It does not name an explicit alternative or exclusion (e.g., when to prefer get_results instead), which keeps it short of a 5.

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

get_accountAccount, credits and plansAInspect

The user's plan, credit balance and limits, and what a credit pack, Pro or Expert would unlock. Use it before large runs, or when a run is refused for credits or limits.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool is informational (returns balance/limits and what upgrades would unlock) and implies a safe, user-scoped read, but it never states read-only status, auth requirements, or whether calling it itself consumes anything. Adequate for a zero-parameter read, but not rich.

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?

Two sentences: the first front-loads what is returned, the second front-loads when to call it. Every clause carries information (returned fields, upgrade tiers, two usage triggers) with zero filler.

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?

With no output schema, the description usefully enumerates the return contents (plan, credit balance, limits, upgrade value), which is the key information an agent needs. It is complete enough to call correctly, though it could say more about freshness or whether results are account-scoped to the authenticated user.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-parameter tool is 4. The description correctly adds no parameter noise.

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

Purpose4/5

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

The description names the specific resource contents: plan, credit balance, limits, and upgrade previews (credit pack, Pro, Expert). That is far more specific than the title, and no sibling tool (get_results, list_models, run_benchmark, etc.) overlaps with account/billing data, so differentiation is implicit. It stops short of an explicit verb+contrast statement, hence a 4 rather than 5.

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 gives two concrete trigger conditions: 'before large runs' and 'when a run is refused for credits or limits.' That is actionable when-to-use guidance. It does not name a when-not condition or an alternative tool, but no sibling offers comparable account data, so the gap is minor.

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

get_resultsGet benchmark resultsAInspect

Status of a benchmark job, and once completed the ranked results (score, stability, cost per run, latency), the tests each model missed with its answer, a recommendation for the chosen objective and quick picks for the others.

NameRequiredDescriptionDefault
job_idYes
toleranceNoScore points below the top score that still count as good enough
show_missesNoList the tests each model got wrong, with the expected answer and the model's reply
optimize_forNoaccuracy (same order as the app's results table): best score, then cheapest, then fastest. cost / speed / stability: cheapest / fastest / most consistent model within `tolerance` points of the top scoreaccuracy

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose the state-dependent return payload (status while running, full results once complete) and what show_misses yields, but it says nothing about read-only safety, whether polling is expected/repeatable, permissions, or error behavior for an unknown job_id.

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?

A single dense sentence that front-loads the primary purpose (job status) before the conditional results. It is efficient, though the long comma-separated enumeration makes it slightly harder to scan than a structured breakdown would be.

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?

There is no output schema and no annotations, so the description must carry the return-value load — and it does so thoroughly, covering status, ranked metrics, misses, and recommendations. Gaps remain around error handling, job-not-found behavior, and result pagination/size for large benchmark runs.

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 75% (job_id undocumented), so the schema does most of the work, but the description adds real meaning: it links 'the tests each model missed with its answer' to show_misses and explains that a recommendation is produced for 'the chosen objective' with 'quick picks for the others', clarifying optimize_for's effect on output. Only tolerance goes unmentioned in the description.

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

Purpose4/5

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

The description uses a specific verb+resource combination ('Status of a benchmark job, and once completed the ranked results') and enumerates the concrete outputs (score, stability, cost per run, latency, missed tests, recommendation). An agent can distinguish this from run_benchmark or estimate_cost, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

'Once completed' implies this is the retrieval step following run_benchmark, giving an implied usage context. However, it never states when to use this versus watch_task for progress polling, nor any prerequisite (e.g., that a job_id must come from run_benchmark).

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

get_task_formatTask YAML formatAInspect

How to write an OpenMark task: the YAML structure, all 18 scoring modes, and tips. Call this before writing a task. Pass a topic for the full detail on one subject (the app's Task Guide): fields, scoring, composite, chaining, documents, examples, best_practices, or a scoring mode name.

NameRequiredDescriptionDefault
topicNoOptional: fields, scoring, composite, chaining, documents, examples, best_practices, or a scoring mode name such as regex_match

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It usefully discloses the key behavioral variation — no topic yields an overview while a topic yields 'the full detail on one subject' from 'the app's Task Guide'. However, it says nothing about response format, size, or what happens on an invalid topic name.

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?

Two sentences, front-loaded with what the tool provides before the routing instruction. The second sentence is dense but each clause carries information (the subject list, the Task Guide source). Little waste, though slightly packed.

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?

For a single-optional-parameter documentation tool with no output schema or annotations, the description covers the essential elements: what content is returned, when to call it, and how the topic parameter changes scope. It could add the return format and handling of unrecognized topics, but nothing critical to correct invocation is missing.

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?

Schema description coverage is 100% and the schema already lists the exact topic values, so the baseline is 3. The description essentially mirrors those values ('fields, scoring, composite, chaining, documents, examples, best_practices, or a scoring mode name') and adds only the framing that a topic returns expanded detail, which is marginal value over the schema.

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

Purpose4/5

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

The description clearly states it returns guidance on writing an OpenMark task ('the YAML structure, all 18 scoring modes, and tips'), which is a specific resource. It implicitly separates itself from validate_task by being the 'how to write' reference rather than a checker, but it never names that sibling, so the differentiation is only inferable.

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 gives an explicit trigger: 'Call this before writing a task.' It also explains the topic parameter's role in routing to detail. It stops short of naming when NOT to use it or pointing to specific alternatives (e.g., validate_task after drafting), so it is clear context without exclusions.

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

list_modelsList modelsAInspect

Current OpenMark model ids with list prices ($ per 1M tokens), as text and as a structured list. Use these ids in run_benchmark. Append @low, @medium or @high to a reasoning model id to set its reasoning effort.

NameRequiredDescriptionDefault
searchNoFilter by id, name or provider, e.g. 'claude', 'gemini flash'
images_onlyNoOnly models that accept image attachments
max_output_priceNoOnly models at or below this $ per 1M output tokens

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the return shape (text plus structured list), the price unit ($ per 1M tokens), and the non-obvious @low/@medium/@high reasoning-effort modifier on model ids. It omits auth/rate-limit/pagination behavior, so not a 5.

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?

Two tight sentences, front-loaded with what is returned before the downstream instruction. Every clause carries information the agent needs.

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, and the description compensates by describing the return format and the reasoning-effort suffix syntax. Filters are covered by the schema. Minor gaps: nothing about default ordering or result size, but nothing an agent needs to call it correctly is missing.

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?

Schema description coverage is 100%, so the schema already documents search, images_only, and max_output_price. The description never references these filters, but the price-per-1M-tokens framing gives partial context for max_output_price. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb and resource ('Current OpenMark model ids') plus the two things it returns (text and structured list) and the price unit. No sibling (get_account, estimate_cost, get_results) does model enumeration, so the agent can distinguish it immediately.

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?

Explicitly routes the agent downstream: 'Use these ids in run_benchmark,' which tells the agent when this tool is the right first step. It stops short of naming when-not or alternatives (e.g. estimate_cost for pricing math), but the workflow context is clear.

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

prepare_attachmentsPrepare file attachmentsAInspect

Get an upload_uid and a one-hour upload link (no API key needed) for images, PDFs or text documents, with the exact curl command. Upload the files, reference them by file name in each test's attachments list, then pass the upload_uid to estimate_cost / run_benchmark.

NameRequiredDescriptionDefault
file_namesNoOptional: the local file paths to upload, to get a ready-to-run command

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it discloses key traits: no API key needed and a one-hour expiry on the upload link. It also notes the return of a curl command and an upload_uid. It does not cover failure modes or persistence of uploaded files, but the core behavioral profile is solid.

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?

Two dense sentences with the deliverable (upload_uid and link) front-loaded and the workflow following. No filler, though the second sentence packs several steps into one clause.

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?

With no output schema, the description correctly explains what comes back (upload_uid, one-hour link, curl command) and how it feeds downstream tools. For a one-optional-parameter preparation tool, nothing essential for correct invocation is missing.

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?

Schema coverage is 100% and the single optional parameter is already documented as local file paths. The description's mention of 'images, PDFs or text documents' and file-name referencing adds slight context but no syntax or format detail beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: getting an upload_uid and a one-hour upload link for images, PDFs, or text documents. The scope and deliverables are concrete, and it positions itself relative to the later workflow tools (estimate_cost / run_benchmark) rather than the sibling list tools.

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?

Gives a clear end-to-end workflow: get link, upload files, reference by file name, then pass upload_uid to estimate_cost / run_benchmark. The sequencing cue ('then pass') tells the agent exactly when this tool fires, though it stops short of explicit when-not-to-use exclusions.

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

run_benchmarkRun a benchmarkAInspect

Save a task (YAML, see get_task_format) to the user's OpenMark account and run it on the given models with real API calls. Returns a job_id and the expected cost; poll get_results. Spends the user's credits; pass max_credits to only start within a budget. Optional run settings match the app's Configure & Run panel (preset, stability_runs, max_tokens, temperature_discovery, temp_preference, timeout_profile, custom_timeout, fail_fast).

NameRequiredDescriptionDefault
modelsYesModel ids from list_models
presetNoLike the app's presets: standard = 2 passes + snappy timeouts (the default), thorough = 3 passes + patient timeouts. Explicit stability_runs / timeout_profile override it
fail_fastNoStop a model after repeated errors to save credits. Set false to let every model finish, e.g. to diagnose failures
task_yamlYesThe full task YAML (a JSON object with the same fields also works)
max_tokensNoOutput token limit per answer, 16 to 16000; 0 = no limit. Keep the default unless results show it was too low: a higher limit raises the credits needed to start. get_results flags models whose answers came back empty or near the limit; re-run those with a higher value
upload_uidNoFrom prepare_attachments, when tests use attachments
max_creditsNoBudget: if the expected cost is higher, nothing runs and you get the quote instead
custom_timeoutNoSeconds per answer, with timeout_profile custom
stability_runsNoPasses per model; 2+ shows which models are consistent
temp_preferenceNoWith temperature_discovery: which temperature wins a tielow
timeout_profileNoHow long to wait per answer: snappy 45s, patient 90s, custom = custom_timeoutsnappy
temperature_discoveryNoFind each model's best temperature for this task. Costs about 6x as much

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses that real API calls are made, that the user's credits are spent, that temperature_discovery costs about 6x, and that exceeding max_credits means nothing runs and only a quote is returned. It also explains the async contract (job_id + expected cost, then poll get_results).

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?

Three sentences, front-loaded with the core action and the credit/budget warning. The trailing parenthetical enumerating all eight optional parameters is largely redundant against the schema and is the one element that does not earn 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 12-parameter mutation tool with no output schema, the description covers the missing pieces: what it returns (job_id, expected cost), the follow-up call (get_results), the cost side effect, and the budget gate. Nothing an agent needs to invoke it correctly is absent.

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?

Schema description coverage is 100% and the schema itself carries rich per-parameter explanations (preset overrides, fail_fast rationale, max_tokens sizing, timeout_profile values), so the baseline is 3. The description's list of the eight optional settings restates what the schema already documents and adds only the framing that they mirror the app's Configure & Run panel.

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?

States a specific compound action (save a task to the user's account and run it on given models with real API calls) and immediately distinguishes itself from siblings by naming get_task_format, get_results, and list_models in context. An agent can tell this is the execution tool versus the estimation/read tools without opening a schema.

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?

Gives clear operational context: poll get_results afterward, pass max_credits to stay within a budget, and fail_fast toggles diagnostic vs. completion behavior. It does not explicitly say when to prefer estimate_cost over this tool, which is the one obvious alternative an agent needs to weigh, so it falls short of a 5.

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

validate_taskCheck a taskAInspect

Check a task YAML the way OpenMark will before running it: structure, scoring settings, and the test limit of the user's plan. Free, saves nothing. Returns the problems to fix and warnings worth a look.

NameRequiredDescriptionDefault
task_yamlYesThe full task YAML (a JSON object with the same fields also works)

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the operation is read-only and side-effect free ("Free, saves nothing"), that it mirrors the real validation OpenMark performs, and that it surfaces both errors and warnings. It omits auth requirements or rate limits, but covers the key behavioral traits.

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?

Two tight sentences, front-loaded with the action and scope, with the cost/side-effect note and return summary packed efficiently. No filler, though the phrasing is slightly compressed rather than maximally clean.

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?

For a single-parameter validation tool with no output schema, the description covers what is checked and what is returned (problems plus warnings) and frames it as a dry run. Nothing critical is missing, though prerequisite/plan-eligibility behavior is only hinted at.

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?

Schema coverage is 100% for the single parameter, so the schema already documents task_yaml and its JSON-object alternative. The description adds no format or syntax detail beyond confirming it operates on a task YAML, making 3 the appropriate baseline.

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

Purpose4/5

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

States a specific verb (check/validate) and resource (task YAML) and enumerates the scope of the check: structure, scoring settings, and plan test limit. It is clearly distinguishable from siblings like run_benchmark, though it never names an alternative tool explicitly.

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 way OpenMark will before running it" plus "Free, saves nothing" clearly positions this as a pre-flight dry run to be used before run_benchmark. The when is well conveyed; there is no explicit exclusion or named alternative tool, so it stops short of a 5.

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

watch_taskWatch a task for better modelsAInspect

Watch the task of a completed job: when new or cheaper models ship, OpenMark re-tests up to 4 of them next to the user's pick and emails the user only when one beats it. Each check uses the user's credits at the normal rate.

NameRequiredDescriptionDefault
modelNoThe model to keep as the pick (default: the best-scoring model). Use the model you recommended.
job_idYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the side effect (email only when a model beats the pick), the cap (up to 4 models), and the cost model (checks consume the user's credits at the normal rate). It stops short of stating check frequency, whether it is recurring, or how to stop watching.

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?

Two sentences with no filler; the core action is front-loaded before the behavioral detail. Dense but each clause (retest count, email trigger, credit cost) earns its place.

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?

For a mutation/notification tool with no annotations and no output schema, the description covers the key behavior and cost but omits the return value, whether the watch is recurring or one-shot, and how to detach. Adequate but with clear gaps.

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?

Schema coverage is 50%. The 'model' parameter is well documented in the schema (default = best-scoring model) and the description alludes to it as 'the user's pick'; the description's 'completed job' phrasing adds mild meaning to the undocumented, required job_id. Neither fully compensates for the half of parameters lacking schema text.

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

Purpose4/5

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

States a specific verb+resource ('Watch the task of a completed job') and elaborates with the concrete behavior: re-testing up to 4 new/cheaper models against the user's pick. It is clearly distinct from siblings like get_results or run_benchmark, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

The phrase 'of a completed job' implies a prerequisite (the job must be finished) and the content implies monitoring for future model improvements, but there is no explicit when-to-use vs alternatives or when-not guidance. Usage is inferable rather than stated.

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.

  1. 1 tool update
    • Addedexport_openclaw_csv
  2. 2 tool updates
    • Changedget_task_format1 field changed
      • addedInput schema / properties / topic
        Added value: +{
        +  "description": "Optional: fields, scoring, composite, chaining, documents, examples, best_practices, or a scoring mode name such as regex_match",
        +  "type": "string"
        +}
    • Addedvalidate_task
  3. 2 tool updates
    • Changedestimate_cost9 fields changed
      • addedInput schema / properties / custom_timeout
        Added value: +{
        +  "description": "Seconds per answer, with timeout_profile custom",
        +  "maximum": 600,
        +  "minimum": 120,
        +  "type": "integer"
        +}
      • addedInput schema / properties / fail_fast
        Added value: +{
        +  "default": true,
        +  "description": "Stop a model after repeated errors to save credits. Set false to let every model finish, e.g. to diagnose failures",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / max_tokens
        Added value: +{
        +  "default": 500,
        +  "description": "Output token limit per answer, 16 to 16000; 0 = no limit. Keep the default unless results show it was too low: a higher limit raises the credits needed to start. get_results flags models whose answers came back empty or near the limit; re-run those with a higher value",
        +  "maximum": 16000,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / preset
        Added value: +{
        +  "description": "Like the app's presets: standard = 2 passes + snappy timeouts (the default), thorough = 3 passes + patient timeouts. Explicit stability_runs / timeout_profile override it",
        +  "enum": [
        +    "standard",
        +    "thorough"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / stability_runs / description
        Added value: +"Passes per model; 2+ shows which models are consistent"
      • changedInput schema / properties / stability_runs / maximum
        Previous value: -3New value: +5
      • addedInput schema / properties / temp_preference
        Added value: +{
        +  "default": "low",
        +  "description": "With temperature_discovery: which temperature wins a tie",
        +  "enum": [
        +    "low",
        +    "high"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / temperature_discovery
        Added value: +{
        +  "default": false,
        +  "description": "Find each model's best temperature for this task. Costs about 6x as much",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / timeout_profile
        Added value: +{
        +  "default": "snappy",
        +  "description": "How long to wait per answer: snappy 45s, patient 90s, custom = custom_timeout",
        +  "enum": [
        +    "snappy",
        +    "patient",
        +    "custom"
        +  ],
        +  "type": "string"
        +}
    • Changedrun_benchmark8 fields changed
      • addedInput schema / properties / custom_timeout
        Added value: +{
        +  "description": "Seconds per answer, with timeout_profile custom",
        +  "maximum": 600,
        +  "minimum": 120,
        +  "type": "integer"
        +}
      • addedInput schema / properties / fail_fast
        Added value: +{
        +  "default": true,
        +  "description": "Stop a model after repeated errors to save credits. Set false to let every model finish, e.g. to diagnose failures",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / max_tokens
        Added value: +{
        +  "default": 500,
        +  "description": "Output token limit per answer, 16 to 16000; 0 = no limit. Keep the default unless results show it was too low: a higher limit raises the credits needed to start. get_results flags models whose answers came back empty or near the limit; re-run those with a higher value",
        +  "maximum": 16000,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / preset
        Added value: +{
        +  "description": "Like the app's presets: standard = 2 passes + snappy timeouts (the default), thorough = 3 passes + patient timeouts. Explicit stability_runs / timeout_profile override it",
        +  "enum": [
        +    "standard",
        +    "thorough"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / stability_runs / maximum
        Previous value: -3New value: +5
      • addedInput schema / properties / temp_preference
        Added value: +{
        +  "default": "low",
        +  "description": "With temperature_discovery: which temperature wins a tie",
        +  "enum": [
        +    "low",
        +    "high"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / temperature_discovery
        Added value: +{
        +  "default": false,
        +  "description": "Find each model's best temperature for this task. Costs about 6x as much",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / timeout_profile
        Added value: +{
        +  "default": "snappy",
        +  "description": "How long to wait per answer: snappy 45s, patient 90s, custom = custom_timeout",
        +  "enum": [
        +    "snappy",
        +    "patient",
        +    "custom"
        +  ],
        +  "type": "string"
        +}
  4. 3 tool updates
    • Addedestimate_cost
    • Changedget_results1 field changed
      • addedInput schema / properties / show_misses
        Added value: +{
        +  "default": true,
        +  "description": "List the tests each model got wrong, with the expected answer and the model's reply",
        +  "type": "boolean"
        +}
    • Changedrun_benchmark1 field changed
      • addedInput schema / properties / max_credits
        Added value: +{
        +  "description": "Budget: if the expected cost is higher, nothing runs and you get the quote instead",
        +  "minimum": 1,
        +  "type": "integer"
        +}
  5. 2 tool updates
    • Changedget_results1 field changed
      • changedInput schema / properties / optimize_for / description
        Previous value: -"accuracy: best score, cheapest on ties. cost / speed / stability: cheapest / fastest / most consistent model within `tolerance` points of the top score"New value: +"accuracy (same order as the app's results table): best score, then cheapest, then fastest. cost / speed / stability: cheapest / fastest / most consistent model within `tolerance` points of the top score"
    • Changedwatch_task1 field changed
      • addedInput schema / properties / model
        Added value: +{
        +  "description": "The model to keep as the pick (default: the best-scoring model). Use the model you recommended.",
        +  "type": "string"
        +}
  6. 5 tool updates
    • Addedget_account
    • Changedget_results2 fields changed
      • addedInput schema / properties / optimize_for
        Added value: +{
        +  "default": "accuracy",
        +  "description": "accuracy: best score, cheapest on ties. cost / speed / stability: cheapest / fastest / most consistent model within `tolerance` points of the top score",
        +  "enum": [
        +    "accuracy",
        +    "cost",
        +    "speed",
        +    "stability"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / tolerance
        Added value: +{
        +  "default": 2,
        +  "description": "Score points below the top score that still count as good enough",
        +  "maximum": 50,
        +  "minimum": 0,
        +  "type": "number"
        +}
    • Changedlist_models1 field changed
      • addedInput schema / properties / images_only
        Added value: +{
        +  "description": "Only models that accept image attachments",
        +  "type": "boolean"
        +}
    • Addedprepare_attachments
    • Changedrun_benchmark2 fields changed
      • changedInput schema / properties / task_yaml / description
        Previous value: -"The full task YAML"New value: +"The full task YAML (a JSON object with the same fields also works)"
      • addedInput schema / properties / upload_uid
        Added value: +{
        +  "description": "From prepare_attachments, when tests use attachments",
        +  "type": "string"
        +}
  7. 5 tool updates
    • First observedget_results
    • First observedget_task_format
    • First observedlist_models
    • First observedrun_benchmark
    • First observedwatch_task

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources