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...
countrystringrules_jsonstringsource_urlstringsource_hintstringbatch_detailstringsummary · fullpricing_modestringmultiplier · fixed_markup · fixed_pricetarget_storestringtitle_prefixstringtitle_suffixstringtitle_overridestringvisibility_modestringsource_urls_jsonstringpricing_multipliernumberpricing_fixed_pricenumberpricing_fixed_markupnumberdescription_append_htmlstringdescription_override_htmlstringdsers_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...
variant_limitnumberimport_item_idstringinclude_imagesvaluevariant_detailstringcompact · fullvariant_offsetnumbershow_all_optionsvaluedsers_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...
rules_jsonstringpricing_modestringmultiplier · fixed_markup · fixed_pricetarget_storestringtitle_prefixstringtitle_suffixstringimport_item_idstringtitle_overridestringvisibility_modestringpricing_multipliernumberpricing_fixed_pricenumberpricing_fixed_markupnumberdescription_append_htmlstringdescription_override_htmlstringdsers_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_pushvaluetarget_storestringimport_item_idstringvisibility_modestringpush_options_jsonstringtarget_stores_jsonstringimport_item_ids_jsonstringdsers_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...
pageintegerstore_idstringpage_sizeintegerdsers_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...
sortstringrelevance · newest · pricelimitnumberkeywordstringship_tostringsupplierstringaliexpress · alibaba · ali1688image_urlstringship_fromstringcategory_idstringsearch_afterstringdsers_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...
modestringpreview · applydefault: previewcountrystringstore_idstringmax_candidatesintegerauto_confidencenumberdsers_product_idstringnew_supplier_urlstringOfficial DSers MCP Server for AI-powered dropshipping automation.
This is the official DSers MCP Server, listed on the Official MCP Registry as io.github.dsers/dsers-mcp-server.
The DSers Official MCP Server is a hosted remote Model Context Protocol server that allows MCP-compatible AI clients and ChatGPT Apps to work with DSers dropshipping workflows, including product search, product import, product optimization, variant editing, pricing rules, store publishing, and supplier replacement.
This repository does not contain the DSers MCP server backend source code. It provides official public documentation, connection information, examples, and registry metadata for the DSers-hosted remote MCP server.
https://mcp.dsers.com/dropshipping/mcp
Remote HTTP / Streamable HTTP.
This server does not provide a local stdio server.
DSers MCP uses OAuth 2.1 + PKCE.
Do not configure API keys.
Do not manually add an Authorization header.
Do not paste DSers backend API keys, store tokens, or browser cookies into an MCP client.
On first tool use, supported MCP clients open the DSers authorization page. After the user signs in and approves access, the client can call DSers MCP tools.
For details, see Authentication.
You need:
Verified clients (tested end to end): ChatGPT Developer Mode, Claude Desktop, Cursor, Claude Code, Codex CLI, OpenClaw.
Expected to work (any MCP client with remote HTTP + OAuth 2.1 + PKCE support): VS Code, Cline, Windsurf, Zed, Continue.
Add this to claude_desktop_config.json:
{
"mcpServers": {
"dsers": {
"type": "http",
"url": "https://mcp.dsers.com/dropshipping/mcp"
}
}
}
Restart Claude Desktop. On first tool use, the client starts OAuth and opens the DSers login page.
claude mcp add dsers https://mcp.dsers.com/dropshipping/mcp --transport http
claude mcp login dsers
Open:
Settings → Tools & Integrations → MCP Tools → Add / Connect
Use this server URL:
https://mcp.dsers.com/dropshipping/mcp
Cursor should start the OAuth flow automatically.
After adding the MCP server, run:
codex mcp login dsers
If the client asks for the server URL, use:
https://mcp.dsers.com/dropshipping/mcp
Use the remote endpoint in ChatGPT Developer Mode or the Apps dashboard:
https://mcp.dsers.com/dropshipping/mcp
The current ChatGPT submission target is data-only: DSers exposes normal MCP tools and does not require an iframe widget. See ChatGPT App submission notes.
openclaw mcp set dsers '{"url":"https://mcp.dsers.com/dropshipping/mcp","transport":"streamable-http"}'
Transport and authorization support may vary by OpenClaw deployment. Follow the connection guide for your current environment.
{
"mcpServers": {
"dsers": {
"type": "http",
"url": "https://mcp.dsers.com/dropshipping/mcp"
}
}
}
A minimal example is also available at examples/remote-mcp.json.
server.json - MCP registry metadata for the hosted remote servermanifest.json - public app metadata, tool list, prompts, and privacy URLchatgpt-app-submission.json - ChatGPT App review helper with tool hints and test promptsThis 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:
https://github.com/dsers/dsers-mcp-server/issues
For vulnerabilities, tokens, or account-specific data, contact:
io.github.shelvick/shopify-subscription-reconciliation
zleventer/google-ads-mcp
csoai-org/meok-stripe-acp-checkout-mcp
io.github.mharnett/google-ads
csoai-org/stripe-billing-mcp
co.pipeboard/google-ads-mcp