Skip to main content
Glama

ModelSpec

Server Details

Find AI models that fit a job from your requirements, sourced benchmarks and real cost.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
turbobeest/modelspec
GitHub Stars
2

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target clearly distinct operations (compare_models = facts, decide = fit, policy_check = compliance, vocab = vocabulary, model_info = single card). The main risk is rank vs decide, which overlap as ranking tools, but rank's description explicitly marks it deprecated ('Legacy v1; use decide') and warns against using it as a fallback, largely defusing misselection.

Naming Consistency3/5

Naming mixes conventions: verb_noun (compare_models, list_use_cases, policy_check), bare verbs (decide, rank), and bare nouns (vocab, model_info, feedback). All are snake_case and readable, but the verb/noun pattern is not predictable across the set.

Tool Count4/5

Eight tools is well-scoped for a model-selection/decision service, covering comparison, decision, policy, vocabulary, profiles and feedback. Slightly weakened by one deprecated tool (rank) that no longer earns its place but is retained for legacy callers.

Completeness4/5

The surface covers the core lifecycle: vocabulary lookup, comparison, decision, policy checks, profiles and a feedback loop. However, the decide description repeatedly instructs to 'drill down with evidence_for,' yet no such tool exists in the set, leaving a referenced-but-absent operation agents may seek.

Available Tools

8 tools
compare_modelsAInspect

Which facts, offerings and evidence do 2 to 4 named models have? Returns snapshot facts, offerings, evidence and sources in caller order; unknown values stay null. Needs an API key (Authorization: Bearer). Costs 2 credits a call; a credit costs $0.0053–$0.02 depending on the plan or pack (https://modelspec.dev/pricing/). It doesn't choose a model and does not rank or choose a winner. Proxies POST https://api.modelspec.dev/v1/compare-models with {models: [...]} and returns at most 16 KB.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelsYes2 to 4 distinct catalogue ids, such as openai/gpt-5-6, in caller order

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: bearer API key requirement, cost of 2 credits with per-credit pricing, the upstream POST endpoint it proxies, and a 16 KB response cap. It also discloses output behavior (caller order preserved, unknown values stay null), which is exactly the kind of behavioral context annotations would otherwise supply.

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 and every sentence carries operational facts (auth, price, endpoint, size cap). Slight waste in 'It doesn't choose a model and does not rank or choose a winner', where 'choose' is repeated twice, but the overall density is appropriate for the information delivered.

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?

There is no output schema, so the description must describe returns — and it does, listing the returned data shape (snapshot facts, offerings, evidence, sources), ordering guarantees, null handling and the 16 KB truncation limit. Combined with cost and auth disclosure, an agent has everything needed to call and interpret this 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?

Schema description coverage is 100% and the single `models` parameter is fully documented with pattern, min/max items and an example id. The description's '2 to 4 named models' and 'in caller order' restate the schema rather than extend it, so the baseline 3 applies.

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?

Opens with a specific verb and resource ('Which facts, offerings and evidence do 2 to 4 named models have?') and declares the boundary that separates it from the ranking/decision siblings ('does not rank or choose a winner'). An agent can distinguish it from `rank`, `decide` and `model_info` without opening any 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?

The negative case is explicit — it is not for choosing or ranking a winner — which steers agents away from misuse. However it never names the sibling tools (rank, decide) that should be used instead, so the routing is implied rather than given. The scoping to 2–4 named models is clear context for when this applies.

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

decideAInspect

Which models fit this job? Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gate or constraint the user didn't state. Relax only constraints the user stated, one at a time, and say what was relaxed and why. Prefer the answer's own relax suggestions. A tie stays a tie. Don't promote a member by knowledge from outside the response. Cite only evidence in the response. Never add benchmark figures from memory. Tied or partial answer: report the tie and caveats, pick no member; a null answer names no pick and says what's missing. A null cost is unknown. Never show it as $0.00 or "free". One vocabulary lookup per unknown facet, then decide. Read next before another call. Size task_tokens from the user's own task, and say what you assumed. Don't copy the guide's example sizes. Template weights are examples, not requirements. If the evidence basis or board does not match the task, say so: Arena web-dev evidence does not establish chat quality. p_best is the probability of ranking best under the Spec and evidence uncertainty, not the probability of matching the user's task or satisfying its requirements. Read reading when present. Present answer.kind=tied among all answer.members, including with_estate; tie-breakers are conditional. State requirements in reading.not_applied or error.issues that were not applied, including requirements removed after a rejected call. A retry does not verify them. Report estimates as estimates: fits_hardware membership is not measured fit for a specific quantization and context workload. Follow reading.do_not_claim. Never claim a rank the response does not show. Present summary_for_user to the user unchanged and keep every must_mention item. When next_move is present, offer it instead of a pick. Needs an API key (Authorization: Bearer). Costs 1 or 2 credits a call; a credit costs $0.0053–$0.02 depending on the plan or pack (https://modelspec.dev/pricing/). Not a router: call it once per job or role, not per request, then route among the models it recommends. Proxies POST https://api.modelspec.dev/v1/decide. Call decide early with a template-based Spec; refine from reading and recovery hints. Put Musts in where: these gates exclude. Put Prefers in optimize.weights: weights rank and never exclude. Unknown values go to may_qualify. Pin snapshot for reproducibility. MCP decide returns a bounded answer of at most 16 KB, summary included. Drill down with evidence_for. Complete rows need fields:null; explanation.fetch names what was removed and how to fetch it. With explain unset or "none": explain=none, limit=10, fields model_rank, cost_per_task, estimates, p_best. summary or full also sends contributions and evidence. omitted counts removed records; explain=none does not compute eliminations. explicit fields, including null, is sent as given. Over 16 KB the body is a trimmed notice and explanation.fetch says how to resend. decision_id is a citation, not a stored lookup. task free text is rejected; where is an array. Call shape, examples, recovery and budgets: https://modelspec.dev/agents.md. Null means not researched or not published, never a guess. Every sourced value on a card carries a URL and a read date. This tool returns the origin's JSON plus the origin URL; it does not invent fields. Example. Answer: status partial, answer.kind tied (a/x, b/y), next_move.kind decide_by_testing. Right report: summary_for_user verbatim, each must_mention item, then next_move.steps for its candidates. Wrong: "Start with a/x", a shortlist, or a ranked table.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/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 discharges it: it discloses the auth requirement ('Needs an API key (Authorization: Bearer)'), per-call credit cost and dollar pricing, the concrete endpoint, the 16 KB response bound, decision_id being 'a citation, not a stored lookup,' that 'task free text is rejected,' and that nulls mean unresearched. It also spells out failure/trim behavior and links to recovery docs. This is unusually rich beyond any structured field.

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

Conciseness2/5

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

The purpose is front-loaded, but the body is an undifferentiated ~700-word wall that interleaves output rules, epistemological cautions, pricing, HTTP details, and a worked example with no headings or grouping. Much content is valuable, yet the density and repetition (repeated 'never claim/never show/never add' rules) make it hard to scan, and much of it is report-style guidance rather than tool-selection information.

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?

This is a complex tool with no annotations and no output schema, and the description compensates thoroughly: it enumerates the answer components, output size limits, default and expanded field sets, error/trim handling, cost model, auth, and snapshot pinning, plus a concrete right/wrong reporting example. An agent has essentially everything it needs to call the tool and interpret the response.

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

Parameters5/5

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

Schema coverage is already 100%, yet the description still adds real semantic meaning: 'Put Musts in where: these gates exclude. Put Prefers in optimize.weights: weights rank and never exclude. Unknown values go to may_qualify,' plus 'explicit fields, including null, is sent as given' and the explain=none defaults (limit=10, fields model_rank, cost_per_task, estimates, p_best). It clarifies the gating-vs-ranking distinction that the raw schema does not convey, well above the baseline 3.

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 opening names the job concretely — 'Which models fit this job?' with 'Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot' — so the agent knows it is a spec-driven model-selection/decision tool. It also draws a behavioral boundary against generic routing ('Not a router: call it once per job or role, not per request'). It never contrasts itself with the adjacent siblings rank, compare_models, or policy_check, so the purpose is clear but not fully sibling-differentiated.

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?

Usage context is explicit: 'Call decide early with a template-based Spec; refine from reading and recovery hints,' 'call it once per job or role, not per request,' 'Read `next` before another call,' and 'One vocabulary lookup per unknown facet, then decide.' It also says how to route requirements into where vs optimize.weights vs may_qualify. What it lacks is explicit when-not-to-use guidance relative to siblings such as rank, compare_models, or policy_check.

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

feedbackAInspect

Was a ModelSpec answer reliable? After you act on an answer, say whether it was reliable, unreliable, trustworthy, untrustworthy or confusing, by proxying POST https://api.modelspec.dev/v1/feedback. Include the answer's decision_id. Free, no key, and no Authorization header is forwarded. Not for questions or support. Never put a prompt, a key or personal details in note. The response says status "recorded" or "not_recorded" (storage is off until the privacy statement covers it).

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoOptional. What was wrong or right. Never a prompt, a key or personal details.
ratingYesHow the answer held up when you acted on it.
templateNoOptional. The decision template you used.
decision_idNoThe decision_id of the answer this is about.
trying_to_decideNoOptional. What you were trying to decide.

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses no key/auth header is forwarded, that the call is free, the privacy constraint on note content, and the possible response statuses including that storage is currently off. It doesn't detail retry/rate-limit behavior, but coverage is strong for a mutation tool.

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?

Front-loads the purpose, then constraints, then the endpoint and privacy caveats. Every sentence adds an operational fact with no filler.

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?

Despite no output schema, the description explains the return status ('recorded' or 'not_recorded') and its caveat, and covers auth, privacy and usage context. Nothing an agent needs to invoke it correctly is missing.

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 by instructing that the answer's decision_id must be included (the schema marks only rating as required) and reinforcing the note privacy constraint.

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+resource: submitting a reliability rating ('reliable, unreliable, trustworthy, untrustworthy or confusing') about a ModelSpec answer, and names the exact endpoint it proxies. An agent can distinguish this from siblings like decide or policy_check immediately.

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?

Explicitly scopes when to use it ('After you act on an answer') and when not to ('Not for questions or support'). It also tells the agent to include the answer's decision_id, which is the trigger condition.

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

list_use_casesAInspect

Which ranking profiles exist, and what is the ranking policy? Returns https://modelspec.dev/api/rank/profiles.json: the profiles, the evidence floors and the neutrality commitment. Needs an API key. Not a decision: use decide for that.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/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 reasonably well: it discloses the authentication requirement ('Needs an API key'), the exact resource returned, and clarifies this is informational rather than a decision. It is implicitly a read-only listing. It omits rate limits, caching, or error behavior, which keeps it below 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?

Three short sentences: the question the tool answers, the payload it returns, then the prerequisite and the alternative. Zero filler, and the routing hint ('use decide') is placed last where it belongs.

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 zero-parameter, read-only metadata tool with no output schema and no annotations, the description covers what is returned, what auth is needed, and how it differs from the decision tool. The unresolved name-vs-content mismatch ('use_cases' vs ranking profiles) is the only thing that keeps it from being fully complete.

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 and the input schema is empty, so there is no parameter semantics to document. Per the rubric, 0 params establishes a baseline of 4; nothing in the description conflicts with this.

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 opens with a concrete question and states exactly what is returned: 'the profiles, the evidence floors and the neutrality commitment' from a named JSON resource. It distinguishes itself from the sibling 'decide'. The one gap is that the tool name 'list_use_cases' does not match the described content (ranking profiles/policy), which leaves a small ambiguity about scope.

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 exclusion and an alternative: 'Not a decision: use decide for that', routing the agent away from the decision-making sibling. It also states the prerequisite 'Needs an API key'. It does not address the other siblings (rank, policy_check, model_info), but the key routing decision is covered.

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

model_infoAInspect

What does ModelSpec's card say about one model? Reads https://modelspec.dev/api/models/.json (model_id is provider/slug). With data splitting, returns only the model's display name from the Worker vocabulary. Needs an API key. Not current evidence and not a ranking: use decide for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_idYesCatalogue id, e.g. openai/gpt-5-6

TDQS

A4.3/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 remote URL fetched, the API-key requirement, and an important return-value caveat about data splitting reducing output to just the display name. It stops short of describing error or rate-limit behavior.

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 compact sentences, front-loaded with the core purpose and followed by the caveat and the alternative. Slight density/jargon in the data-splitting sentence keeps it from a 5.

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 read with no output schema, the description covers source, auth, output caveat, and scope boundaries, which is nearly everything an agent needs. Nothing critical is missing.

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 already 100%, so the baseline is 3, but the description adds real value by explaining that model_id is a provider/slug and showing how it maps onto the request URL (modelspec.dev/api/models/<model_id>.json), which the schema alone does not convey.

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 – reading a model's ModelSpec card – and even gives the exact endpoint template with example id format. It also explicitly distinguishes itself from the sibling 'decide' by denying ranking/evidence semantics.

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 context: needs an API key, is not current evidence, is not a ranking, and routes ranking needs to 'decide'. It names one alternative but does not address other plausible siblings like rank or compare_models.

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

policy_checkAInspect

Which models, on which platforms, does my policy allow? Checks a policy document (licence, origin, data handling) per model and per platform. Returns pass, fail or undetermined for each row; undetermined is not a pass. Needs an API key (Authorization: Bearer). Costs 5 credits a call; a credit costs $0.0053–$0.02 depending on the plan or pack (https://modelspec.dev/pricing/). It doesn't choose a model: use decide to choose among the ones that pass. Proxies POST https://api.modelspec.dev/v1/policy-check with this tool's arguments as the JSON body; Authorization is forwarded.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
modelsNo
offsetNo
policyYes
verdictsNo
platformsNo
require_no_undeterminedNo

TDQS

A4.1/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 load and does so well: it discloses auth requirements (Authorization: Bearer), cost (5 credits per call, with per-credit price range and a pricing URL), the endpoint and proxy behavior, and the crucial result semantics that 'undetermined is not a pass.' It does not cover pagination behavior or error handling, which is why it stops short of 5.

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?

Front-loaded with the framing question and then layered with the information an agent needs (semantics, cost, alternative, transport). Sentences are dense but each carries a distinct fact; the pricing parenthetical is the only slightly expendable detail.

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 takes on the burden of describing results (pass/fail/undetermined per row) and adds the non-obvious rule that undetermined is not a pass. It remains silent on pagination for limit/offset and on the required fields of the policy object, leaving modest gaps for a 7-parameter tool.

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 0% across 7 parameters, so the description must compensate. It partly does: it explains the shape of `policy` (licence, origin, data handling) and ties the pass/fail/undetermined vocabulary to the `verdicts` parameter, but `limit`, `offset`, `models`/`platforms` usage, and `require_no_undetermined` receive no explanation.

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?

Opens with a precise framing question ('Which models, on which platforms, does my policy allow?') and then states the verb+resource+scope: it checks a policy document per model and per platform. It explicitly distinguishes itself from the sibling `decide` ('It doesn't choose a model: use decide'), so an agent can route without opening either 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?

Names the alternative tool (`decide`) and the condition that selects it (choose among passing models), which is strong routing guidance. It does not state an explicit when-not use case beyond model selection or any prerequisites for invoking it, so it falls just short of the full when/when-not/alternative triad.

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

rankAInspect

Legacy v1; use decide. Deprecated: the retired fixed-benchmark ranking, whose scores lag the catalogue; newer models are often unranked. Which models rank highest for one fixed use-case profile? Returns a shortlist with evidence_basis, input provenance, not a quality verdict. Needs an API key (Authorization: Bearer). Costs 1 credit a call; a credit costs $0.0053–$0.02 depending on the plan or pack (https://modelspec.dev/pricing/). Don't call it as a fallback when decide names no single leader: report decide's tie. Present summary_for_user to the user unchanged and keep every must_mention item. When next_move is present, offer it instead of a pick. Proxies POST https://api.modelspec.dev/v1/rank with this tool's arguments as the JSON body.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
use_caseYesRanking profile id, as published in /api/rank/profiles.json
constraintsNo
environmentNo

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 delivers: it is deprecated, requires an API key (Authorization: Bearer), costs 1 credit per call with credit pricing, and returns shortlist data that is 'not a quality verdict.' It also specifies handling of return content (present summary_for_user unchanged, keep must_mention, offer next_move), which is rich behavioral context.

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?

The front-loaded 'Legacy v1; use decide. Deprecated:' immediately routes the agent, and each subsequent sentence adds operational value (cost, auth, output handling, endpoint). It is dense and somewhat run-on, but little is wasted.

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 deprecated tool with no output schema and nested objects, the description covers behavior well: deprecation, auth, cost, endpoint, and return-field handling. The main gap is the semantic meaning of the constraints and environment parameters, which is left unaddressed.

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 only 25% (only use_case is documented in the schema), so the description should compensate but largely does not. It alludes to a 'use-case profile' but gives no meaning for limit, the constraints object (open_weights, include_rehosts, price_sensitivity, max_cost_per_million_input_tokens), or the environment object, leaving half the nested parameters undocumented.

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 states a specific verb and resource: ranking models for 'one fixed use-case profile' and returning a shortlist. It also explicitly contrasts itself with the sibling 'decide' ('use decide', 'Legacy v1'), so an agent can distinguish it from alternatives without opening the schema.

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 gives explicit when-not-to-use guidance: 'Don't call it as a fallback when decide names no single leader: report decide's tie,' and directs the agent to 'use decide' generally. The condition selecting this tool (a fixed use-case ranking) versus the alternative is spelled out.

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

vocabAInspect

What can a decide spec say? Returns the decision vocabulary: valid facet ids, benchmarks, domains, providers and task types. Compact by default, with 20 rows per page and no counts. Split-mode full details exclude per-model facts and counts. Needs an API key. Use it for missing ids, not to compare models. One vocabulary lookup per unknown facet, then decide. Read next before another call. section=starter returns a ready-to-send minimal Spec and a next hint. Search covers every section's ids, labels, definitions, values and synonyms. All tokens rank first; a content-token subset can match. A miss returns the nearest ids. An explicit non-starter section scopes the search. Use id or ids for row details, or detail=full for all display details. Use offset and limit to page matches across sections, including full details; an empty page ends the list.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoFull details for this exact, case-sensitive id; starter resolves across sections and intersects with search
idsNoFull details for these exact, case-sensitive ids; starter resolves across sections and intersects with search
limitNoPage size; defaults to 20. Cross-section lookups page even full details and ids
detailNoFull returns all display details; defaults to compact. Cross-section matches remain paged
offsetNoSkip this many ranked cross-section matches or compact section rows; defaults to 0
searchNoSearch every section's ids, labels, definitions, values and synonyms. All tokens rank first; else content tokens match, stopwords omitted. A miss returns nearest ids. A non-starter section scopes the search
sectionNoDefaults to starter; with search or id/ids searches every section except coverage. An explicit non-starter section scopes the lookup

TDQS

A4.1/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 mostly succeeds: it discloses auth requirement ('Needs an API key'), default output shape ('compact by default, with 20 rows per page and no counts'), what split-mode detail excludes, and the termination rule ('an empty page ends the list'). It stops short of error/rate-limit behavior and does not fully characterize what a compact row contains.

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?

The strongest fact (what the tool returns) is front-loaded, but the remainder is a run-on sequence of clipped fragments with no grouping by concern (auth, paging, search, starter mode all interleaved). Most sentences earn their place content-wise; the organization does not.

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 7-parameter tool with no output schema and no annotations, the description covers output shape, paging, search ranking, miss behavior, and the starter shortcut, which is close to what an agent needs. Gaps are secondary: exact compact vs. full field sets and failure modes beyond 'nearest ids'.

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; the description earns above that by explaining cross-parameter interaction, e.g. that 'id/ids' details intersect with the search section and that a non-starter section scopes rather than replaces search. It adds paging semantics ('including full details') that the schema only hints at.

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 opening line gives a specific verb+resource plus the exact contents: 'Returns the decision vocabulary: valid facet ids, benchmarks, domains, providers and task types.' It also fences itself off from siblings with 'not to compare models,' pointing at compare_models. It loses a point only because the purpose statement is buried under a pile of operational detail.

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 states the trigger ('use it for missing ids'), the exclusion ('not to compare models'), and the workflow cadence ('one vocabulary lookup per unknown facet, then decide'). It even sequences the follow-up ('Read `next` before another call') and names the condition that selects the starter section.

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. 8 tool updates
    • First observedcompare_models
    • First observeddecide
    • First observedfeedback
    • First observedlist_use_cases
    • First observedmodel_info
    • First observedpolicy_check
    • First observedrank
    • First observedvocab

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.