Skip to main content
Glama

Bilkalkylen

Server Details

Swedish car advice: monthly cost, find and compare cars, leasing campaigns.

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

TDQS

A3.8/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes: find_car shortlists cars, compare_cars compares selected cars, list_campaigns lists leasing deals, and total_cost/my_monthly_cost are separated by generic vs profile-based calculations. The main potential overlap is between total_cost and my_monthly_cost, but the descriptions clarify login and profile usage. save_profile and confirm_action are also clearly paired as steps 1 and 2.

Naming Consistency4/5

Almost all names use a consistent snake_case verb_noun pattern such as find_car, compare_cars, create_watch, and save_profile. The exceptions are total_cost and my_monthly_cost, which omit an action verb, but they remain readable and fit the cost-calculation domain.

Tool Count5/5

Ten tools is a well-scoped set for a car cost comparison and campaign watch service. Each tool appears to earn its place: search, comparison, cost calculation, explanation, campaign listing, profile handling, and confirmation flow.

Completeness3/5

Core workflows for finding cars, comparing costs, explaining rules, listing campaigns, and creating a watch are covered. However, the watch lifecycle is incomplete: there is create_watch but no tool to list or delete existing watches. Profile management also lacks explicit delete or update operations beyond the draft/confirm save flow.

Available Tools

10 tools
compare_carsJämför bilarB
Read-onlyIdempotent
Inspect

Jämför 2–5 bilar (id från find_car) sida vid sida: total månadskostnad, kostnadsposter och skillnad mot billigaste.

NameRequiredDescriptionDefault
arNo
idsYes
milPerArNo
anskaffningNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered by structured data. The description adds the 2–5 car bound and the computed fields returned, but says nothing about error behavior (e.g. unknown id) or how missing cost inputs are handled.

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?

A single compact sentence with the scope front-loaded and the deliverable listed after the colon; no filler and nothing repeated from the schema. Length is well matched to a parameterized read-only comparison tool.

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?

With no output schema, the description does enumerate what comes back, which is a genuine strength. But for a tool whose results depend on year, annual mileage and acquisition form, leaving those three parameters unexplained means an agent cannot reliably invoke it correctly in non-default cases.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters, yet the description only illuminates 'ids' (via the find_car reference and the 2–5 bound already encoded as minItems/maxItems). The three parameters that materially change the cost math — 'ar', 'milPerAr' and the 'anskaffning' enum (kop_ny / kop_begagnad / privatleasing) — are never explained, so the description fails to compensate for the coverage gap.

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 and resource ('Jämför 2–5 bilar') plus the scope of the output ('total månadskostnad, kostnadsposter och skillnad mot billigaste'), which clearly separates it from single-car tools. It does not explicitly name how it differs from cost siblings like explain_costs or total_cost, so it stops short of a 5.

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 parenthetical '(id från find_car)' tells the agent where the required ids come from, which is real routing guidance. However, there is no statement of when to prefer this over my_monthly_cost, total_cost or explain_costs, and no exclusions or prerequisites for the comparison scenario itself.

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

confirm_actionGenomför godkänd åtgärdA
Idempotent
Inspect

Kräver inloggning. Steg 2 av 2: utför en åtgärd från save_profile/create_watch. Anropa ENDAST efter att användaren uttryckligen sagt ja till sammanfattningen, med user_confirmed=true. Bekräftelse-id gäller 10 minuter och en gång.

NameRequiredDescriptionDefault
bekraftelseIdYes
user_confirmedYestrue endast om användaren uttryckligen godkänt

TDQS

A4.6/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: it requires login, describes the two-step confirmation workflow, and discloses that the confirmation ID expires in 10 minutes and is single-use — critical for retry behaviour, and it complements rather than repeats the idempotentHint/destructiveHint data. It stops short of saying what error surfaces on an expired or already-consumed ID.

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?

Four compact clauses, each carrying a distinct operational fact (auth, workflow stage, hard precondition, token lifetime), with the invocation constraint front-loaded. No repetition of the schema or title.

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 2-parameter commit tool with annotations and no output schema, nearly everything needed to call it correctly is present: prerequisites, the flag requirement, and the token's lifetime and singularity. Only the failure mode after expiry/consumption is left unexplained.

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 only 50%, and bekraftelseId has no schema description at all; the description compensates by explaining that the ID is a time-limited (10 min), single-use confirmation token rather than an arbitrary identifier. user_confirmed is reinforced with 'endast om användaren uttryckligen godkänt' in both the schema and the text.

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 role: step 2 of 2 that executes a pending action originating from save_profile/create_watch. The agent can immediately distinguish it from save_profile and create_watch (which produce the action) and from unrelated sibling tools like find_car or explain_costs.

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?

Gives an explicit precondition ('Anropa ENDAST efter att användaren uttryckligen sagt ja till sammanfattningen') plus the required flag (user_confirmed=true), which functions as both a when-to-use rule and an exclusion for premature calls. The 'Steg 2 av 2' framing implicitly names the alternative: use save_profile/create_watch first.

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

create_watchBevaka bilkampanjerAInspect

Skapar en bevakning så användaren får mejl om nya kampanjer som matchar (pris, märke, fritext). Kräver e-post och uttryckligt samtycke – fråga användaren innan du anropar. Inga mejl skickas förrän användaren bekräftat (dubbel opt-in). Om användaren är inloggad (OAuth) blir anropet ett utkast som måste godkännas via confirm_action, och e-post tas från kontot.

NameRequiredDescriptionDefault
sokNo
emailYes
markeNo
samtyckeYes
drivmedelNo
maxPerManadNo

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true): no mail is sent until explicit user confirmation, logged-in calls produce a draft requiring confirm_action approval, and the email is sourced from the account rather than the argument. This is exactly the mutation-specific context the annotations cannot convey.

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 dense sentences, front-loaded with the action and effect, then the consent precondition, then the OAuth/confirm_action flow. Every sentence earns its place, though the final sentence packs two distinct facts (draft state and email source) that could be split.

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 non-idempotent mutation with no output schema, the description covers consent, double opt-in, the confirm_action hand-off, and email sourcing. Remaining gaps are the unmentioned drivmedel filter and what the call returns (e.g., a draft identifier), which an agent would benefit from before invoking.

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 0% and there are 6 parameters, so the description must carry the load. It clarifies email (taken from the OAuth account), samtycke (explicit consent), and maps price/brand/free text to matching criteria, but never mentions the drivmedel enum (el/bensin/diesel/laddhybrid/hybrid) and leaves maxPerManad's meaning (max price per month?) ambiguous.

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 ('Skapar en bevakning') plus the concrete effect: the user receives email about new campaigns matching price, brand, or free text. It also explains the form the call takes under OAuth (a draft), which no sibling does, so an agent can tell it apart from confirm_action and list_campaigns.

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 an explicit precondition and instruction ('Kräver e-post och uttryckligt samtycke – fråga användaren innan du anropar') and describes the double opt-in gate plus the OAuth draft -> confirm_action path. It does not contrast against non-watch siblings such as list_campaigns, so it stops short of the full when/when-not/alternatives bar.

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

explain_costsFörklara regler och antagandenA
Read-onlyIdempotent
Inspect

Returnerar reglerna (fordonsskatt, malus) med källor och alla standardantaganden som kalkylen använder.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds that sources and default assumptions are included in the result, which is useful context, but says nothing about format, length, or whether the rules are static.

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?

A single front-loaded sentence that names the returned content (rules, sources, assumptions) with no filler or repetition of the title.

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 parameters, no output schema, and annotations covering the safety profile, the description only needs to convey what content comes back — which it does (rules, sources, default assumptions). It stops short of describing the shape of that payload, a minor gap for a no-arg read tool.

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 the baseline is 4. There is nothing for the description to disambiguate on the input side.

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: returns the cost rules (fordonsskatt, malus) together with their sources and every default assumption the calculation uses. That is clearly distinct from the sibling calculators (my_monthly_cost, total_cost, compare_cars), although 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?

Usage is implied — call this to understand how the cost numbers are derived — but the description never says when to prefer it over my_monthly_cost or total_cost, nor any preconditions. Adequate but leaves routing to inference.

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

find_carHitta bil efter behovA
Read-onlyIdempotent
Inspect

Ger en rangordnad shortlist av bilar utifrån behov (budget kr/mån, bagage, räckvidd, drivmedel, märken, mil/år) med total månadskostnad, kostnadsuppdelning och motivering. Använd först när användaren vill ha hjälp att välja bil.

NameRequiredDescriptionDefault
arNo
limitNo
markenNo
milPerArNo
drivmedelNo
prioritetNo
anskaffningNo
minRackviddKmNo
budgetPerManadNo
minLastutrymmeLiterNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare this is a safe, idempotent, closed-world read, so the description doesn't need to repeat that. It does add real value beyond the annotations by describing the response shape: a ranked shortlist with total monthly cost, cost breakdown and justification. It omits ranking behavior with default/absent inputs and the meaning of the limit cap.

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 the capability and its return value, followed by the usage trigger. The parenthetical criteria list is dense but every item earns its place as parameter guidance.

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?

With ten optional parameters, no required fields, no output schema and zero schema descriptions, the definition should say more about how omitted criteria and limit/prioritet affect results. It adequately covers what comes back but leaves enough ambiguity that an agent must guess at default ranking behavior.

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%, so the description carries the burden, and it does map roughly six of the ten parameters to plain-language criteria (budget kr/mån, bagage, räckvidd, drivmedel, märken, mil/år). It leaves ar, limit, prioritet and anskaffning unmentioned, so the compensation is only partial.

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 and resource ('Ger en rangordnad shortlist av bilar') and enumerates the decision criteria it ranks on, so the agent knows exactly what this produces. It does not explicitly differentiate itself from the sibling compare_cars, which is the main gap keeping it below a 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?

'Använd först när användaren vill ha hjälp att välja bil' gives a clear triggering condition and even signals ordering ('först'), implying this precedes downstream tools. It stops short of naming the alternatives (compare_cars, total_cost) or stating when not to use it.

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

get_my_profileMin bilprofilA
Read-onlyIdempotent
Inspect

Kräver inloggning. Hämtar användarens sparade profil (mil/år, ägandetid, anskaffning, budget, försäkring, energipriser) som används i my_monthly_cost.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the authentication requirement and the shape of the returned data. It does not say how a missing profile is handled (empty result vs. error), which is the one behavioral gap.

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 short sentences: the auth prerequisite is front-loaded and the field enumeration earns its place by previewing the return payload. No redundant restatement of the title or annotations.

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 returned profile fields and names the consuming tool. The only missing piece an agent might need is behavior when the user has no saved profile yet.

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; baseline applies. The parenthetical field list describes output content, not inputs, but does no harm.

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 ("Hämtar") plus the exact resource ("användarens sparade profil") and enumerates the profile fields it returns. It also ties itself to the sibling my_monthly_cost, so an agent can distinguish it from save_profile and list_campaigns 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 a clear precondition ("Kräver inloggning") and states the downstream purpose (the profile is used in my_monthly_cost), which tells the agent when to fetch it. It does not explicitly route the agent to save_profile for the write counterpart or say what to do when no profile exists.

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

list_campaignsAktuella privatleasingkampanjerB
Read-onlyIdempotent
Inspect

Listar insamlade privatleasingkampanjer från svenska återförsäljare/leasingbolag, sorterat på jämförbart månadspris. Filtrera på maxPerManad, märke eller fritext. Varje rad har insamlingsdatum och länk som användaren kan öppna.

NameRequiredDescriptionDefault
sokNo
limitNo
markeNo
maxPerManadNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds genuine context beyond them: results are sorted by comparable monthly price and each row carries a collection date and an openable link. It does not mention pagination behaviour or what the default limit is, so the added value is real but partial.

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 short sentences, front-loaded with what the tool returns before the filter options. Nothing is padded; the only slight loss is that the filter sentence is terse enough to leave parameter meaning ambiguous.

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?

With no output schema, the description does reasonably well by describing row contents (collection date, link) and sort order. However, limit/pagination and the units of maxPerManad are missing, which an agent needs in order to call this four-parameter 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?

Schema coverage is 0%, so the description carries the burden. It maps three of four parameters (maxPerManad, märke, fritext/sok) but gives no format details—no currency or period for maxPerManad, no expected values for märke—and the limit parameter is not mentioned at all.

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?

Names a specific verb+resource (list collected private-leasing campaigns from Swedish dealers/leasing companies) and states the ordering (comparable monthly price). It is clearly distinguishable from compare_cars, find_car and total_cost, though it does not explicitly say how it differs from them.

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?

"Filtrera på maxPerManad, märke eller fritext" implies when to apply filters, but there is no explicit guidance on when to pick this tool over compare_cars/find_car or on prerequisites. 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.

my_monthly_costVad kostar bil X per månad för migA
Read-onlyIdempotent
Inspect

Kräver inloggning. Räknar total månadskostnad för en bil (bilId från find_car) med användarens profil (mil/år, år, anskaffning, försäkring, energipris, ränta). Argument i anropet överstyr profilen.

NameRequiredDescriptionDefault
arNo
bilIdYes
rantaNo
elprisNo
postortNo
milPerArNo
drivmedelNo
bensinprisNo
dieselprisNo
anskaffningNo
budgetPerManadNo
forsakringPerArNo
kontantinsatsAndelNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and closed-world safety, so the bar is lower; the description still adds real value by disclosing the login requirement and the precedence rule ('Argument i anropet överstyr profilen'). It does not say what the response contains or whether costs are gross estimates.

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 short sentences with the login requirement front-loaded and zero filler. Slightly dense parenthetical list, but every clause carries information.

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 13-parameter calculation tool with no output schema, the description covers auth, inputs source and override precedence, which is the core. It still omits what the calculation returns (single figure vs breakdown) and several parameters, leaving gaps an agent would hit.

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 13 parameters, so the description carries the burden. It enumerates the profile fields (mil/år, år, anskaffning, försäkring, energipris, ränta) and states the override rule, but leaves postort, drivmedel, budgetPerManad and kontantinsatsAndel unmentioned and gives no units or formats.

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 and resource: 'Räknar total månadskostnad för en bil', and identifies where bilId comes from (find_car). However, it never distinguishes itself from close siblings like total_cost, compare_cars or explain_costs, which likely also compute costs.

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?

'Kräver inloggning' establishes a precondition and the bilId provenance points to find_car, which is useful implied routing. But there is no explicit when-to-use/when-not versus total_cost or compare_cars, so the agent must infer which cost tool applies.

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

save_profileSpara min bilprofil (kräver bekräftelse)A
Read-only
Inspect

Kräver inloggning. Steg 1 av 2: skapar ett UTKAST av profilen och returnerar bekraftelseId. Inget sparas förrän confirm_action anropas efter att användaren uttryckligen godkänt.

NameRequiredDescriptionDefault
arNo
rantaNo
elprisNo
postortNo
milPerArNo
drivmedelNo
bensinprisNo
dieselprisNo
anskaffningNo
budgetPerManadNo
forsakringPerArNo
kontantinsatsAndelNo

TDQS

A3.9/5.0
Behavior4/5

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

The description adds real context beyond the annotations: authentication is required, nothing is persisted until confirm_action is called, and the call returns a bekraftelseId. readOnlyHint=true is consistent with 'Inget sparas' at this step, though an agent should read the two sentences together; it does not disclose defaults or what happens to a draft that is never confirmed.

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 the authentication requirement and the step number, then the crucial non-persistence rule. Every sentence carries information the agent needs.

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

Completeness2/5

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

The two-step confirmation flow is well covered, but for a 12-parameter tool with 0% schema coverage and no output schema, the meaning, units, and defaults of the inputs are entirely undocumented. An agent can sequence the call but cannot confidently supply the arguments.

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?

There are 12 parameters with 0% schema description coverage, and the description explains none of them. An agent cannot learn the units or meaning of ar, ranta, elpris, bensinpris, kontantinsatsAndel, and so on, which the missing schema descriptions would otherwise supply.

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 in Swedish: it creates a DRAFT ('UTKAST') of the profile and returns a confirmation id. This is clearly distinguished from the sibling confirm_action, which finalizes it, so an agent can tell the two apart 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?

It gives explicit sequencing ('Steg 1 av 2') and names confirm_action as the required follow-up after explicit user approval, and it states that login is required. It does not say when this should not be used (for example, to view an existing profile via get_my_profile), but the core routing is present.

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

total_costTotal bilkostnad per månadA
Read-onlyIdempotent
Inspect

Räknar total ägandekostnad (TCO) per månad för valfri bil i Sverige: värdeminskning, ränta eller leasing, drivmedel/el, försäkring, fordonsskatt (inkl. malus enligt Transportstyrelsen), service, däck, besiktning. Ange pris (köp) eller leasingPerManad (privatleasing).

NameRequiredDescriptionDefault
arNo
prisNo
rantaNo
elprisNo
milPerArNo
drivmedelNo
bensinprisNo
dieselprisNo
anskaffningNo
forbrukningNol/mil eller kWh/mil
co2GramPerKmNo
servicePerArNo
forsakringPerArNo
leasingPerManadNo
kontantinsatsAndelNo
leasingInklServiceNo
vardeminskningPerArNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description earns credit beyond that by disclosing scope details an agent wouldn't otherwise know: malus tax is included per Transportstyrelsen and the exact cost categories are folded into the result. It is silent on output shape, which keeps it from 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.

Conciseness4/5

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

Two dense sentences with no filler: the first defines the computation and its components, the second front-loads the input rule. Slightly long due to the component list, but every item carries information about what is modeled.

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 17-parameter, zero-required calculator with no output schema, the description should say what the result looks like (single monthly figure vs. per-component breakdown) and how defaults are chosen when nothing is supplied. It covers inputs at a conceptual level but leaves the return value and defaulting behavior unexplained, which matters given how many optional parameters exist.

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?

With 17 parameters and only 6% schema description coverage, the description has to compensate, and it partially does: it maps cost categories (värdeminskning, ränta, drivmedel/el, försäkring, fordonsskatt, service, däck, besiktning) onto parameter families and calls out the two mutually exclusive entry inputs (pris vs leasingPerManad). It gives no units or defaults for the remaining numeric parameters (ar, ranta, milPerAr, elpris, bensinpris/dieselpris), all of which are bare numbers in 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?

States a specific verb and resource ('Räknar total ägandekostnad (TCO) per månad för valfri bil i Sverige') and enumerates the cost components included, so the agent knows exactly what is computed. It does not name the obvious computational siblings (compare_cars, explain_costs, my_monthly_cost), so it stops short of a 5.

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?

Adds one concrete input rule — 'Ange pris (köp) eller leasingPerManad (privatleasing)' — which implies the two usage modes (purchase vs private leasing). It never says when to pick this over compare_cars/explain_costs/my_monthly_cost, nor any prerequisites, so guidance is implied rather than explicit.

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. 10 tool updates
    • First observedcompare_cars
    • First observedconfirm_action
    • First observedcreate_watch
    • First observedexplain_costs
    • First observedfind_car
    • First observedget_my_profile
    • First observedlist_campaigns
    • First observedmy_monthly_cost
    • First observedsave_profile
    • First observedtotal_cost

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables searching and retrieving detailed information about Swedish companies, including financial data and annual reports from Bolagsverket (Swedish Companies Registration Office), with intelligent caching for fast responses.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides access to 5,000+ Key Performance Indicators across 264 operating areas for all Swedish municipalities and regions, enabling statistical analysis, comparisons, and trend tracking of Swedish public sector data.
    21
    20 npm
    12
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources