
DSers runs a hosted MCP server that connects AI clients to their dropshipping platform via OAuth 2.1. You get tools to import products from AliExpress, Alibaba, and other suppliers, then edit variants, apply pricing rules, and push directly to Shopify or Wix stores. It handles supplier replacement with SKU matching and lets you preview drafts before publishing. The server is remote only over streamable HTTP, so no local setup. Verified working with Claude Desktop, Cursor, and ChatGPT Developer Mode. Reach for this if you're already using DSers and want to script product imports or automate store publishing workflows without clicking through their web interface.
Public tool metadata for what this MCP can expose to an agent.
dsers_store_discoverRetrieve available stores and supported rules for the connected DSers account. Call this first — the response contains store IDs and configuration needed by all subsequent operations. Returns: stores (each with id, name, platform, ship[]), rules (pricing modes, content, images...1 paramsRetrieve available stores and supported rules for the connected DSers account. Call this first — the response contains store IDs and configuration needed by all subsequent operations. Returns: stores (each with id, name, platform, ship[]), rules (pricing modes, content, images...
target_storestringdsers_rules_validateCheck and normalize a rules object against the provider's capabilities before importing. Use this to verify pricing, content, and image rules are valid and see exactly which ones will be applied. Returns: effective_rules_snapshot (what will actually be applied), warnings (adju...2 paramsCheck and normalize a rules object against the provider's capabilities before importing. Use this to verify pricing, content, and image rules are valid and see exactly which ones will be applied. Returns: effective_rules_snapshot (what will actually be applied), warnings (adju...
rulesstringtarget_storestringdsers_product_importImport product(s) from supplier URL(s) into the DSers import list and return a preview. Supports AliExpress, Alibaba, and Accio.com URLs. Provide source_url (single) or source_urls_json (batch). Optionally apply rules at import time via rules_json or flat params. The response...17 paramsImport product(s) from supplier URL(s) into the DSers import list and return a preview. Supports AliExpress, Alibaba, and Accio.com URLs. Provide source_url (single) or source_urls_json (batch). Optionally apply rules at import time via rules_json or flat params. The response...
batch_detailstringsummary · fullcountrystringdescription_append_htmlstringdescription_override_htmlstringpricing_fixed_markupnumberpricing_fixed_pricenumberpricing_modestringmultiplier · fixed_markup · fixed_pricepricing_multipliernumberrules_jsonstringsource_hintstringsource_urlstringsource_urls_jsonstringtarget_storestringtitle_overridestringtitle_prefixstringtitle_suffixstringvisibility_modestringdsers_product_previewReload the preview for an already-imported product (by import_item_id). Two modes: compact (default) returns [name, sell, qty] for ALL variants — lightweight. full returns [name, sell, compare_at, cost, qty, supplier_qty] for 3 variants by default. Always includes price_summar...6 paramsReload the preview for an already-imported product (by import_item_id). Two modes: compact (default) returns [name, sell, qty] for ALL variants — lightweight. full returns [name, sell, compare_at, cost, qty, supplier_qty] for 3 variants by default. Always includes price_summar...
import_item_idstringinclude_imagesvalueshow_all_optionsvaluevariant_detailstringcompact · fullvariant_limitnumbervariant_offsetnumberdsers_product_update_rulesUpdate pricing, content, images, or variant rules on an already-imported product. Rules are merged incrementally: pricing / images / variant_overrides replace by family. CONTENT slots (title_prefix, title_suffix, description_append_html) behave like named slots — each call REP...13 paramsUpdate pricing, content, images, or variant rules on an already-imported product. Rules are merged incrementally: pricing / images / variant_overrides replace by family. CONTENT slots (title_prefix, title_suffix, description_append_html) behave like named slots — each call REP...
description_append_htmlstringdescription_override_htmlstringimport_item_idstringpricing_fixed_markupnumberpricing_fixed_pricenumberpricing_modestringmultiplier · fixed_markup · fixed_pricepricing_multipliernumberrules_jsonstringtarget_storestringtitle_overridestringtitle_prefixstringtitle_suffixstringvisibility_modestringdsers_store_pushPush one or more prepared import drafts to the connected Shopify or Wix store(s). SAFETY: Automatic pre-push validation checks pricing (blocks if sell price < cost or $0) and stock (blocks if all variants have zero inventory). Warnings are raised for low margin (<10%), low sto...7 paramsPush one or more prepared import drafts to the connected Shopify or Wix store(s). SAFETY: Automatic pre-push validation checks pricing (blocks if sell price < cost or $0) and stock (blocks if all variants have zero inventory). Warnings are raised for low margin (<10%), low sto...
force_pushvalueimport_item_idstringimport_item_ids_jsonstringpush_options_jsonstringtarget_storestringtarget_stores_jsonstringvisibility_modestringdsers_product_deletePermanently delete a product from the DSers import list. IRREVERSIBLE — the product cannot be recovered after deletion. Requires explicit confirmation (confirm=true) to execute. If called without confirm=true, returns a confirmation prompt — show this to the user. SCOPE: Only...2 paramsPermanently delete a product from the DSers import list. IRREVERSIBLE — the product cannot be recovered after deletion. Requires explicit confirmation (confirm=true) to execute. If called without confirm=true, returns a confirmation prompt — show this to the user. SCOPE: Only...
confirmvalueimport_item_idstringdsers_import_listBrowse the DSers import list with enriched variant data. Returns per item: import_item_id, title, image, sell_price_range, cost_range, currency, variant_count, total_stock, push_status, supplier, source_url, tags. no_markup=true when sell equals cost (no pricing rule applied)....2 paramsBrowse the DSers import list with enriched variant data. Returns per item: import_item_id, title, image, sell_price_range, cost_range, currency, variant_count, total_stock, push_status, supplier, source_url, tags. no_markup=true when sell equals cost (no pricing rule applied)....
pageintegerpage_sizeintegerdsers_my_productsBrowse products already pushed to a store. Requires store_id (from dsers_store_discover). Returns compact items with: dsers_product_id, title, image, sell_price (min/max in $), cost (min/max in $), status (Draft/Active), supplier, supplier_url. Prices are in dollars (converted...3 paramsBrowse products already pushed to a store. Requires store_id (from dsers_store_discover). Returns compact items with: dsers_product_id, title, image, sell_price (min/max in $), cost (min/max in $), status (Draft/Active), supplier, supplier_url. Prices are in dollars (converted...
pageintegerpage_sizeintegerstore_idstringdsers_find_productSearch the DSers product pool for products to import by keyword or by image URL (visual search). Covers three supplier catalogs — AliExpress (default), Alibaba, and 1688 Dropshipping — select via the `supplier` param. Returns products that can be directly imported via dsers_pr...9 paramsSearch the DSers product pool for products to import by keyword or by image URL (visual search). Covers three supplier catalogs — AliExpress (default), Alibaba, and 1688 Dropshipping — select via the `supplier` param. Returns products that can be directly imported via dsers_pr...
category_idstringimage_urlstringkeywordstringlimitnumbersearch_afterstringship_fromstringship_tostringsortstringrelevance · newest · pricesupplierstringaliexpress · alibaba · ali1688dsers_sku_remapReplace the supplier on a store product with SKU-level variant matching. DEFAULTS TO mode='preview' which is read-only and safe to call without confirmation — only mode='apply' actually writes to DSers. TWO discovery paths: (A) STRICT — caller provides new_supplier_url and the...7 paramsReplace the supplier on a store product with SKU-level variant matching. DEFAULTS TO mode='preview' which is read-only and safe to call without confirmation — only mode='apply' actually writes to DSers. TWO discovery paths: (A) STRICT — caller provides new_supplier_url and the...
auto_confidencenumbercountrystringdsers_product_idstringmax_candidatesintegermodestringpreview · applydefault: previewnew_supplier_urlstringstore_idstringOfficial hosted Model Context Protocol server for operating DSers workflows from AI clients.
This public repository contains connection information, user documentation, examples, and registry metadata for the DSers-hosted service. It does not contain the production backend source code.
https://ai.dsers.com/mcp
The service uses Streamable HTTP and does not provide a local stdio server.
DSers MCP uses OAuth 2.1 with PKCE. Add only the server URL to your MCP client. Do not paste DSers passwords, API keys, store tokens, browser cookies, or a manually copied Authorization header into client configuration.
The protected resource publishes OAuth discovery metadata at:
https://ai.dsers.com/.well-known/oauth-protected-resource
After authorization, available tools are filtered by the authenticated role and OAuth scopes. See Authentication.
The current service exposes 60 tools grouped around:
The server advertises tools only. It does not expose MCP prompts, resources, or iframe widgets.
The complete current tool catalog is in Tools.
{
"mcpServers": {
"dsers": {
"type": "http",
"url": "https://ai.dsers.com/mcp"
}
}
}
On first connection, use the Sign in, Connect, Authorize, or Login action shown by your MCP client and complete the DSers authorization flow in the browser.
claude mcp add dsers https://ai.dsers.com/mcp --transport http
claude mcp login dsers
codex mcp add dsers --url https://ai.dsers.com/mcp
codex mcp login dsers
Add https://ai.dsers.com/mcp in ChatGPT Developer Mode or the Apps dashboard. The integration is data-only and returns normal MCP tool results without an iframe widget.
Tools are classified as read, write, or dangerous. State-changing workflows use exact resource identifiers, ownership checks, OAuth scopes, stale-state checks where applicable, and explicit user confirmation before dangerous calls. A write whose upstream completion is uncertain is reported as non-retryable; clients must inspect current state instead of automatically repeating it.
Tool failures use structured error codes so clients can distinguish reauthorization, missing scopes, plan restrictions, rate limits, validation failures, and uncertain upstream writes.
server.json — MCP Registry metadatamanifest.json — public app metadata and tool inventorychatgpt-app-submission.json — ChatGPT App review metadata and test casesThis public documentation and metadata repository is licensed under the Apache License 2.0.
For non-sensitive documentation, connection, client compatibility, or usage questions, open a GitHub issue.
For vulnerabilities, tokens, or account-specific data, contact zhaohaoduo@dsers.com.