Skip to main content
Glama
ihavealotofguap

oskelly-mcp

oskelly-mcp

CI License: MIT

公開カタログ oskelly.ru 用のMCPサーバー。14のツール、すべて匿名の読み取り専用操作で、すべて実サイトで検証済みです。

非公式プロジェクトであり、Oskelly とは提携・関係ありません。登録なしの訪問者と同じものだけを読み取ります。商標は各権利者の所有です。

License

MIT

Related MCP server: VkusVill MCP Server

Installation

Node.js 22+。

git clone https://github.com/ihavealotofguap/oskelly-mcp.git
cd oskelly-mcp
npm ci
npm run build
npm run verify
  • Claude Desktop — claude_desktop_config.json (Settings → Developer → Edit Config)、パスは絶対パスである必要があります:

    { "mcpServers": { "oskelly": { "command": "node", "args": ["/abs/path/oskelly-mcp/dist/index.js"] } } }
    • spawn node ENOENT on Windows → "node"where node の出力に置き換え、スラッシュはエスケープしてください。

    • 編集後は、トレイアイコンを含めアプリを完全に再起動してください。

  • Claude Code — claude mcp add oskelly -- node /abs/path/oskelly-mcp/dist/index.js

  • デバッグ — npm run inspector

Tools

Tool

説明

oskelly_describe_filters

フィルターモデルのチートシート: コード、形式、名前をIDに解決する方法

oskelly_search_products

検索: クエリ、ファセット、価格、ブールタグ、ページネーション、並び替え

oskelly_search_facets

同じクエリだが、商品の代わりにカウントと利用可能なファセットを返す

oskelly_filter_values

id を持つ1つのファセットの値 (brand, category, size, condition, …)

oskelly_search_suggestions

クエリのオートコンプリート

oskelly_category_tree

カテゴリツリー、rootId / depth による切り詰め

oskelly_list_brands

ID付きブランド、部分一致検索、ページネーション

oskelly_list_conditions

説明付きの商品の状態

oskelly_list_attributes

属性辞書 (素材、色、…)

oskelly_get_product

IDまたはURLによる商品カード: 説明、属性、サイズ、写真、販売者

oskelly_seller_products

販売者の商品

oskelly_seller_filters

販売者の品揃えに実際にあるもの

oskelly_home_banners

ホームのバナー (FEMALE/MALE/KIDS/LIFESTYLE)

oskelly_banner_catalog

バナーコレクションをフィルタープリセット+商品に展開する

フロー: describe_filterslist_brands/category_tree/filter_valuessearch_productsget_product

Scope

ログイン、クッキー、カート、お気に入り、メッセージ、注文は存在せず、また存在させることもできません。これはコードの性質です:

  • credentials: "omit"Authorization/Cookie は一切使用しません。

  • POST は3つの読み取り専用検索エンドポイントにのみ許可されています — src/client.ts の許可リスト assertReadOnlyPost

  • すべてのツール: readOnlyHint: truedestructiveHint: false

  • スモークテストでは、ツールリストに login/cart/favourite/order/checkout/message/account を含む名前がないことを確認します。

Notes

  • 商品カードは __NUXT_DATA__ からパースされます。 単一商品の公開JSONエンドポイントは存在せず (GET /api/v2/products/{id} → 404)、ページはサーバー側で Nuxt 3 によってレンダリングされます。ペイロードは、Nuxt がシリアライズするのと同じ公式パッケージ devalue でデコードされます。カスタム型は標準のリバイバー (src/nuxt.ts) で接続されています。Playwright ではありません: ~150 MB の Chromium と 3〜5 秒かかる代わりに、1回のGETで ~150 ミリ秒です。

  • URLのスラッグは無視されます — 末尾の数値IDのみが意味を持ち、ツールは両方を受け付けます。

  • フィルター形式 /products/search* のボディ: 複数選択は id の配列 ({"brand": [675]})、ブールは素の boolean ({"sale": true})、価格はオブジェクト ({"price": {"lower": 50000}})。{"brand": "675"}{"sale": [true]} は黙って無視され、{"price": [a, b]}success: false になります。

  • 価格はカード価格ではなくサイズSKUでフィルタリングされます — 商品が下限を下回るカード価格で検索結果に含まれる可能性があるため、各レスポンスには sizePriceRange: {min, max} が含まれます。

  • アップストリームのカウンタは名前が変更されました: totalAmounttotalMatchesitemsCountitemsOnPage

  • セグメント (baseCategory) — ツリーノードのID: レディース=2、メンズ=105、キッズ=188、ライフスタイル=366。

  • WAF: クエリ内のキリル文字はパーセントエンコードされている必要があります。そうでないと 403 になります。

  • コンテキスト: 生のレスポンスは巨大なため (ツリー ~1 MB、ブランド ~750 KB)、デフォルトではコンパクトなプロジェクションが返されます。verbose: true で未加工のレスポンスが返ります。

Testing

npm run verify        # офлайн: сервер стартует, 14 tools, все read-only
node smoke-test.mjs   # живой end-to-end по MCP против oskelly.ru

スモークテストは、コンパイル済みサーバーを stdio 経由で別プロセスとして起動し、モックなしで実サイトに対して各ツールを呼び出します。パラメータは前のレスポンスからチェーンされます (ブランド → 検索 → productId → sellerId → バナー)。各呼び出しは意味のある検証を行います: PRICE_DESC が実際に価格の降順を返すこと、conditionIds: [1] が実際に状態1のみを返すこと、フィルタが単調に結果を絞り込むこと。最後の実行結果は SMOKE-TEST-OUTPUT.txt です (23 呼び出し、14/14 ツール、0 失敗)。

CI は Node 22/24/26 でプロジェクトをビルドし、npm run verify を実行します。ライブスモークテストは、ランナーから他人のサイトに負荷をかけないよう、手動実行 (Actions → CI → Run workflow → run_smoke_test) に分離されています。

Structure

src/client.ts             HTTP-клиент, конверт, allow-list на POST
src/nuxt.ts               извлечение и декодирование SSR-payload (devalue)
src/search.ts             схема и сборка тела запроса для /products/search*
src/format.ts             компактные проекции ответов
src/tools.ts              определения 14 инструментов
src/index.ts              точка входа, stdio-транспорт
scripts/verify-server.mjs офлайн-проверка поверхности tools (CI)
smoke-test.mjs            живой end-to-end тест по протоколу MCP

Contributing

PR 歓迎します。送信前には npm run buildnpm run verifynode smoke-test.mjs を実行してください。

oskelly が更新された場合に最も壊れやすい箇所: __NUXT_DATA__ 形式 (src/nuxt.ts に reviver を追加するよう指示する明示的なエラーで失敗します)、ファセットコード、セグメント ID。レート制限はテストされていません。タイムアウトは 45 秒、リトライは意図的に行っていません。

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    MCP server for MoySklad (МойСклад) warehouse and CRM management API. 21 tools covering the full order lifecycle: products, stock, counterparties, customer orders, shipments, supplies, warehouses, organizations, reports, and webhooks.
    60
    121
    5
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A UCP-compliant MCP storefront server that exposes product catalog operations (search, cart, checkout) as MCP tools, following UCP schema version 2026-04-08.
    5
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that turns Wildberries marketplace into a toolkit for LLM agents, enabling product search, detailed card inspection, price history, reviews, and cross-product comparison.

View all related MCP servers

Related MCP Connectors

  • Read-only MCP server for Muovi, Argentina's trust-first local services marketplace (6 tools).

  • Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.

  • Pocket Agent (aipocketagent.com) MCP server — read tools for personas, apps, and product info.

View all MCP Connectors

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/ihavealotofguap/oskelly-mcp'

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