Skip to main content
Glama
czcz0009

carsensor-price-range-mcp

carsensor Price Range MCP Server for AI Agents

AIエージェント、チャットボット、またはアプリを構築していて、「この中古車の希望価格は妥当か?」という質問に、推測ではなく実際の市場データに基づいた数値で答えたい場合、このMCPサーバーはそれを1回のツール呼び出しで提供します。resolvePriceRange(carModel, year) は、carsensor.netが公開している公式の車種別・年式別市場統計からライブで計算された市場価格帯(最小/最大/中央値)を返します。これは、carsensor自身が相場ページで公開しているのと同じデータを、読んで解釈する必要のあるページではなく、構造化されたすぐ使える数値に変換したものです。

得られるもの:

  • 1つのツール resolvePriceRange は、車種名と年式だけを受け取ります。基盤となるデータソースのAPIキー管理も、自分でHTMLをパースする必要もありません

  • priceRangeYen: { min, max, median } に加えて、sampleSize(推定の基になった実際のcarsensor掲載件数)と confidence(normal / low — 年式がcarsensor自身のデータで完全に検証できない場合は、隠さず正直に低く表示されます。「既知の制限」を参照)

  • Apify Standbyモードによる常時稼働ホスティング — 自分でサーバーを運用する必要はありません。任意のMCPクライアント(Claude Desktop、Claude Code、独自エージェント)を安定したHTTPSエンドポイントに直接接続するか、独自アプリのコードからプレーンなStreamable HTTP MCPサーバーとして呼び出すことができます

{
  "ok": true,
  "carModel": "プリウス",
  "year": 2018,
  "priceRangeYen": { "min": 750000, "max": 4772500, "median": 1573112 },
  "sampleSize": 412,
  "confidence": "normal",
  "disclaimer": "carsensor.net上の公開情報(相場ページの価格×年式集計)を基にした参考値です。個体差・装備差・実際の商談結果は反映されません。"
}

イベント単位の課金 — 詳細は「料金」を参照。完全な入出力仕様、セットアップ、技術設計はこのページの下にあります。

⚠️ 免責事項(お読みください)

  • このActorは、carsensor.netで公開されている情報を自動的に取得します。 このデータの取得方法と使用方法については、お客様自身が責任を負います。

  • サイト運営者の利用規約、robots.txt、またはアクセスブロックは予告なく変更される可能性があり、これによりこのActorが動作しなくなったり、出力が予期せず変更されたりする可能性があります。

  • priceRangeYen は、carsensor自身が公開している価格×年式の集計データから導出された統計的推定値であり、個々の車両の実際の価値を保証するものではありません。 状態、グレード/仕様の違い、走行距離は考慮されません(「既知の制限」を参照)。このデータに基づいて売買の判断を行う前に、必ずcarsensor.netで特定の車両の価格を確認してください。

Related MCP server: japan-market-mcp

誰のためのものか?

  • AIエージェントとチャットボット — 「これは実際にはいくらの価値があるのか?」という質問に、モデル自身の(しばしば古い、または幻覚的な)中古車価格知識ではなく、実際の市場データに基づいて回答する必要があるもの

  • アプリ/ツール開発者 — 車購入、査定、下取り見積もり機能を構築しており、独自のcarsensor.net統合をスクレイピングして維持する代わりに、既製の価格帯検索を利用したい方

  • これをバッチスクレイピングではなく、プレーンなMCPツール呼び出しとして利用したい方 — このActorは、同じ基盤となる市場データに対して掲載リスト全体をスコアリングするバッチ指向の carsensor-resale-value-scout Actor に対応する、単一ツール・オンデマンドのカウンターパートです

できないこと(統合前にお読みください)

  • 走行距離はまだ入力としてサポートされていません。 使用されるのは車種と年式のみです。価格帯はcarsensor自身の年式別集計を反映しており、走行距離調整済みの推定値ではありません。将来のバージョンで追加される可能性があります。

  • 馴染みのないモデルでは、モデル名の解決が最初の使用時に失敗したり遅くなったりすることがあります — 理由と、初回呼び出し後にキャッシュがどのように軽減するかについては「既知の制限」を参照してください。

  • これは統計的推定値であり、鑑定ではありません。 上記の免責事項を参照してください。

入力 / 出力

入力(MCPツール呼び出し引数):

パラメータ

型

必須

説明

carModel

string

はい

車種名。carsensor自身の検索と同じ自由テキスト形式(例: "プリウス", "N-BOX")

year

integer

はい

年式、4桁(例: 2018)

出力(成功時):

フィールド

型

説明

priceRangeYen.min / .max / .median

integer (JPY)

この車種/年式の推定市場価格帯

sampleSize

integer

推定の集計元となったcarsensor掲載件数

confidence

"normal" | "low"

年式がcarsensorのデータのオープンエンドのバケットにのみ一致する場合に "low"(「既知の制限」を参照)— この場合、note フィールドが理由を説明します

cacheStatus

object

tier1/tier2 — この呼び出しがキャッシュデータにヒットしたか、carsensor.netに新しいリクエストを行ったか(情報提供のみ。価格には影響しません — 「料金」を参照)

出力(モデルが見つからない/その年のデータがない場合): { "ok": false, "reason": "no_code_resolved" | "no_matching_data", "message": "..." } — 課金されません(「料金」を参照)。

使用例

Claude Desktop / 任意のMCPクライアント設定:

{
  "mcpServers": {
    "carsensor-price-range": {
      "url": "https://woolen-snake--carsensor-price-range-mcp.apify.actor/mcp",
      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
    }
  }
}

独自アプリから直接呼び出す場合(Node.js、@modelcontextprotocol/sdk):

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(
  new URL('https://woolen-snake--carsensor-price-range-mcp.apify.actor/mcp'),
  { requestInit: { headers: { Authorization: `Bearer ${process.env.APIFY_TOKEN}` } } },
);
const client = new Client({ name: 'my-app', version: '1.0.0' });
await client.connect(transport);

const result = await client.callTool({
  name: 'resolvePriceRange',
  arguments: { carModel: 'プリウス', year: 2018 },
});
console.log(JSON.parse(result.content[0].text));

料金

イベント

価格

トリガー

価格帯の解決(resolve-price-range-success)

$0.03

resolvePriceRange が価格帯を正常に返した場合のみ課金。車種を解決できない場合や、一致する年式データがない場合は課金されません

キャッシュヒットか、carsensor.netへの新しいリクエストかを問わずフラットな価格です。キャッシュ層別の価格設定が意図的に拒否された理由を含む完全な根拠については、以下の「価格の設定方法」を参照してください。

価格の設定方法

$0.03は、このActorファミリーの基本分類ティア($0.015、例: carsensor-resale-value-scout Actorの listing-extracted)と、より重い派生シグナルティア($0.045–$0.065、例: value-score-computed)の間に位置します。これは、価格帯が生データの取得ではなく計算された市場シグナルであることを反映しつつ、このツールの基盤となるインフラコスト(1回あたり$0.001未満、ほとんどの呼び出しはキャッシュから提供)がどちらの場合でも大きなマージンを残すためです。

キャッシュヒットとミスが同じ価格である理由: 提供される価値 — priceRangeYen、sampleSize、confidence — はどちらの場合も同一です。キャッシュは純粋に内部のパフォーマンス/コスト最適化であり、得られるものに違いはありません。異なる価格設定にすると、キャッシュTTLを短くするという逆インセンティブ(ミスが多いほど収益が増える)が生まれ、これはcarsensor.netへの負荷を最小限に抑えるというこのツール自身の設計目標に直接反します。

データソースと計算

解決されたモデルのcarsensor.net自身が公開する相場ページ(/usedcar/souba/{makerCode}_S{modelCode}/)、具体的にはその「価格×年式」クロス集計(価格バケット、年式バケット、セルごとの掲載数)を使用します。これは、carsensor自身が自社のライブ在庫から計算した公式の集計データであり、第三者による推定値ではありません。

  • median は、一致する各年式バケットの価格バケット中点の件数加重平均です

  • min / max は、一致するセルの実際の価格バケット境界から取得されます(オープンエンドのバケット、例: 「¥4,150,000以上」は±15%のヒューリスティックで近似 — 統計的に導出されたものではなく、経験的な調整です)

  • これはグレードレベルの集計データ(例: トヨタ プリウスの全トリムを合算)であり、個別掲載の価格ではありません。トリム/グレードの違い、装備、状態は考慮されません

キャッシュ(2層)

層

キー

値

ストレージ

有効期限

1

車種名

{ makerCode, modelCode }

ファイル永続化

無制限(carsensorのモデルコードは事実上静的)

2

{makerCode}_S{modelCode}

carsensorの価格×年式セル

ファイル永続化

12時間

両方の層でキャッシュヒットすると、その呼び出しでcarsensor.netへのHTTPリクエストはゼロになります。Apifyホスト版では、このキャッシュは単一のStandby実行/コンテナインスタンスにスコープされます — 同時セッションが独立したキャッシュを持つ異なるコンテナインスタンスに配置される可能性があるため、ホスト版の実際のヒット率は、単一の長時間実行ローカルプロセスで見られるものよりも低くなる可能性があります。これが実際に問題になる場合は、将来のバージョンでApifyのKey-Value Store(実行間で共有)に移行する可能性があります。

アクセス間隔とロギング

carsensor.netへのリクエストは、負荷軽減策として最低1000ms間隔(デフォルト1500ms)でペーシングされます。これは carsensor-resale-value-scout Actorで使用されているのと同じ下限です。すべての呼び出しは(モデル、年式、層ごとのキャッシュヒット/ミス、実際に行われたHTTPリクエスト、応答時間、結果)将来の監視のためにログ記録されます。呼び出し元には公開されず、このActorを責任を持って運用するためだけに使用されます。

FAQ

confidence が時々 "low" になるのはなぜですか? carsensorの年式軸には、自社データにオープンエンドの下限バケット(例: 「2012年以前」)があります。その境界以下の年式は、そのモデルが実際にその年に存在したかどうかに関係なく一致します。このデータだけから妥当性を完全に検証する方法はないため、確実として報告するのではなく、confidence は正直に低くされます。そのような応答の note フィールドに具体的な理由が記載されています。

特定のモデルへの最初の呼び出しには数秒かかるのに、繰り返しの呼び出しははるかに速いのはなぜですか? 馴染みのないモデルへの最初の呼び出しでは、どのモデルかを解決するためにcarsensor.netへの実際のリクエストが最大3回必要です(検索 → 詳細ページ → 相場ページ)。解決されると、モデル→コードのマッピングは事実上永続的にキャッシュされ、価格データ自体は12時間キャッシュされます。そのため、同じモデルへの繰り返し呼び出しはほぼ瞬時です。

走行距離はカバーされますか? まだです — 「できないこと」を参照してください。

carsensor-resale-value-scout とはどう違うのですか? そのActorはバッチスクレイパーです。検索語を渡すと、同じ市場データに対してスコアリングされたライブ掲載のリストが返されます。このActorは、単一呼び出し・オンデマンドのカウンターパートであり、スクレイピングして処理するリストではなく、1つのモデル/年式に対して1つの数値を求めるAIエージェントやアプリ向けに構築されています。

既知の制限

  • モデル名の解決には直接のルックアップはなく、carsensor 独自のフリーワード検索を経由し、一致する掲載ページを読んでモデルを特定します。 本当に認識できないモデル(タイプミス、存在しないモデル)の場合でも、carsensor の検索結果ページには無関係な車が並ぶ「あなたへのおすすめ」ウィジェットが含まれます。この Actor はそのウィジェットを明示的に検出して除外することで、実際の一致と誤認されないようにしています(ライブテストで確認済み)。

  • confidence は、照会された年が特定のモデルにとって妥当かどうかを完全には検証できません — FAQ を参照してください。

  • これはグレード別の集計値であり、個別の掲載価格ではありません — 「データソースと計算方法」を参照してください。

  • ファイルベースのキャッシュは、ホスト型(Apify Standby)バージョンではコンテナごとに存在します — 「キャッシュ」を参照してください。

  • このツールの基盤となるスクレイピングロジックは、carsensor-resale-value-scout のコードベースからインポートするのではなく、意図的に複製されています。これは、独立してデプロイされている 2 つの Actor を疎結合に保つためです。carsensor.net のマークアップ変更が一方に影響を与えた場合、もう一方にも対応する修正が必要になることがあります。

  • Smithery には未掲載: Apify Standby の認証レスポンスが OAuth ディスカバリー準拠ではないため、このサーバー独自の設定ベース認証に到達する前に Smithery の自動接続スキャンが失敗します。今のところ回避策は予定されていません。

将来の拡張可能性(このバージョンでは未実装)

  • 走行距離を 3 つ目の入力として追加(carsensor の価格×走行距離マトリクスを使用。取得可能なことは確認済みだが、まだ組み込まれていない)

  • キャッシュを Apify の Key-Value Store に移行し、Standby のコンテナインスタンス間で共有できるようにする

  • Apify Store 以外の追加の MCP ディレクトリへの掲載

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 25 interactive automotive intelligence tools for real-time market data, including VIN decoding, price predictions, and inventory analytics. It enables AI assistants to perform car searches, trade-in estimations, and market trend analysis using the Model Context Protocol.
    2
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and compare prices across Japanese used camera, watch, luxury brand, and instrument marketplaces from multiple stores, returning price, brand, condition, and source store information.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to search and aggregate used-vehicle listings across Cars.com, Autotrader, and KBB, with filters for price, mileage, dealer information, and CARFAX-style history conditions.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to search live used-car inventory, verify whether asking prices are fair market value, estimate annual road tax and running costs, and initiate contact with sellers for the Portuguese market.
    6
    32 npm
    MIT