MCP Server Invite-only pilot
The Viewider MCP server connects Claude — or any MCP-capable agent — to your Viewider account. It exposes 84 tools (73 read-only + 11 write), and each tool maps one-to-one onto a documented REST endpoint below, so anything an agent can do, you can audit in the API reference.
Read-only by default. The 11 write tools (⚠️ WRITE below) need a key with the product:write capability — a read-only key gets 403.
Every tool calls exactly one documented Product API endpoint — same auth, same envelope.
Uses a key from API keys: minted into a 24-hour Bearer token, re-minted automatically.
product
26 toolsProducts, categories, condition and measurement enums, inventory snapshots.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_get_category_tree | /product/getCategoryList | Browse the Viewider category tree one level per call (drill-down). |
| viewider_list_item_conditions | /product/getConditionList | List all item-condition options (id + name). |
| viewider_get_fulfillment_info | /product/getFulfillmentInfo | Get the fulfillment reference enums (party, ship-to locations, delivery-day buckets, handling time). |
| viewider_get_measurement_info | /product/getMeasurementInfo | Get the allowed weight-unit and length-unit enums. |
| viewider_edit_product_priceWRITE | /product/editProductPrice | Update the selling price of one or more products in existing product groups (live write — revised prices are pushed to your connected marketplace listings). |
| viewider_edit_inventory_quantityWRITE | /product/editInventroy | Update inventory quantity for one or more of your inventory records (absolute value or +/- delta; live write — stock levels sync to your connected marketplace listings). |
| viewider_list_my_product_groups | /product/getProductGroupID | List your own active product-group ids and labels, paginated 100 per page. |
| viewider_get_product_groups | /product/getProductGroupForInventoryByID | Get full product, inventory, and warehouse detail for up to 50 product-group ids. |
| viewider_export_inventory_snapshot | /product/getProductGroupsForInventory | Export product, inventory, and warehouse detail for every active product group you own. |
| viewider_search_products | /searchProducts | Search the authenticated merchant's own product catalog by keyword (SKU/customLabel substring + product title), owner-scoped, with paging. |
| viewider_list_products_filtered | /listProductsFiltered | List the authenticated merchant's own products with filters and paging, owner-scoped; optionally include the facet filter set. |
| viewider_get_product_versions | /getProductVersions | Get the per-site ProductGroupVersion documents for one or more of the authenticated merchant's own product groups, owner-scoped (fail-closed on non-owned IDs). |
| viewider_get_product_price_suggestion | /getProductPriceSuggestion | Read the stored price-suggestion result for one of your product groups |
| viewider_list_download_files | /listDownloadFiles | List your own downloadable export files |
| viewider_suggest_category | /catalog/suggestCategory | Suggest matching categories for a product title or keyword |
| viewider_suggest_product_tags | /catalog/suggestProductTags | Suggest keyword tags for a product title and category |
| viewider_suggest_selling_price | /suggestSellingPrice | Suggest a marketplace selling price from a cost/price range |
| viewider_get_category_attributes | /product/getCategoryAttributes | Get item-specific attribute definitions for platform categories |
| viewider_list_media_library | /product/listMediaLibrary | List the authenticated merchant's own image/media library (the product-imagery album): id / fileUrl / displayName / fileType / displayFolder / flag / timestamp per image. Optional target_folder / flag / search filters and length+offset pagination; type=count returns a single {sum} total instead of rows. Owner-scoped server-side (userID = your account). |
| viewider_get_composition_bom | /product/getComposition | Preview one of your own product group's composition / BOM (bundle or multipack): component rows with per-unit cost, available stock, total cost, and the bottleneck component that caps how many bundles you can build. |
| viewider_validate_product_completeness | /product/validateProductCompleteness | Check one of your own product groups against the Full-tier completeness standard (A-J) and return a per-check pass/fail report. |
| viewider_manage_product_tagsWRITE | /catalog/manageProductTags | Add or remove internal research tags on your own product groups (live write — internal only, never pushed to a marketplace). |
| viewider_subscribe_daily_findingWRITE | /research/subscribeDailyFinding | Opt your own linked eBay seller tokens into the daily competitor-finding pipeline (live write — internal subscription only). |
| viewider_manage_tag_blacklistWRITE | /catalog/manageTagBlacklist | Blacklist or whitelist research tag suggestions for a category, on your own account (live write — internal preference only). |
| viewider_manage_finding_targetsWRITE | /research/manageFindingTargets | Start or stop tracking a competitor item / seller token / eBay category in your own research watchlist (live write). |
| viewider_export_products | /product/exportProducts | Enqueue an export of the authenticated merchant's OWN product groups to a file and return the async job id (poll it with viewider_get_job_status; the file appears in viewider_list_download_files). Owner-scoped and fail-closed; generates a download artifact — does not mutate the catalogue or push to any marketplace. |
listing
9 toolsCross-marketplace listing search and per-listing detail.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_search_listings | /sourcing/searchListings | Search and list your own listings with structured filters, pagination and sort. |
| viewider_get_listing_detail | /sourcing/getListingDetail | Fetch full detail for a specific set of your listings by ID. |
| viewider_get_ebay_shipping_options | /platform/getEbayShippingOptions | Read eBay global shipping reference catalogs for building listing shipping policies |
| viewider_get_marketplace_departments | /marketplace/getMarketplaceDepartments | Get the marketplace department and category tree |
| viewider_list_items_by_exposure | /listItemsByExposure | List the authenticated merchant's own eBay listing items in one sales-exposure bucket (0=high, 1=midHigh, 2=midLow, 3=low, 4=new) with QuantitySold / StartPrice / thumbnail / price-optimizer flag, page/50 pagination, and site / category / price-range / keyword filtering. Owner-scoped: token must be one the caller owns (validated against getTokens(session user)); a foreign or absent token returns an empty result and no caller userID is honored. |
| viewider_get_shopee_logistics_channels | /platform/getShopeeLogisticsChannels | Read the Shopee logistics (shipping-channel) catalog for one of your own Shopee shops |
| viewider_get_selling_performance | /getSellingPerformance | Get the daily sell-performance series for one of your own listings by numeric itemID over a date window. Returns response.data as a per-day array of {date, price, tran_count} (eBay transactions UNION optimizer price-change reports), plus oriPrice (the listing's original / optimizer base price) and dayDiff (window span in days). Owner-scoped server-side and fail-closed: an itemID that does not belong to your account, or a window with fewer than 2 data points, returns the same success envelope with response.data = false (deliberately indistinguishable from "no data" — no listing-existence oracle). Works with a machine-token API key carrying the listing:read capability. |
| viewider_clean_listing_active_content | /listing/cleanActiveContent | Sanitise a listing-description HTML string: strip active/unsafe content (script / object / embed / form) and normalise anchors, returning the cleaned HTML plus a changed flag. Pure function — persists nothing, pushes to no marketplace, and makes no outbound network connection. |
| viewider_export_listings | /listing/exportListings | Enqueue an export of the authenticated merchant's OWN listings to an Excel file and return the async job id (poll it with viewider_get_job_status; the file appears in viewider_list_download_files). Owner-scoped and fail-closed; generates a download artifact — does not mutate listings or push to any marketplace. |
order
14 toolsSeller sales records, platform transactions and Excel export.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_list_seller_sales_records | /listSellerSalesRecords | List the authenticated merchant's own sell-side sales records / orders with filter, page/pageSize pagination, total count, and a clean REST envelope (rows, totalCount, page, pageSize, is_sub_account, session_user). Buyer data masked. Force owner-scoped (sellerUserID = main account). |
| viewider_list_platform_transactions | /listPlatformTransactions | List the authenticated merchant's own marketplace order/transaction rows for one platform (order-based for order-item-base platforms), with type counts (markShipped / warehouseReceived / cancel) and skip/limit pagination. Non-B2B only, force owner-scoped. |
| viewider_export_platform_transactions | /exportPlatformTransactions | Export the authenticated merchant's own platform order/transaction rows matching a filter to an Excel file; returns a download URL. Owner-scoped, non-B2B. Generates a download artifact (does not mutate order data). |
| viewider_list_my_debit_notes | /listMyDebitNotes | List your own B2B supplier debit notes |
| viewider_get_job_status | /getJobStatus | Poll the status of a background job you enqueued |
| viewider_count_platform_transactions | /order/countPlatformTransactions | Count your platform orders by status and type |
| viewider_get_platform_transaction_filters | /transaction/getPlatformTransactionFilters | Get order-list filter reference data for your account |
| viewider_list_my_credit_notes | /marketplace/listMyCreditNotes | List your own credit notes (seller credits/refunds owed) |
| viewider_list_supplier_sales_records | /order/listSupplierSalesRecords | List or count the caller's own supplier sales records (orders to fulfil as a supplier) |
| viewider_get_seller_defect_dashboard | /order/getSellerDefectDashboard | Return the authenticated merchant's own eBay seller-defect dashboard: a 13-month rollup (per month: transaction count, defect count, and closed-cases-without-seller-resolution), optionally filtered by eBay token and corridor. Force owner-scoped (userID = session account) — cross-tenant read is impossible. |
| viewider_get_delivering_list | /order/getDeliveringList | List the caller's own "delivering" orders available to ship from a last-mile warehouse |
| viewider_get_notifications | /getNotifications | List the authenticated merchant's own in-app notifications (the SSE toast messages shown after async jobs finish). Defaults to the last 10; pass full=true for the entire feed. Force owner-scoped: the userId is derived server-side from the access token, never from caller input. |
| viewider_get_distinct_platforms_for_orders | /order/getDistinctPlatformsForOrders | List, keyed by last-mile warehouse ID, the distinct transaction platforms present across your own orders. Each value is the sorted platform list with "All" prepended. Owner-scoped server-side (supplierUserID = your core account), so only your own platforms are returned; an optional Mongo-style filter can only narrow within your own supplier records. |
| viewider_get_shipping_labels | /order/getShippingLabels | List the caller's own confirmed orders still needing a shipping label (supplier fulfilment print queue) |
inventory
4 toolsInventory records, item search and per-SKU stock history.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_list_inventory_records | /listInventoryRecords | List the authenticated merchant's own inventory records (owner-scoped) with remaining/ship/available quantity, cost, safetyLine, additionalCost and warehouse. Paginated, 100/page. |
| viewider_search_inventory_items | /searchInventoryItems | Search the authenticated merchant's own inventory by SKU (default) or product title, owner-scoped; returns enriched rows (SKU/title/price/cost/remaining quantity/warehouse). Paginated, 50/page. |
| viewider_get_stock_history | /getStockHistory | Get the stock-change history (who / when / quantity-diff / cost / sourcePrice) for one of the authenticated merchant's own inventory records, owner-scoped (fail-closed on non-owned ids). |
| viewider_export_inventory_report | /inventory/exportInventoryReport | Export your own inventory to a downloadable xlsx report |
shipment
5 toolsShipment status and tracking.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_list_shipments | /listShipments | List or count the authenticated merchant's own shipments with an optional Mongo-style filter, capped pagination (limit ≤ 500), sort and projection, plus a countOnly mode. Force owner-scoped: every query is AND-wrapped server-side with your (main) account's userID/payUserID, so a caller-supplied filter can never widen scope. |
| viewider_quote_shipping_cost | /quoteShippingCost | Quote the shipping cost for a parcel against Viewider's global shipping rate card — a pure read-only calculation (no shipment is created and no tenant data is read). Provide country, shippingID and weights; optional weightUnit/dimension/productPrice/categoryID/zipcode refine the quote, and detail=1 returns the full fee breakdown instead of the scalar total. Costs are quoted in USD. List valid shippingID values via /transaction/getShippingService. |
| viewider_geocode_address | /utility/geocodeAddress | Resolve an address or zipcode into geo coordinates and location components |
| viewider_get_listing_shipping_fees | /getListingShippingFees | Get min/max shipping cost for a marketplace listing |
| viewider_get_warehouse_request_summary | /shipment/getWarehouseRequestSummary | Grouped fulfillment / warehouse-request summary for the authenticated merchant's own outbound shipment requests: rows grouped by destination country / shipping company / tracking, each with per-group SKU count, total quantity and a product breakdown, plus a warehouseRequestCount total. Optionally narrow to one request group via requestID or summaryID. Force owner-scoped: the query is AND-wrapped server-side with your (main) account's userID, so a caller-supplied requestID / summaryID can only resolve rows you own. |
transaction
3 toolsYour sell-side orders and available shipping services.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_list_shipping_services | /transaction/getShippingService | List your available shipping services as an {id: name} map. |
| viewider_list_my_orders | /transaction/getOrder.php | List or look up your sell-side sales records, by ID or paginated. |
| viewider_get_exchange_rate | /getExchangeRate | Get currency exchange rates for cross-border price conversion |
sourcing
8 toolsYour live listings and checked-out product groups.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_list_my_stores | /sourcing/getStoreList.php | List the authenticated user's active marketplace stores. |
| viewider_get_listing_info | /sourcing/getListingInfo.php | Fetch full detail for a specific set of your listings by ID. |
| viewider_list_my_listings_by_site | /sourcing/getSelfViewdierAPIListings.php | List your own active ViewiderAPI listings for a site. |
| viewider_list_checked_out_product_groups | /sourcing/getProductGroupsCheckedOut.php | List the product groups you have already checked out. |
| viewider_get_auto_sourcing_config | /sourcing/getAutoSourcingConfig | Get your auto-sourcing engine configuration |
| viewider_get_sourcing_quota | /sourcing/getSourcingQuota | Get your B2B sourcing quota, usage, and remaining |
| viewider_search_competitor_products | /research/searchCompetitorProducts | Search competitor products on external marketplaces by keyword |
| viewider_get_research_history | /getResearchHistory | List your own product-research keyword history |
ViewiderListing
2 toolsSites you can list to and your package presets.
| Tool | Endpoint | What it does |
|---|---|---|
| viewider_get_available_sites | /ViewiderListing/getAvailableSite | List the sites you can list to on Viewider. |
| viewider_get_my_packages | /ViewiderListing/getPackage | List the account's active return/shipping package presets. |
marketplace
12 tools| Tool | Endpoint | What it does |
|---|---|---|
| viewider_get_my_supplier_store | /marketplace/getMySupplierStore | Get your own B2B supplier store profile |
| viewider_get_popular_marketplace_items | /getPopularItems | Get popular marketplace storefront items |
| viewider_get_marketplace_cart | /marketplace/getMarketplaceCart | List your active B2B marketplace cart items |
| viewider_browse_marketplace_listings | /marketplace/browseMarketplaceListings | Browse the public B2B wholesale marketplace listing grid |
| viewider_list_wishlist | /marketplace/getWishlist | List your saved/bookmarked marketplace listings (Wishlist) |
| viewider_list_linked_accounts | /listLinkedAccounts | List the caller's own linked platform accounts, grouped by platform |
| viewider_list_marketplace_stores | /marketplace/listMarketplaceStores | List active marketplace supplier stores (public directory) |
| viewider_marketplace_add_to_cartWRITE | /marketplace/addToCart | Add active B2B/VW-marketplace listings to the caller's own sourcing cart |
| viewider_marketplace_remove_from_cartWRITE | /marketplace/removeFromCart | Remove listings from your own marketplace cart |
| viewider_add_to_wishlistWRITE | /marketplace/addToWishlist | Bookmark one or more Active marketplace listings into the calling merchant's own wishlist (live write — owner-scoped). |
| viewider_remove_from_wishlistWRITE | /marketplace/removeFromWishlist | Remove listings from your marketplace wishlist |
| viewider_move_wishlist_to_cartWRITE | /marketplace/moveWishlistToCart | Move the caller's own active cart listings into their marketplace wishlist |
reference
1 tools| Tool | Endpoint | What it does |
|---|---|---|
| viewider_get_reference_data | /getReferenceData | Global reference data: supported countries and marketplace platforms. |