Entwickler
KI-Assistenten (MCP)
Auf dieser Seite
Verbinden
Eine Serveradresse für jeden Assistenten. Du meldest dich mit deinem NinjaBuy-Konto an; es gibt keinen Schlüssel zum Einfügen.
https://www.ninjabuy.com/mcp
Claude
- Öffne Settings › Connectors und wähle Add custom connector.
- Füg die Adresse oben ein und füg sie hinzu.
- Melde dich mit deiner NinjaBuy-Telefonnummer an und wähle dann Allow access.
ChatGPT
- Schalte in den Einstellungen den Entwicklermodus ein und füg dann einen benutzerdefinierten MCP-Server hinzu.
- Füg die Adresse oben ein und wähle OAuth als Anmeldung.
- Melde dich mit deiner NinjaBuy-Telefonnummer an und wähle dann Allow access.
Cursor
Füge den Server unter Cursor Settings › MCP oder in ~/.cursor/mcp.json hinzu. Cursor öffnet beim ersten Mal die NinjaBuy-Anmeldung in deinem Browser.
{
"mcpServers": {
"ninjabuy": {
"url": "https://www.ninjabuy.com/mcp"
}
}
}Claude Code und andere Kommandozeilen-Assistenten
claude mcp add --transport http ninjabuy https://www.ninjabuy.com/mcpMenünamen ändern sich mit Updates der Assistenten; such nach „custom connector“ oder „custom MCP server“.
Anmeldung und Zugriff
Der Assistent meldet sich mit OAuth 2.1 an: Er registriert sich selbst, schickt dich zu ninjabuy.com, und du gibst ihn auf unserem eigenen Bildschirm frei, der die App nennt und wohin sie dich zurückschickt. Erlaube nur eine App, die du gerade verbinden wolltest. Du gibst jede App einmal frei.
- Er handelt als dein Konto: Die Tools nehmen keine Konto-ID und sehen nur deine Bestellungen, dein Regal und deine Produkte.
- Der Zugriff gilt eine Stunde und verlängert sich sieben Tage lang; danach bittet dich der Assistent, dich erneut anzumelden.
- Entferne den Connector in deinem Assistenten, um ihn zu trennen.
- Die Tools, die einen Marktplatz lesen (product, analyze_product, import_product, push_to_shopify), teilen sich das Kontingent der API von 30 pro Minute: Rate-Limits.
Nichts hier gibt Geld aus
Kein Tool bezahlt, gibt einen Versand auf oder gibt dein Guthaben aus. Wenn etwas bezahlt werden muss, nennt die Antwort die Seite, auf der du das tust: den Checkout aus dem Warenkorb, den Versand von deiner Lagerseite. push_to_shopify listet ein Produkt als Entwurf, nichts geht also in den Verkauf, bis du es veröffentlichst.
Tools
Jede Antwort trägt requestId (gib sie an, wenn du uns schreibst) und warnings, Wissenswertes, das den Aufruf nicht gestoppt hat. Eine lange Antwort wird bei etwa 6.000 Tokens mit truncated: true abgeschnitten; Listen nehmen dann ein kleineres limit.
| Tool | Was es tut |
|---|---|
| list_orders | Meine NinjaBuy-Bestellungen auflisten |
| order | Eine NinjaBuy-Bestellung |
| warehouse | Mein NinjaBuy-Lager |
| product | Varianten eines Produkts lesen |
| add_to_cart | Zu meinem NinjaBuy-Warenkorb hinzufügen |
| search_products | Produkte suchen |
| analyze_product | Ein Produkt analysieren |
| import_product | Ein Produkt importieren |
| push_to_shopify | An Shopify übertragen |
| list_synced_products | Meine synchronisierten Produkte auflisten |
| set_sync_rule | Eine Sync-Regel festlegen |
list_ordersnur lesend
Die Bestellungen des Kontos, neueste zuerst: Status, Zahlungsstatus, was noch offen ist, die Artikel und die Seite jeder Bestellung. Folge cursor, solange has_more true ist.
cursorstring?- Aus der vorherigen Antwort; für die erste Seite weglassen.
limitnumber?- 1 bis 25. Ohne Angabe 25.
{
"orders": [
{
"id": "j57a9x2b",
"number": 1012,
"kind": "procurement",
"total": "¥57.00",
"orderStatus": { "status": "ordered" },
"paymentStatus": { "status": "paid" },
"amountDue": null,
"itemCount": 1,
"items": [
{
"id": "P1012-1",
"title": "Heavyweight washed hoodie",
"quantity": 1,
"options": ["Black", "M"],
"status": "ordered"
}
],
"url": "https://www.ninjabuy.com/me/orders/j57a9x2b"
}
],
"cursor": "eyJvIjoyNX0",
"has_more": true,
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}ordernur lesend
Eine Bestellung per ID: ihre Positionen und Preise, der Status jedes Artikels und wie viele angekommen sind, und die Sendung mit Sendungsverfolgung. order ist null für eine ID, die nicht zu diesem Konto gehört.
idstringerforderlich- Eine ID aus list_orders.
{
"order": {
"id": "j57c4k1m",
"number": 1019,
"kind": "shipout",
"orderStatus": { "status": "ready" },
"paymentStatus": { "status": "paid" },
"shipment": {
"state": "shipped",
"destinationCountry": "US",
"weightGrams": 176,
"trackingNumbers": ["YT2630812345678"],
"shippedAt": 1793685600000
},
"url": "https://www.ninjabuy.com/me/orders/j57c4k1m"
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}warehousenur lesend
Alles, was in unserem Lager eingetroffen ist: Fotos, wie viele angekommen sind, versandbereit oder in einer Sendung, Gewicht, deklarierter Wert, ob bezahlt und wann die kostenlose Lagerung endet.
Keine Eingaben.
{
"items": [
{
"id": "P1012-1",
"order": 1012,
"title": "Heavyweight washed hoodie",
"photos": [
{
"type": "image",
"url": "https://media.ninjabuy.com/qc/P1012-1/1.webp"
}
],
"received": 1,
"availableToShip": 1,
"inShipment": 0,
"unitWeightGrams": 176,
"declaredUnitValue": "¥38.00",
"paid": true,
"freeStorageUntil": "2026-12-02T03:20:11.000Z"
}
],
"warehouseUrl": "https://www.ninjabuy.com/me/warehouse",
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}productnur lesend
Liest ein Angebot aus jedem Produktlink (Taobao, Tmall, Weidian, 1688, dem Link oder Kurzlink eines anderen Einkaufsagenten oder einer NinjaBuy-Produktseite): Titel, Bilder, Verkäufer und jede Variante mit skuId, Bezeichnung, CN¥-Preis und Bestand.
linkstringerforderlich- Ein Produktlink, bis zu 2.048 Zeichen.
{
"product": {
"handle": "weidian-7750970856",
"title": "重磅水洗连帽卫衣",
"seller": "Ruoyi Studio",
"variants": [
{
"skuId": "5187209554",
"label": "Black / M",
"priceMinor": 3800,
"price": "¥38.00",
"inStock": true
},
{
"skuId": "5187209555",
"label": "Black / L",
"priceMinor": 3800,
"price": "¥38.00",
"inStock": false
}
],
"url": "https://www.ninjabuy.com/products/weidian-7750970856"
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}add_to_cartschreibend
Legt Varianten eines Angebots in den Warenkorb, um sie vorab zu kaufen und in deinem Regal zu lagern. Es wird nichts gekauft: Die Antwort ist die Warenkorbseite, auf der du bezahlst.
handlestringerforderlich- Aus product.
lines{ skuId, quantity }[]erforderlich- 1 bis 100 Positionen; Menge 1 bis 9.999. Eine Variante, die schon im Warenkorb liegt, wird aufaddiert.
{
"added": 1,
"cartUrl": "https://www.ninjabuy.com/cart",
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}search_productsnur lesend
Stichwortsuche auf Taobao oder 1688, dieselbe Suche wie auf ninjabuy.com. Ein eingefügter Link liefert dieses Produkt.
querystringerforderlich- 2 bis 120 Zeichen oder ein Link.
providerstring?- taobao oder 1688. Ohne Angabe taobao.
pagenumber?- 0 bis 20.
{
"kind": "products",
"products": [
{
"handle": "taobao-781204556120",
"title": "Heavyweight cotton hoodie, washed",
"price": { "amount": "45.00", "currency": "CNY" },
"marketplace": "taobao",
"url": "https://www.ninjabuy.com/products/taobao-781204556120"
}
],
"page": 0,
"totalCount": 1840,
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}analyze_productnur lesend
Was ein Verkauf jeder Variante bis zur Haustür des Käufers kostet und der Preis, der deine Marge auf deinem Marktplatz hält. Nichts wird gespeichert. Dieselben Werte wie die Importanalyse.
linkstringerforderlich- Ein Produktlink.
weight_gnumbererforderlich- Verpacktes Gewicht eines Stücks, in Gramm.
ship_tostring?- Zweistelliges Land. Ohne Angabe US.
lanestring?- saver oder fast.
marketplacestring?- ebay, shopify, amazon oder tiktok.
margin_percentnumber?- Die Marge, auf die bepreist wird. Ohne Angabe 30.
{
"title": "重磅水洗连帽卫衣",
"shipTo": "US",
"marketplace": "ebay",
"brandHint": null,
"variants": [
{
"sku": "5187209554",
"label": "Black / M",
"inStock": true,
"procurement": "57.00",
"parcel": "134.52",
"landedUsd": "27.71",
"suggestedPrice": "49.99",
"marginPercent": "30.16"
}
],
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}import_productschreibend
Importiert ein Angebot mit seiner Analyse, wie über die Imports-API. Kostenlos. Antwortet mit dem Import, um ihn zu übertragen oder neu zu bepreisen.
linkstringerforderlich- Ein Produktlink oder eine Fundstücke-Tabelle.
weight_gnumbererforderlich- Verpacktes Gewicht eines Stücks, in Gramm.
ship_tostring?- Zweistelliges Land. Ohne Angabe US.
lanestring?- saver oder fast.
marketplacestring?- ebay, shopify, amazon oder tiktok.
margin_percentnumber?- Die Marge, auf die bepreist wird. Ohne Angabe 30.
{
"import": {
"id": "imp_2c9d",
"status": "ready",
"title": "重磅水洗连帽卫衣",
"variants": 6,
"inStock": 5
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}push_to_shopifyschreibend
Speichert einen Import als Produkt und listet es als Entwurf in deinem Shopify-Shop, bevorratet am Standort Fulfilled by NinjaBuy. Erneutes Übertragen aktualisiert es. Gleiche Regeln wie bei An Shopify übertragen.
import_idstringerforderlich- Aus import_product.
variants{ sku, price }[]?- Welche behalten werden und zu welchem US$-Preis. Ohne Angabe die vorrätigen zum Preisvorschlag.
titlestring?- Dein Titel.
shopstring?- Nötig, wenn mehrere Shops verknüpft sind.
{
"product": "prd_8f2k",
"shopify": {
"status": "draft",
"variants": 5,
"adminUrl": "https://admin.shopify.com/store/acme-goods/products/8812042"
},
"skipped": [{ "sku": "5187209555", "reason": "sold_out" }],
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}list_synced_productsnur lesend
Deine Produkte mit ihrer letzten Prüfung, Kostenänderungen und Bestand, damit du siehst, was sich bewegt hat.
statusstring?- active oder paused.
changed_sincestring?- Ein Datum: nur Produkte, deren Kosten oder Bestand sich seitdem geändert haben.
cursorstring?- Aus der vorherigen Antwort; für die erste Seite weglassen.
limitnumber?- 1 bis 25. Ohne Angabe 25.
{
"products": [
{
"id": "prd_1x0a",
"title": "Canvas Tote",
"status": "active",
"lastCheckedAt": "2026-11-04T02:10:00Z",
"costChange": {
"from": "¥42.00",
"to": "¥48.00",
"action": "repriced",
"price": { "from": "$18.99", "to": "$20.99" }
}
}
],
"cursor": null,
"has_more": false,
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}set_sync_ruleschreibend
Was zu tun ist, wenn ein Verkäufer einen Preis erhöht: neu bepreisen, um eine Marge zu halten, pausieren oder dich nur informieren. Für jedes Produkt oder eins. Dieselben Felder wie Sync-Regeln.
applies_tostringerforderlich- all oder eine Produkt-ID.
on_cost_increasestringerforderlich- neu bepreisen, pausieren oder benachrichtigen.
keep_margin_percentnumber?- Mit reprice.
max_increase_percentnumber?- Mit reprice: darüber pausieren.
{
"rule": {
"id": "rule_default",
"appliesTo": "all",
"onCostIncrease": {
"action": "reprice",
"keepMarginPercent": 40,
"maxIncreasePercent": 15
}
},
"requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
"warnings": []
}Was du fragen kannst
Welche meiner Bestellungen warten noch auf einen Verkäufer?
Zwei: #1012 (der Washed Hoodie, gekauft am 1. Nov.) und #1015 (zwei Canvas-Taschen). Beide sind bezahlt und beim Verkäufer bestellt; noch keine ist im Lager angekommen.
Lohnt es sich, diesen Hoodie auf eBay zu verkaufen? weidian.com/item.html?itemID=7750970856, verpackt etwa 180 g.
Ein Verkauf in die USA kostet 191,52 CN¥ bis zur Haustür, etwa 27,71 $. Bei 49,99 $ behält eBay etwa 7,20 $ und dir bleiben 15,08 $, eine Marge von 30 %. Black / L ist ausverkauft. Keine Markennamen im Titel.
Gut. Stell Black / M für 49,99 $ in meinen Shopify-Shop, Titel „Heavyweight Washed Hoodie“.
Erledigt: Es ist ein Entwurf auf acme-goods.myshopify.com mit 1 Variante, bevorratet bei Fulfilled by NinjaBuy. Prüf die Fotos und veröffentliche es dann in Shopify.
Halte überall 40 % Marge, aber erhöhe einen Preis nie um mehr als 15 % auf einmal.
Für alle Produkte festgelegt. Ein Anstieg über 15 % pausiert stattdessen das Produkt, und ich sehe es in list_synced_products.