Skip to main content
Glama
AdeiTamayo

Wallapop MCP Server

by AdeiTamayo

Wallapop MCP 서버

Wallapop 마켓플레이스를 위한 하이브리드, 비공식 MCP 서버로, TypeScript로 작성되었습니다.

  • HTTP 기본: 비공개 api.wallapop.com v3 엔드포인트에 대한 리버스 엔지니어링 호출

  • SSR 폴백: es.wallapop.com 페이지의 __NEXT_DATA__ 스크래핑 (아이템 상세, 판매자 프로필)

  • Playwright 폴백: 최후의 수단으로 화면 밖 헤드 브라우저 (Wallapop의 CDN이 헤드리스 Chrome을 차단함)

  • 인증: 즐겨찾기, 저장된 검색, 채팅 및 제안을 위한 선택적 이메일/비밀번호 또는 브라우저 쿠키 가져오기 (토큰 갱신 + 세션 지속)

비공식이며 제휴가 아닙니다. Wallapop의 문서화되지 않은 API를 사용하며, 이는 언제든지 변경되거나 트래픽을 차단할 수 있습니다 — 사용에 따른 책임은 본인에게 있으며, 요청량을 낮게 유지하고 서비스 이용약관을 준수하십시오.

도구

도구

인증

설명

search_products

–

카테고리 / 가격 / 위치 / 반경 / 정렬 필터가 있는 키워드 검색, 커서 페이지네이션 (nextPage), 예약된 항목은 필터링됨

scan_products

–

중복 제거, 가격 필터링 및 사기 플래그가 있는 다중 쿼리 키워드 스캔 (배송 가능 목록)

get_listing

–

전체 목록 상세: 설명, 상태, 가격, 이미지, 조회수, 즐겨찾기, 판매자, 배송

get_seller

–

ID 또는 웹 슬러그로 판매자 프로필: 평점 (0–100), 판매/게시 수, 등록 날짜, 위치

list_categories

–

ID가 있는 마켓플레이스 카테고리 트리

server_status

–

상태 / 인증 / 브라우저 폴백 상태

favorite_listing / unfavorite_listing

필수

숫자 ID, 웹 슬러그 또는 아이템 URL로 즐겨찾기 (API + 브라우저 폴백)

get_saved_searches / create_saved_search / delete_saved_search

필수

저장된 검색 알림

list_conversations

필수

채팅 받은 편지함: 상대 사용자, 아이템, 읽지 않은 수, 마지막 메시지

get_messages

필수

대화의 전체 메시지 기록

send_message

필수

채팅 메시지 보내기 (실시간 채널)

make_offer

필수

구매 제안 보내기 (EUR) — 판매자가 채팅에서 받고 수락/거절할 수 있음

Related MCP server: Bazos-MCP

빠른 시작

git clone <this-repo>
cd WallpopMCP
npm install
npm run build
cp .env.example .env   # fill in your keys (see Configuration)
npm run smoke          # live sanity check against the API

MCP 클라이언트에 연결

# Claude Code (stdio)
claude mcp add wallapop -- node /absolute/path/to/WallpopMCP/dist/index.js
# Inspector (browse tools interactively)
npm run inspector

구성 (.env, .env.example 참조)

변수

목적

WALLAPOP_EMAIL / WALLAPOP_PASSWORD

인증 도구 활성화 (즐겨찾기, 저장된 검색, 채팅, 제안)

WALLAPOP_COOKIES_FILE

로그인된 세션에서 내보낸 브라우저 쿠키의 선택적 JSON 배열 ([{ name, value }]) — 가장 안정적인 인증 경로

WALLAPOP_DEFAULT_LAT / LNG / DISTANCE_KM

기본 검색 위치 (바르셀로나 중심)

WALLAPOP_SESSION_FILE

토큰/쿠키 지속성 (기본 ./wallapop-session.json, gitignored)

WALLAPOP_RATE_DELAY_MS

API 호출 사이의 최소 지연 (기본 600)

WALLAPOP_MAX_RESULTS

검색 결과 상한, 1–200 (기본 200)

WALLAPOP_BROWSER

auto (기본) | chrome | msedge | chromium | off

참고: WALLAPOP_EMAIL/WALLAPOP_PASSWORD는 MFA 또는 Keycloak 흐름이 있는 계정에서는 실패할 수 있습니다 — 이 경우 로그인된 브라우저에서 쿠키를 WALLAPOP_COOKIES_FILE (쿠키 객체의 JSON 배열)로 내보내면 서버가 이를 직접 사용합니다.

작동 방식

검색 (2단계 API 흐름)

  1. GET /api/v3/search/components → search_id

  2. GET /api/v3/search/section (페이지당 40개 항목) → meta.next_page JWT; 서버는 search_id + 커서를 불투명한 nextPage 토큰으로 패키징하여 클라이언트가 그냥 다시 전달하도록 합니다.

채팅 및 제안

  • 메시지는 실시간 채널 (PubNub)을 통해 전송되며 받은 편지함 API (/bff/messaging/inbox)에도 도달합니다 — 둘 다 종단 간 검증됨.

  • 제안은 클라이언트 생성 제안 ID와 함께 POST /api/v3/delivery/buyer/offers를 통해 생성됩니다; 판매자는 대화에서 이를 받습니다.

인증

  • POST /api/v3/access/login 시도 → 액세스/리프레시 토큰 + 쿠키를 세션 파일에 저장, JWT가 만료되기 직전에 POST /api/v3/access/refresh를 통해 갱신.

  • 자동 브라우저 로그인으로 폴백; MFA 챌린지가 감지되어 오류로 표시됩니다 (수동으로 완료한 다음 쿠키를 WALLAPOP_COOKIES_FILE로 내보내십시오).

폴백 체인

  1. 브라우저 유사 헤더, UA 회전, 429에 대한 지수 백오프, 403에 대한 X-Signature 재시도가 있는 API 요청

  2. SSR HTML 스크래핑 (es.wallapop.com/item/..., /user/...) — 판매자에게 더 풍부한 데이터 (평점, 카운터)

  3. Playwright를 통한 화면 밖 헤드 Chrome (api.wallapop.com XHR 응답 캡처) — Wallapop의 CDN이 헤드리스 모드를 차단하므로 수동 브라우저 다운로드 없이 WALLAPOP_BROWSER=chromium을 사용하지 마십시오; auto는 설치된 Chrome/Edge를 선호합니다

참고 사항 및 알려진 제한

  • search_products 가격 필터 (minPrice/maxPrice) 및 반경 필터 (distance_in_km)는 API 측 매개변수입니다.

  • favorite_listing/unfavorite_listing은 최선 노력 엔드포인트 후보를 사용합니다 — 계정으로 확인하십시오; 엔드포인트는 변경될 수 있습니다.

  • 아이템 condition은 get_listing을 통해서만 안정적으로 사용할 수 있습니다 (검색 결과는 일반적으로 생략).

  • 일부 판매자는 제안을 비활성화합니다 — 이 경우 make_offer는 409 오류를 표시합니다.

Available Tools

6 tools
get_listingGet full listing detailsA

Get detailed information about a single Wallapop listing: description, condition, price, images, location, views, favorites, seller id, shipping options. Accepts the numeric listing id, a web slug, or a full item URL. Falls back to server-side rendering when the API fails.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesListing id (numeric string), web slug, or full item URL

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It adds a useful behavioral detail: 'Falls back to server-side rendering when the API fails,' which is beyond the schema. However, it does not explicitly state that this is a read-only operation (though 'get' implies it) or mention any side effects, rate limits, or authentication requirements. The fallback is a positive addition, but coverage remains moderate.

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 core purpose and then quickly covering input variations and fallback behavior. Every sentence adds value with no repetition or fluff. It is appropriately sized for the tool's simplicity.

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 low complexity (single parameter, no output schema), the description is nearly complete. It lists the returned data fields, specifies accepted input formats, and mentions a fallback mechanism. It doesn't cover error cases or example responses, but for a straightforward fetch operation, this is sufficient. Slight deduction for not explicitly stating what happens on not-found or invalid input.

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 100%, so the parameter `itemId` is fully described in the schema as 'Listing id (numeric string), web slug, or full item URL.' The description simply repeats this information ('Accepts the numeric listing id, a web slug, or a full item URL') without adding new semantics. Baseline for high coverage is 3, and no extra value is provided 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's purpose: 'Get detailed information about a single Wallapop listing' and enumerates the specific fields (description, condition, price, images, etc.). This distinguishes it from siblings like get_seller, which focuses on seller data, and search_products, which is for searching. The verb 'get' and resource 'listing' are unambiguous.

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 implies when to use this tool (when you need details of a single listing) and even provides flexible input formats (numeric id, slug, or URL). It does not explicitly exclude alternatives or mention when NOT to use it, but the context from sibling names and the clear purpose give sufficient guidance. The fallback note also hints at reliability handling.

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

get_sellerGet seller informationA

Get a Wallapop seller profile by numeric user id (from a listing) or by web slug (e.g. 'sergiof-462579195'): rating, review count, sold/published counts, registration date, location.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesSeller numeric id or web slug

TDQS

A4.5/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the burden of explaining behavior. It clearly states the output fields (rating, review count, etc.) and the two accepted input formats Dropdown. It does not mention errors or side effects, but for a get operation, this is adequate.

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 a single sentence that packs all essential info: what, how, and what you get. No fluff.

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?

Provides clear input and output details, but lacks any error handling or edge cases; still complete for typical usage.

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 single parameter 'reference' is described in both the schema and the description, specifying it can be a numeric id or web slug, which is fully unambiguous.

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 gets a Wallapop seller profile using a numeric user id or web slug, and lists the specific fields returned (rating, counts, dates, location). This is specific to the seller resource and clearly differentiates from siblings like get_listing and search_products.

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 explains the input format (numeric id or slug) and what to expect from the output, giving clear context for when to use this tool. It does not explicitly mention alternatives or when not to use it, but the scope is clearly defined.

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

list_categoriesList Wallapop categoriesA

List all marketplace top-level categories with ids and subcategories.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/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 states that it returns top-level categories with ids and subcategories, indicating a read-only operationhol, but it doesn't describe the exact structure or any potential variations, which is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently conveys the tool's purpose. It loses a point for not being front-loaded with the action, but it's clear and to the point.

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 that the tool has no parameters, no output schema, and the description provides a clear indication of what is returned (categories with ids and subcategories), the description is adequate. It could have mentioned whether the subcategories are nested or a flat list, but the description's level of detail is sufficient for an agent to use the tool correctly.

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

Parameters4/5

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

The schema has zero parameters, and the schema coverage is 100%, so there are no parameters, and the description adds that it's a simple read operation. Since there are no parameters, the description explains the return format (ids and subcategories, which is the purpose, but it might be a simple operation. This is a simple read-only and the description. This is a simple read-only, but I'm not the memory of the context, but the schema covers all the 0 parameters and the description is clear, but it is a simple description. The description doesn't need to explain parameters beyond that, and it doesn't add much beyond the schema, but the schema itself is empty, so the description is the main source of parameter semantics, which it handles by describing what the tool returns, but not in terms of parameters. With 0 parameters, the baseline is 4 because there are no parameter details to provide, but the description could have mentioned the output format or usage. The description does state the output includes ids and subcategories, which is helpful for the agent knowing what to expect, so a 4 is appropriate.

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 lists all marketplace top-level categories with ids and subcategories, which is specific and distinguishes it from the sibling tools (search_products, get_listing, etc.).

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 implies that this tool is used to obtain the full category tree, which is useful before searching or scanning. It doesn't explicitly mention when not to use it, but the purpose is clear in the context of the other tools.

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

scan_productsScan multiple searches for phone candidatesA

Runs several keyword searches (default nationwide radius) and dedupes results, keeping only in-range, shippable listings and flagging suspicious ones (scam wording or book-slug retitled listings). Returns compact candidate list, ready for get_listing/verify.

ParametersJSON Schema
NameRequiredDescriptionDefault
queriesYesKeyword/price-range combos to scan (deduped across queries)
distanceKmNoSearch radius in km (default 1500 = all Spain)
maxResultsPerQueryNoMax results per query (default 200)

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 behavioral burden and does a good job: it discloses deduplication, default nationwide radius, filtering to in-range/shippable listings, and suspicious-item flagging. It does not explicitly state that no data is modified, but 'scan' and 'returns compact candidate list' strongly imply a read-only pipeline.

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?

Two dense sentences cover the entire behavior without wasted words. The description is front-loaded with the core action and then provides filtering details and the downstream purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, no annotations, and no output schema, the description is complete enough: it states input behavior, filtering logic, output type, and downstream usage. It does not detail edge cases, but the essential context for selecting and invoking the tool is present.

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 coverage is 100%, so the schema already documents all parameters. The description adds modest value by explaining the default nationwide radius and the purpose of deduplication, which aligns with the queries array, but it does not add meaningful syntax or format details 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 uses a specific verb and resource: 'Runs several keyword searches' for phone candidates, and clearly distinguishes itself from a basic search by mentioning deduplication and filtering. It also differentiates from siblings by explicitly stating the output is ready for get_listing/verify.

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 implies when to use this tool: when multiple keyword/price searches are needed and results should be deduped and filtered into a candidate list. It names downstream tools (get_listing/verify) but does not explicitly contrast with search_products or state when not to use it.

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

search_productsSearch Wallapop listingsA

Search Wallapop for products with optional filters: category, price range, location (latitude/longitude), radius, sort order. Paginate with the nextPage cursor returned. Reserved listings are filtered out. Returns up to maxResults listings (default 40, capped at 200).

ParametersJSON Schema
NameRequiredDescriptionDefault
orderByNoSort order
keywordsYesSearch keywords, e.g. 'iphone 15 pro'
latitudeNoSearch origin latitude (defaults to Barcelona center)
maxPriceNoMaximum price in EUR
minPriceNoMinimum price in EUR
nextPageNoOpaque pagination cursor from a previous search call
longitudeNoSearch origin longitude (defaults to Barcelona center)
categoryIdNoRestrict to a category, see list_categories
distanceKmNoSearch radius in km
maxResultsNoMax results to return (default 40, capped 200)

TDQS

A4.5/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. It discloses that reserved listings are filtered out and that results are limited to maxResults (default 40, cap 200). It does not state whether the operation is read-only or mention authentication/rate limits, but for a search tool this is largely implicit. Slight deduction for missing explicit read-only declaration.

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 concise, consisting of two sentences that efficiently list filters, pagination, reserved-listings behavior, and result limits. No redundancy or unnecessary detail; well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 10 parameters, the description, combined with the schema, covers all essential aspects: how to search (filters), pagination (nextPage cursor), data handling (reserved listings filtered out), and result limits. It does not mention error handling or authentication, but for a search tool these are typically standard and not required for completeness. The description is sufficient for a developer to use the tool effectively.

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

Parameters4/5

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

The schema already provides clear descriptions for each parameter (e.g., latitude defaults to Barcelona center, maxPrice in EUR). The tool description adds context by grouping them as 'optional filters' and noting pagination via nextPage, but does not significantly expand on individual parameter meanings. Since schema coverage is 100% and descriptions are self-explanatory, the added value is moderate.

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 searches Wallapop for products with optional filters, using the specific verb 'Search' and resource 'Wallapop products'. It distinguishes from sibling tools like get_listing (single item) and scan_products (likely broader scan) by focusing on filtered search.

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 concrete usage guidance: mentions optional filters, pagination via nextPage cursor, reserved listings being filtered out, and maxResults default/cap. It does not explicitly differentiate from alternatives like scan_products, but the filter and pagination details give clear context for when to use this tool.

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

server_statusGet MCP server health and auth statusA

Returns whether the server is configured for public or authenticated use, whether a session is loaded, and whether browser fallback is available.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses what information is returned (config, session, browser fallback) but does not disclose any side effects, read-only nature, or operational details. As a status check, it is likely read-only, but this is not stated. There is no mention of whether it performs network calls, requires auth, or has any side effects.

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 a single, concise sentence that efficiently lists the three key pieces of information returned. No waste; every clause adds value.

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?

While the description is adequate for a zero-parameter status tool, it does not provide any context about the response structure or how the status should be interpreted. For a health/auth status tool, an agent might benefit from knowing what 'browser fallback' means or how to act on the status, but the description meets the minimum viable level.

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

Parameters4/5

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

The tool has zero parameters, which is fully disclosed by the empty schema. Since there are no parameters to describe, the description does not need to add parameter semantics. The baseline for 0 params is 4, and there is no missing information.

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 what the tool does: returns server configuration status (public/authenticated), session load state, and browser fallback availability. It is specific about the resource (server status) and the information returned, distinguishing it from sibling tools which operate on products, listings, sellers, and categories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the sibling tools. It is implied that this is a diagnostic/utility tool, but the description does not explicitly state when an agent should check server status (e.g., before auth-dependent operations, to verify availability). The sibling tools are all product/catalog-related, so differentiation is clear, but the description lacks usage context.

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.

  1. 6 tool updatesv0.1.0
    • First observedget_listing
    • First observedget_seller
    • First observedlist_categories
    • First observedscan_products
    • First observedsearch_products
    • First observedserver_status

TDQS

A4/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are clearly distinct: search_products, get_listing, get_seller, list_categories, and server_status each target a different resource or action. The main ambiguity is between search_products and scan_products, though scan_products is clearly positioned as a specialized multi-keyword search with deduplication.

Naming Consistency4/5

The naming pattern is largely consistent: search_products, get_listing, get_seller, list_categories, and scan_products all follow verb_noun naming. server_status breaks the pattern slightly by using a noun phrase instead of a get_ or status_ verb, but it is still readable and predictable.

Tool Count5/5

Six tools is well-scoped for a marketplace browsing/searching MCP server. Each tool covers a meaningful capability without bloat, and the count feels appropriate for the server's purpose.

Completeness4/5

The core browsing flow is covered: search listings, get listing details, get seller profiles, and list categories. Minor gaps exist such as not being able to list a seller's active listings or perform authenticated actions, but those are not necessarily core to this server's stated scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    MCP server for automating Xianyu (Goofish) marketplace operations: publish, manage items, handle IM messages, and more via CLI or AI agents.
    17
    259 PyPI
    297
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for interacting with Bazos.cz, Bazos.sk, Bazos.at, and Bazos.pl. Supports searching ads, retrieving ad details, and fetching user ratings.
    3
    240 npm
    4
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for Vinted search and analysis that provides tools to search listings, fetch item details, inspect seller profiles, compare prices across countries, and surface trending items.
    116 npm
    17
    AGPL 3.0