oskelly-mcp
oskelly-mcp
公開カタログ oskelly.ru 用のMCPサーバー。14のツール、すべて匿名の読み取り専用操作で、すべて実サイトで検証済みです。
非公式プロジェクトであり、Oskelly とは提携・関係ありません。登録なしの訪問者と同じものだけを読み取ります。商標は各権利者の所有です。
License
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 verifyClaude Desktop —
claude_desktop_config.json(Settings → Developer → Edit Config)、パスは絶対パスである必要があります:{ "mcpServers": { "oskelly": { "command": "node", "args": ["/abs/path/oskelly-mcp/dist/index.js"] } } }spawn node ENOENTon Windows →"node"をwhere nodeの出力に置き換え、スラッシュはエスケープしてください。編集後は、トレイアイコンを含めアプリを完全に再起動してください。
Claude Code —
claude mcp add oskelly -- node /abs/path/oskelly-mcp/dist/index.jsデバッグ —
npm run inspector
Tools
Tool | 説明 |
| フィルターモデルのチートシート: コード、形式、名前をIDに解決する方法 |
| 検索: クエリ、ファセット、価格、ブールタグ、ページネーション、並び替え |
| 同じクエリだが、商品の代わりにカウントと利用可能なファセットを返す |
| id を持つ1つのファセットの値 ( |
| クエリのオートコンプリート |
| カテゴリツリー、 |
| ID付きブランド、部分一致検索、ページネーション |
| 説明付きの商品の状態 |
| 属性辞書 (素材、色、…) |
| IDまたはURLによる商品カード: 説明、属性、サイズ、写真、販売者 |
| 販売者の商品 |
| 販売者の品揃えに実際にあるもの |
| ホームのバナー (FEMALE/MALE/KIDS/LIFESTYLE) |
| バナーコレクションをフィルタープリセット+商品に展開する |
フロー: describe_filters → list_brands/category_tree/filter_values → search_products → get_product。
Scope
ログイン、クッキー、カート、お気に入り、メッセージ、注文は存在せず、また存在させることもできません。これはコードの性質です:
credentials: "omit"、Authorization/Cookieは一切使用しません。POST は3つの読み取り専用検索エンドポイントにのみ許可されています —
src/client.tsの許可リストassertReadOnlyPost。すべてのツール:
readOnlyHint: true、destructiveHint: 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}が含まれます。アップストリームのカウンタは名前が変更されました:
totalAmount→totalMatches、itemsCount→itemsOnPage。セグメント (
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 тест по протоколу MCPContributing
PR 歓迎します。送信前には npm run build、npm run verify、node smoke-test.mjs を実行してください。
oskelly が更新された場合に最も壊れやすい箇所: __NUXT_DATA__ 形式 (src/nuxt.ts に reviver を追加するよう指示する明示的なエラーで失敗します)、ファセットコード、セグメント ID。レート制限はテストされていません。タイムアウトは 45 秒、リトライは意図的に行っていません。
Maintenance
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
- AlicenseCqualityBmaintenanceMCP 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.601215MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for VkusVill grocery store, enabling product search, details retrieval, and cart link creation.2
- AlicenseAqualityCmaintenanceA UCP-compliant MCP storefront server that exposes product catalog operations (search, cart, checkout) as MCP tools, following UCP schema version 2026-04-08.5MIT
- FlicenseNot gradedqualityCmaintenanceMCP server that turns Wildberries marketplace into a toolkit for LLM agents, enabling product search, detailed card inspection, price history, reviews, and cross-product comparison.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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