Skip to main content
Glama

Server Details

Search and browse cars for all-inclusive subscription on FINN. Prices, specs, and checkout links.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.6/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: filter discovery, URL generation, pricing, vehicle details, and search. There is no overlap between search and details, and pricing is distinct from details by focusing on cost calculation.

Naming Consistency4/5

Four of five tools follow the 'get_' prefix pattern, while 'search_vehicles' breaks the pattern with a verb-noun structure. This is a minor deviation, but the overall naming is still predictable and readable.

Tool Count5/5

With only 5 tools, the server is well-scoped for its purpose of car subscription search and pricing. Each tool serves a necessary function and none feel redundant or superfluous.

Completeness5/5

The tool set covers the full workflow from discovering filters, searching vehicles, viewing details, calculating pricing, and generating internal link URLs. There are no obvious gaps for an informational and linking API, as checkout is handled via returned URLs.

Available Tools

5 tools
get_available_filtersAvailable FiltersA
Read-onlyIdempotent
Inspect

Discover what's currently available in FINN's fleet. Returns all brands (with nested models), car types, fuel types, colors, subscription terms, gearshifts, and price/power/range bounds. Use this to answer questions like 'What brands does FINN offer?' or to validate filter values before searching.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, idempotentHint=true), so the description doesn't need to restate those. It adds behavioral context by listing the exact data categories returned and noting these are 'currently available,' implying live data. It also implies the output structure (nested models) without needing to over-disclose.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose ('Discover what's currently available in FINN's fleet'). The first sentence lists all return categories, and the second gives practical usage examples. Every sentence earns its place with no redundant wording.

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?

Given the tool has no parameters and no output schema, the description comprehensively covers the return content by enumerating all relevant filter dimensions (brands, car types, fuel types, colors, subscription terms, gearshifts, price/power/range bounds). It also explains the practical application for filtering, making it complete for the tool's scope.

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 has zero parameters, and the schema is empty, so the baseline is 4 per the rubric. The description doesn't need to explain parameters; instead, it clarifies the output content, which is sufficient for a no-argument tool.

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 explicitly states the tool returns all available filter values in FINN's fleet, enumerating specific categories (brands with nested models, car types, fuel types, colors, subscription terms, gearshifts, price/power/range bounds). The verb 'Returns' and the action 'Discover' clarify the resource and operation, and it clearly distinguishes itself from sibling tools like search_vehicles by focusing on filter metadata.

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

Usage Guidelines4/5

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

The description provides concrete use cases: answer questions like 'What brands does FINN offer?' and validate filter values before searching. This gives clear context on when to use the tool, especially as a preparatory step for search_vehicles. It doesn't explicitly name alternatives or state 'when not to use,' but the temporal guidance ('before searching') is strong.

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

get_subscription_pricingSubscription PricingA
Read-onlyIdempotent
Inspect

Calculate exact monthly subscription price for a specific vehicle, term, and mileage combination. Returns base price, km add-on, total, and a canonical checkout URL.

Checkout URL structure (always use the URL returned in checkout_url verbatim — do NOT construct your own): https://www.finn.com/de-DE/checkout/cart/{vehicleId}/{term}/{kmPackage} https://www.finn.com/de-DE/checkout/cart/{vehicleId}/{term}/{kmPackage}?downPaymentAmount={amount}

The three positional path segments after /cart are vehicle id, term in months, and monthly km package — in that order.

About down_payment_amount (Fahrzeugbereitstellung):

  • Fahrzeugbereitstellung is a one-time vehicle provisioning fee.

  • When down_payment_amount is provided, it is paid upfront as Einmalzahlung (one-time payment) and the URL includes ?downPaymentAmount={amount}.

  • When omitted, the same fee is spread across the term and absorbed into the monthly price; the URL has no query string.

ParametersJSON Schema
NameRequiredDescriptionDefault
km_packageYesMonthly km package (500, 1000, 1500, 2000, 2500, 3000, 4000, 5000)
vehicle_idYesThe vehicle product ID
term_monthsYesSubscription term in months (1, 6, 9, 12, 13, 18, 24, 36)
down_payment_amountNoOptional one-time Fahrzeugbereitstellung (vehicle provisioning fee) in EUR, paid upfront as Einmalzahlung. When provided, the checkout URL gets `?downPaymentAmount={amount}` and the monthly price drops accordingly. When omitted, the fee is spread across the term inside the monthly price.
Behavior5/5

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

Beyond the read-only and idempotent annotations, the description discloses key behavioral traits: the exact structure of the checkout URL, the warning not to construct the URL manually, and how down_payment_amount affects pricing and the URL query string. This is rich, actionable context.

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

Conciseness5/5

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

The description is well-organized: first the purpose and return values, then the URL structure, then the payment option details. Every section earns its place, and the bulleted URL examples aid readability without redundancy.

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?

The description covers all crucial aspects: inputs, return fields, URL format, and the two modes of down payment. Without an output schema, it adequately explains what the agent can expect in the response. The level of detail is sufficient for correct invocation and handling.

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%, with each parameter already having a clear description (allowed values, format). The description adds value by explaining the consequences of down_payment_amount on the URL and monthly price, but this is more about tool behavior than parameter semantics. Baseline 3 is appropriate.

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 clearly states the tool calculates an exact monthly subscription price for a specific vehicle, term, and mileage combination, listing the return fields. This distinctively separates it from siblings like search_vehicles, get_vehicle_details, or get_internal_link_url.

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 provides clear context for when to use (pricing a specific combination) and explains how to properly use the returned checkout URL. It doesn't explicitly mention when not to use or contrast with alternatives, but the use case is unambiguous.

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

get_vehicle_detailsVehicle DetailsA
Read-onlyIdempotent
Inspect

Get full specifications, equipment, all images, and pricing per term for a specific vehicle. Use a vehicle_id from search_vehicles results. IMPORTANT: Always show detail_url as a clickable link — it points to the FINN configurator where the user picks term and km. To produce a direct checkout link for a specific term + km combination (and optionally a one-time Fahrzeugbereitstellung), call get_subscription_pricing and use the checkout_url it returns. Never construct checkout URLs yourself. The vehicle_id field is an internal API identifier — never display it to users.

ParametersJSON Schema
NameRequiredDescriptionDefault
vehicle_idYesThe vehicle product ID (e.g. "bmw-ix1-12345-alpinweissuni")
Behavior5/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description does not contradict them. It adds crucial behavioral context: detail_url must be shown as a clickable link to the FINN configurator, vehicle_id is an internal identifier that must never be displayed, and checkout URL construction is forbidden. This goes well beyond the structured annotations.

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 sentences, each earning its place: the first states the tool's purpose, the second explains where the vehicle_id comes from, and the final sentences provide critical display and delegation rules. There is no filler or redundant repetition of schema details.

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 single-parameter, read-only tool with no output schema, the description is remarkably complete. It covers the tool's purpose, parameter source, relationship to sibling tools (especially get_subscription_pricing), and user-facing display constraints. An agent has enough information to invoke and handle the tool correctly.

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 input schema provides 100% coverage for vehicle_id with a pattern, max length, and example. The description adds meaning by stating that the ID comes from search_vehicles results and is an internal API identifier that should not be displayed to users, which is valuable but not fully transformative given the schema's completeness.

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 begins with a specific verb and resource: 'Get full specifications, equipment, all images, and pricing per term for a specific vehicle.' This clearly distinguishes it from siblings like search_vehicles and get_subscription_pricing, which handle discovery and pricing link generation respectively.

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?

Explicit guidance is provided: 'Use a vehicle_id from search_vehicles results.' It also states when to call get_subscription_pricing for checkout links and includes an explicit prohibition: 'Never construct checkout URLs yourself.' This establishes clear use boundaries between this tool and related tools.

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

search_vehiclesSearch CarsA
Read-onlyIdempotent
Inspect

Search available cars on FINN with filters. Returns matching vehicles with prices, images, and links. All filter values use German names (e.g. "Elektro" not "Electric", "Schwarz" not "Black"). IMPORTANT: Always show detail_url as a clickable link for each vehicle. The vehicle_id field is an internal API identifier for get_vehicle_details — never display it to users.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort order: asc/desc by price, availability, or last_added
fuelsNoFuel types in German (e.g. ["Elektro", "Benzin", "Diesel", "Plug-In-Hybrid"])
limitNoNumber of results (1-10, default 5)
termsNoSubscription term lengths in months (available: 1, 6, 12, 18, 24, 36)
brandsNoCar brands (e.g. ["BMW", "Audi", "Mercedes-Benz"])
colorsNoColors in German (e.g. ["Schwarz", "Weiß", "Blau"])
modelsNoCar models (e.g. ["iX1", "3er Limousine"])
cartypesNoCar types in German (e.g. ["SUV", "Kombi", "Kleinwagen", "Van"])
has_dealsNoFilter for cars with special deals/discounts
has_hitchNoFilter for cars with hitch
max_powerNoMaximum power in kW
max_priceNoMaximum monthly price in EUR
min_powerNoMinimum power in kW
min_priceNoMinimum monthly price in EUR
available_toNoLatest delivery date (YYYY-MM-DD)
max_ev_rangeNoMaximum electric range in km
min_ev_rangeNoMinimum electric range in km
available_fromNoEarliest delivery date (YYYY-MM-DD)
is_young_driverNoFilter for cars allowing drivers under 23
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds important behavioral context: filter values must use German names, detail_url must be displayed as clickable, and vehicle_id must never be shown. These are critical usage rules not captured in annotations or schema.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the core purpose. Each sentence serves a distinct role: stating purpose, noting German filter names, and giving critical output handling instructions. No wasted words or repetition of schema details.

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?

Despite no output schema, the description summarizes return content (vehicles with prices, images, links). It also anticipates user pitfalls (German names, internal ID). It could mention default sorting or limit, but those are in schema, making the description sufficient for agent navigation.

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% with each parameter described. The description adds a general rule that all filter values use German names, which applies to multiple parameters like fuels, colors, and cartypes, but the schema already mentions 'in German' for several. Thus the description adds some value but does not significantly elevate beyond the schema.

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 clearly states the tool's purpose: 'Search available cars on FINN with filters.' It uses a specific verb and resource, and the mention of 'available cars' plus returning 'prices, images, and links' distinguishes it from sibling tools like get_vehicle_details (specific vehicle details) and get_available_filters (filter options).

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

Usage Guidelines4/5

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

The description provides implicit usage guidance by stating that vehicle_id is for get_vehicle_details, linking search to a sibling tool. It also instructs users to always show detail_url as clickable links. However, it does not explicitly say when to use this tool over others or mention get_available_filters for valid filter values.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that provides access to finn.no, Norway's largest online classifieds marketplace, enabling searches and listing retrieval across used goods, real estate, cars, and jobs.
    6
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources