Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Luxury auction results by API key: table queries, market stats, price trends and price checks.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"saleroom": {
"command": "npx",
"args": [
"-y",
"@reneturcios/saleroom",
"mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add saleroom -- npx -y @reneturcios/saleroom mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"saleroom": {
"command": "npx",
"args": [
"-y",
"@reneturcios/saleroom",
"mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"saleroom": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@reneturcios/saleroom",
"mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント CloudCorpRecords で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは3 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.js, Dockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Fomu MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Kenya government form guides: checklists, draft letters, eCitizen, Huduma, timelines. Sample data.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
What did that watch actually sell for — and what is one worth today? saleroom is a read-only client for the altfinance auction-results service, which tracks realized prices across twenty luxury categories: watches, handbags, jewelry, gems, cars and motorcycles, aircraft, wine and whisky, art, design, fashion, coins and more. You can list the tables, inspect a table's columns, run filtered and sorted queries over the sales history, read summary statistics and price trends, ask for a fair-value range on a single item, search the whole market at once, consult a precomputed brand/model price index, and view price alerts.
Nothing here trades, bids or changes anything: all nine tools only read. Responses come back exactly as the service returned them — nothing is trimmed, renamed or summarised on the way through.
Two environment variables control the client:
ALTFINANCE_API_KEY (required) — sent on every request as Authorization: Bearer . When it is not set, every tool fails with ALTFINANCE_API_KEY is not set before any request is made.ALTFINANCE_API_URL (optional) — API base URL. Defaults to https://api.altfndata.com.list_tables — the available auction tables, with live descriptions and column counts. No arguments.get_table_schema — column names and types for one table. Takes table (required).query_table — query a table with filters, sort, fields selection and pagination (limit 1–500, offset ≥ 0). Takes table (required) plus the optional arguments.market_stats — a realized-price summary for a table or a filtered segment: count, median, percentiles, average, min/max, sale-date span and top vendors. Takes table (required) and optional filters.price_trend — how realized prices moved over time, bucketed by year, quarter or month. Takes table (required), optional bucket and optional filters.price_check — a fair-value range for a single item from comparable sales, with source links. Takes item (required) and optional category. Live categories are handbags, watches and cars.search — whole-market keyword search across every category at once, merged by realized price. Takes query (required) and optional category.market_index — a precomputed model-level price index for a brand or model (handbags, watches, cars). Takes query (required) and optional category.list_alerts — a read-only view of price alerts, or guidance on enabling them. No arguments.The twenty tables are: watches, handbags, jewelry, gems, automobile, motorcycle, aircraft, wine_whisky, works_of_art, fine_art, design, fashion, shoes, automobilia, books, coins, other_automobile, perfume, accessories and musical_instruments.
A filter is {column, operator, value}. The operators are eq, neq, gt, gte, lt, lte, like, in, not_in, is_null and is_not_null. Omit value for is_null / is_not_null; pass an array for in / not_in. A sort is {field, direction} with direction asc or desc.
Validation happens before any request. An unknown operator fails with unknown filter operator: ; a missing value where one is required fails with filter value is required for operator ; a limit outside 1–500 fails with limit must be an integer between 1 and 500. An upstream non-2xx reply fails with altfinance error: HTTP and an unreachable API with altfinance unreachable.
The original service's project record pins the nine tools, the twenty table names, the filter operators, the sorting, field-selection and pagination rules, the trend buckets and the two environment variables — and that all nine endpoints are read-only. It does not pin the per-tool argument names beyond its prose, the filter/sort JSON shapes, the auth header or the request paths. Those pieces are reconstructions, labelled as such:
Authorization: Bearer header — reconstruction (the record pins API-key authentication only).GET /v1/tables — list_tables.GET /v1/tables/{table}/schema — get_table_schema.POST /v1/tables/{table}/query with body {filters?, sort?, fields?, limit?, offset?} (unset fields omitted) — query_table.POST /v1/tables/{table}/stats with body {filters?} — market_stats.GET /v1/tables/{table}/trend with bucket and a JSON-encoded filters query parameter when set — price_trend.POST /v1/price-check with body {item, category?} — price_check.GET /v1/search?q=&category= — search.GET /v1/market-index?query=&category= — market_index.GET /v1/alerts — list_alerts.Each tool is a subcommand taking one JSON argument string:
npx @reneturcios/saleroom list_tables '{}'
npx @reneturcios/saleroom query_table '{"table":"watches","filters":[{"column":"brand","operator":"eq","value":"Rolex"}],"limit":10}' npx @reneturcios/saleroom price_check '{"item":"Rolex Submariner 1968","category":"watches"}' npx @reneturcios/saleroom --version
Output is the tool's result text (the upstream JSON on success). Exit codes: 0 on success, 1 on a runtime error (including a validation or upstream failure), 2 on a usage error.
npx -y @reneturcios/saleroom mcp
MCP client config:
{
"mcpServers": { "saleroom": { "command": "npx", "args": ["-y", "@reneturcios/saleroom", "mcp"], "env": { "ALTFINANCE_API_KEY": " " } } } }
docker run -i ghcr.io/cloudcorprecords/saleroom
docker run --rm ghcr.io/cloudcorprecords/saleroom list_tables '{}'
npm install
npm run build # tsc -> dist/ npm test # tsx --test test/*.test.ts (fake fetch only, no network) npm run dev # run the CLI from source
MIT — Copyright (c) 2026 Rene Turcios