Skip to main content
Glama
Joyall-au

Cardossier MCP Server

by Joyall-au

CarDossier Poland Market API — MCP Server

mcp-name: io.github.Joyall-au/cardossier-market-api

License: MIT Python 3.9+ MCP Compatible

An MCP (Model Context Protocol) server that gives AI assistants — Claude, Cursor, Windsurf, and any MCP-compatible agent — real-time access to Polish used car market data via the CarDossier Market API.

What It Does

This server exposes 5 tools that AI agents can call to answer questions like:

  • "What is a 2019 Toyota Corolla worth in Poland right now?"

  • "Has the price of diesel BMWs been rising or falling over the past 6 months?"

  • "How quickly do used Volkswagen Golfs sell in Poland?"

  • "Is a 2020 Audi A4 cheaper in Mazowieckie or Śląskie?"

  • "How much more does an automatic gearbox add to the price of a 2018 Ford Focus?"

Related MCP server: mcp-polish-data

Available Tools

Tool

Description

Credits

get_market_valuation

Average, median, P25 & P75 prices for any make/model/year

8

get_price_history

Monthly price trend for up to 24 months

10

get_market_liquidity

Estimated days-on-market (how fast a car sells)

6

get_valuation_factors

Price impact of gearbox type, fuel type, import status

12

get_regional_pricing

Price comparison across all 16 Polish voivodeships

8

Data source: 1.4M+ active listings from Poland's leading car marketplaces, updated daily.

Vehicle names are resolved automaticallyVW Golf, BMW 3 Series / 320d, Mercedes C-Class, Audi A4, XC60 all work; responses show exactly which marketplace models were aggregated. Failed calls are auto-refunded.

🚀 Try It Without a Key

The API serves 5 keyless demo calls per IP per day with full real data, so this server works the moment you install it:

pip install cardossier-mcp-server
cardossier-mcp

For more quota, register free — 50 credits via email OTP, no credit card — and set CARDOSSIER_API_KEY.

Prerequisites

  • Python 3.9+

  • Optional: a CarDossier API key — register for free to get 50 free credits (no credit card required), or purchase a paid package starting at $49 for 5,000 credits

Installation

# From PyPI (recommended)
pip install cardossier-mcp-server

# Or from source
git clone https://github.com/Joyall-au/cardossier-mcp-server.git
cd cardossier-mcp-server
pip install mcp requests

Usage

1. (Optional) Set your API key

export CARDOSSIER_API_KEY="your_api_key_here"   # omit to use the keyless demo tier

2. Run the server

cardossier-mcp
# or from a source checkout: python mcp_server.py

3. Connect to Claude Desktop

Add the following to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "cardossier": {
      "command": "cardossier-mcp",
      "env": {
        "CARDOSSIER_API_KEY": "your_api_key_here"
      }
    }
  }
}

4. Connect to Cursor or Windsurf

Add to your MCP settings:

{
  "cardossier": {
    "command": "cardossier-mcp",
    "env": {
      "CARDOSSIER_API_KEY": "your_api_key_here"
    }
  }
}

Example Interactions

Once connected, you can ask your AI assistant:

"What's the current market value of a 2020 BMW 3 Series diesel in Poland?"

The agent will call get_market_valuation with make=BMW, model=3 Series, year=2020, fuel_type=diesel and return the statistical distribution of prices.

"Show me how Toyota Corolla prices have changed over the last year"

The agent will call get_price_history with months=12 and return a monthly price trend.

"Compare used Skoda Octavia prices across Polish regions"

The agent will call get_regional_pricing and return a breakdown by voivodeship.

API Reference

Full API documentation: car-dossier.com/en/api/docs
OpenAPI 3.1 spec: car-dossier.com/openapi.yaml
FAQ: car-dossier.com/en/api/faq/

Pricing

The CarDossier Market API uses a pay-as-you-go credit system. Credits never expire.

Free Trial: Register at car-dossier.com/en/api/pricing to receive 50 free credits instantly — no credit card required. Enough for ~6 market valuation calls.

Package

Price

Credits

~Valuation calls

Free Trial

$0

50

~6

Starter

$49

5,000

~625

Growth

$129

15,000

~1,875

Pro

$299

40,000

~5,000

Business

$699

100,000

~12,500

Start for free — get 50 credits →

License

MIT License — see LICENSE for details.

About

Built by CarDossier — Poland's leading vehicle history and market data platform.

Available Tools

5 tools
get_market_liquidityA

Get estimated days-on-market (DOM) showing how fast this car typically sells in Poland. Costs 6 credits per call; failed calls are auto-refunded.

ParametersJSON Schema
NameRequiredDescriptionDefault
makeYes
yearYes
modelYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 full burden. It discloses the cost of 6 credits per call and the auto-refund policy, adding context beyond the basic purpose. The term 'estimated' signals that the result is an approximation, further enhancing transparency about the nature of the output.

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 exceptionally concise, with only two sentences. The core purpose is front-loaded, and the cost/refund information is efficiently stated without any redundancy.

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 simple read-only tool with an output schema, the description is largely complete: it explains what the tool does, includes cost and failure handling, and the parameters are self-explanatory. However, the lack of usage guidance relative to sibling tools prevents a perfect score.

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

Parameters1/5

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

The schema description coverage is 0%, so the description must compensate by explaining the parameters. It does not mention make, model, or year at all, leaving the agent to rely solely on the parameter names. This is a significant gap since the description provides no additional meaning 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 returns estimated days-on-market (DOM) for a car in Poland, using a specific verb and resource. This distinguishes it from sibling tools like get_price_history and get_market_valuation, which deal with price and valuation rather than liquidity.

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 description implies the use case—when you need to know how fast a car sells in Poland—but does not explicitly state when to use this tool over alternatives. It also omits any exclusions or prerequisite conditions, leaving the agent to infer the appropriate context from the tool's purpose.

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

get_market_valuationA

Get average, median, P25, and P75 prices for a specific make/model/year in Poland. Natural names work: 'VW Golf', 'BMW 3 Series' or '320d', 'Mercedes C-Class', 'Audi A4', 'XC60'. Optional filters: fuel_type (petrol/diesel/hybrid/electric/lpg or Polish values), gearbox (manual/automatic), mileage (km, matches a ±30% band). Costs 8 credits per call; failed calls are auto-refunded.

ParametersJSON Schema
NameRequiredDescriptionDefault
makeYes
yearYes
modelYes
gearboxNo
mileageNo
fuel_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It discloses the exact statistics returned, the tolerance for mileage ('±30% band'), the credit cost per call, and that failed calls are auto-refunded. However, it does not mention potential error scenarios beyond failed calls or any rate limits.

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 four well-structured sentences that stay on topic: purpose, name flexibility, filters, and cost/refund policy. Every sentence provides unique, useful information without redundancy, and the key purpose is front-loaded.

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?

The description covers the essential invocation details: required fields, accepted input variants, valid filter values, credit cost, and refund behavior. The presence of an output schema means return values need not be explained. It does not mention alternative tools or edge cases like missing data, but it is sufficiently complete for correct use.

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?

The schema has no descriptions or enums, but the description compensates by clarifying how to format model names ('VW Golf', 'BMW 3 Series' or '320d'), providing allowed fuel types ('petrol/diesel/hybrid/electric/lpg or Polish values'), gearbox values, and mileage meaning with a percent tolerance. This adds essential semantics beyond the raw parameter names.

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: 'Get average, median, P25, and P75 prices for a specific make/model/year in Poland.' This is a specific verb+resource combination, and the distinct statistics distinguish it from sibling tools like get_price_history or get_market_liquidity, which focus on different aspects.

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 description provides usage hints like 'Natural names work' and optional filters, but it does not explicitly contrast with sibling tools or state when to prefer this valuation tool over alternatives like get_price_history or get_regional_pricing. The usage context is implied through the described output and filtering options.

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

get_price_historyA

Get monthly average price trend for up to 24 months to identify depreciation curves. Costs 10 credits per call; failed calls are auto-refunded.

ParametersJSON Schema
NameRequiredDescriptionDefault
makeYes
yearYes
modelYes
monthsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It adds two important facts: the cost of 10 credits per call and auto-refund on failure. The 'get' nature and 'price trend' wording imply read-only behavior, but the description does not explicitly say that or describe rate limits, though the output schema presumably documents return data.

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 primary purpose, then the cost/refund note. No word is wasted, and each sentence adds essential information.

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?

Given the 4 parameters and no annotations, the description covers key aspects: purpose, usage context, cost, and refund. The output schema exists to document return values, so the description need not do so. The main gap is the lack of explicit usage guidance versus sibling tools, but overall it is adequate for a straightforward read operation.

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 must compensate. It adds the 'up to 24 months' limit, which clarifies the 'months' parameter. However, it does not explain the other parameters (make, model, year), though those are self-explanatory. The description gives some value but is not comprehensive.

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 a specific verb and resource: 'Get monthly average price trend' for up to 24 months. It also names the intended purpose, 'to identify depreciation curves,' which distinguishes it from sibling tools focused on valuation, liquidity, and regional pricing.

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 a clear context (monthly price history for depreciation analysis) and notes the cost of 10 credits, implying careful use. However, it does not explicitly contrast with sibling tools or state when NOT to use it, lacking exclusions or alternatives.

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

get_regional_pricingA

Compare average prices across Polish voivodeships vs. the national average. Costs 8 credits per call; failed calls are auto-refunded.

ParametersJSON Schema
NameRequiredDescriptionDefault
makeYes
yearYes
modelYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

This description discloses a credit cost of 8 credits per call and auto-refund on failed calls, adding useful operational context beyond the schema. Since no annotations are provided, this cost and refund behavior is valuable, though it does not explain other behaviors like rate limits or data freshness.

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 just two sentences: the first front-loads the core purpose, and the second adds the cost/refund detail. No unnecessary words or repetition of schema 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?

The tool has an output schema, so return values need not be described, and the cost/refund info adds operational context. However, the lack of parameter semantics and the absence of any usage guidance leave gaps in completeness for a tool with three required inputs.

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?

The schema has 0% description coverage for its three parameters (make, model, year). The description does not elaborate on what these parameters mean or how they relate to the pricing comparison, leaving the agent to infer their purpose from the tool name alone.

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 compares average prices across Polish voivodeships vs. the national average. The verb 'compare' and specific geographic scope distinguish it from siblings like get_price_history or get_market_valuation.

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 description implies when to use the tool (when regional price comparison is needed) but does not explicitly mention when not to use it or contrast it with sibling tools. There is no exclusionary guidance or alternative tool references.

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

get_valuation_factorsA

Quantify the price impact of import status, gearbox type, and fuel type for this car. Costs 12 credits per call; failed calls are auto-refunded.

ParametersJSON Schema
NameRequiredDescriptionDefault
makeYes
yearYes
modelYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

The description adds a key behavioral trait by stating 'Costs 12 credits per call; failed calls are auto-refunded,' which is not present in annotations (none provided). It does not explicitly declare the operation as read-only or discuss side effects, but for a quantification tool this is likely safe. The cost and refund information contributes some transparency, though it omits other potential details like rate limits or required auth.

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 consists of two concise sentences: the first clearly states the purpose, and the second provides cost and refund behavior. There is no redundant or filler content. The structure is front-loaded with the core function, making it easy to parse quickly.

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?

Given the presence of an output schema, the description does not need to detail return values. It covers the tool's purpose and cost/refund behavior. It does not explicitly mention the required input parameters (make/model/year), but the input schema provides that context. The description is short but sufficient for the agent to understand when and why to invoke this tool, though it could be slightly more complete by noting the need for make/model/year.

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?

The input schema has zero description coverage for make, model, and year, and the description does not explain these parameters. It only says 'for this car' without specifying how to provide the car details. Since schema coverage is 0%, the description carries the burden to clarify parameters, but it fails to do so, leaving the agent to infer that make/model/year are the identifiers. The parameters are self-explanatory, but the description adds no semantic value beyond what the property names imply.

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 function: 'Quantify the price impact of import status, gearbox type, and fuel type for this car.' This uses a specific verb (quantify) and resource (price impact of specific factors), distinguishing it from siblings like get_market_valuation which provides overall valuation. It is immediately understandable what the tool does.

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 description implies usage context through its focus on factor-specific impact analysis, suggesting it is used when detailed factor contributions are needed rather than overall market value. However, it does not explicitly state when to use this tool versus alternatives like get_price_history or get_regional_pricing, nor does it mention any exclusions. This is implied usage but lacks direct guidance.

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. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.4
    • First observedget_market_liquidity
    • First observedget_market_valuation
    • First observedget_price_history
    • First observedget_regional_pricing
    • First observedget_valuation_factors

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct aspect of car market data: price trends, statistical valuation, liquidity, factor impacts, and regional comparisons. Descriptions clearly differentiate the outputs, leaving no ambiguity about which tool to call.

Naming Consistency5/5

All tools follow the exact same verb_noun pattern with 'get_' prefix and a clear noun phrase, making the API predictable and easy to navigate.

Tool Count5/5

Five tools is a well-scoped size for a car market data server, covering the essential dimensions without bloat or missing core functionality.

Completeness5/5

The surface covers the full lifecycle of market analysis: historical trends, current valuation, liquidity, factor impacts, and regional variance. There are no obvious dead ends for the stated purpose of car price intelligence.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that integrates with the Carvana marketplace to enable vehicle searching, financing estimation, and trade-in value assessments. It allows AI assistants to retrieve detailed vehicle information, history reports, and market insights directly from Carvana's inventory.
    10
    16
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server providing AI assistants access to Polish public registries (KRS, CEIDG) and statistical data (GUS BDL) for querying companies, sole proprietorships, and regional statistics.
    14
    7
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server that provides AI agents with Polish business data tools: identifier validation (NIP, PESEL, REGON, KRS, IBAN), VAT whitelist checks, EU VIES lookups, and NBP exchange rates.
    5
    21
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A production-grade MCP server that provides AI assistants with real-time financial market data, company metrics, and historical prices using yfinance and FastMCP.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Joyall-au/cardossier-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server