FINN Auto - Car Subscription
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.
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.
Tool Definition Quality
Average 4.6/5 across 5 of 5 tools scored.
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.
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.
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.
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 toolsget_available_filtersAvailable FiltersARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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_internal_link_urlInternal Link URLsARead-onlyIdempotentInspect
Get canonical FINN URLs for a brand and its models — for building internal linking blocks on SEO pages. For each model returns three URLs that target DIFFERENT funnels: mdp_url (marketing/brand page), plp_subscribe_url (subscription product listing, /de-DE/subscribe/{brand}{model}), and plp_leasing_url (leasing product listing, /de-DE/leasing/{brand}{model}). Use plp_leasing_url when linking from a Leasing advisory, plp_subscribe_url when linking from subscription content. If model is omitted, returns all currently available models for the brand.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | Brand name (e.g. "Ford", "Mercedes-Benz", "BMW") | |
| model | No | Optional model name (e.g. "Puma", "iX1"). If omitted, returns all available models for the brand. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by explaining the exact return structure (mdp_url, plp_subscribe_url, plp_leasing_url), the URL path patterns, the behavior when 'model' is omitted, and the notion of 'currently available models.' This adds substantial behavioral context not present in the read-only/idempotent/not-destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose. Each sentence adds necessary detail—URL types, usage guidance, and fallback behavior—with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully explains what the tool returns (three URL fields with patterns) and the effect of omitting model. It also provides context for when to use each URL type, making it complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both brand and model. The description reinforces the optionality of model and provides concrete examples (e.g., 'Ford', 'Puma') and explains how parameters map to the returned URLs, adding value beyond the schema without introducing new constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Get canonical FINN URLs') and a clear resource ('for a brand and its models'), with the purpose of building internal linking blocks on SEO pages. This clearly distinguishes it from sibling tools like get_available_filters or search_vehicles, which handle different concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit guidance on when to use each URL type ('Use plp_leasing_url when linking from a Leasing advisory, plp_subscribe_url when linking from subscription content') and mentions the intended use case. It does not explicitly exclude sibling tools, but no direct alternative exists for URL generation, so the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscription_pricingSubscription PricingARead-onlyIdempotentInspect
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_amountis 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.
| Name | Required | Description | Default |
|---|---|---|---|
| km_package | Yes | Monthly km package (500, 1000, 1500, 2000, 2500, 3000, 4000, 5000) | |
| vehicle_id | Yes | The vehicle product ID | |
| term_months | Yes | Subscription term in months (1, 6, 9, 12, 13, 18, 24, 36) | |
| down_payment_amount | No | Optional 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. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 DetailsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| vehicle_id | Yes | The vehicle product ID (e.g. "bmw-ix1-12345-alpinweissuni") |
Tool Definition Quality
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.
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.
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.
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.
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.
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 CarsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order: asc/desc by price, availability, or last_added | |
| fuels | No | Fuel types in German (e.g. ["Elektro", "Benzin", "Diesel", "Plug-In-Hybrid"]) | |
| limit | No | Number of results (1-10, default 5) | |
| terms | No | Subscription term lengths in months (available: 1, 6, 12, 18, 24, 36) | |
| brands | No | Car brands (e.g. ["BMW", "Audi", "Mercedes-Benz"]) | |
| colors | No | Colors in German (e.g. ["Schwarz", "Weiß", "Blau"]) | |
| models | No | Car models (e.g. ["iX1", "3er Limousine"]) | |
| cartypes | No | Car types in German (e.g. ["SUV", "Kombi", "Kleinwagen", "Van"]) | |
| has_deals | No | Filter for cars with special deals/discounts | |
| has_hitch | No | Filter for cars with hitch | |
| max_power | No | Maximum power in kW | |
| max_price | No | Maximum monthly price in EUR | |
| min_power | No | Minimum power in kW | |
| min_price | No | Minimum monthly price in EUR | |
| available_to | No | Latest delivery date (YYYY-MM-DD) | |
| max_ev_range | No | Maximum electric range in km | |
| min_ev_range | No | Minimum electric range in km | |
| available_from | No | Earliest delivery date (YYYY-MM-DD) | |
| is_young_driver | No | Filter for cars allowing drivers under 23 |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityBmaintenanceSearch, localized specs (180 spec types across 19 categories), compare, and structured filters over 102k+ vehicle variants in 19 languages, from cars-data.com.
- AlicenseAqualityDmaintenanceAggregates and searches used car listings from multiple sources (Cars.com, Autotrader, KBB) with price, mileage, dealer info, and optional CarFax-style filters (1-owner, no accidents, personal use).13MIT
- AlicenseAqualityCmaintenanceAn 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.61MIT
- Alicense-qualityBmaintenanceEnables AI assistants to search and compare live prices from Finnish marketplaces (Hinta.fi, Tori.fi, Huuto.net) for new and used products like electronics, furniture, and more.MIT