Пропустите установку. Заработает меньше чем за 2 минуты.
Начните бесплатный период на cloud.anythingmcp.com, добавьте noon Marketplace одним кликом и направьте свой ИИ-клиент (Claude, ChatGPT, Copilot или Cursor) на сгенерированный MCP-эндпоинт. Без Docker, без git clone, без опыта разработки.
Кратко
Продавайте на noon.com (ОАЭ, Саудовская Аравия, Египет) из AI-агента через noon Partner API: склады, контент каталога и группы товаров, офферы, цены, остатки, заказы и отправления FBPI, заказы на закупку, поиск возвратов и массовые выгрузки. Вход через сервисный аккаунт с подписанным JWT; запись цен, остатков, товаров и заказов при установке отключена.
Попробуй спросить
Примеры промптов для noon Marketplace
Кликни по промпту — он скопируется. Вставь в Claude, ChatGPT, Cursor, Gemini, Copilot или OpenClaw и запусти через этот коннектор.
Claude — это AI, он может ошибаться. Проверяйте ответы.
💡 Без установки? Используйте cloud.anythingmcp.com напрямую. Войдите, нажмите Connectors → noon Marketplace, вставьте учётные данные, создайте MCP API key, и готово. Без Docker, без
git clone, без локального сервера.
noon Marketplace + Microsoft Copilot
Продавайте на noon.com (ОАЭ, Саудовская Аравия, Египет) из AI-агента через noon Partner API: склады, контент каталога и группы товаров, офферы, цены, остатки, заказы и отправления FBPI, заказы на закупку, поиск возвратов и массовые выгрузки. Вход через сервисный аккаунт с подписанным JWT; запись цен, остатков, товаров и заказов при установке отключена.
Предварительные требования
Полные инструкции по настройке встроены в коннектор (видны в магазине при выборе коннектора). Требуемые переменные окружения:
NOON_KEY_ID, NOON_PRIVATE_KEY, NOON_PROJECT_CODE
Шаг 1 — Получите учётные данные
Настройка занимает около 5 минут. Нужен аккаунт продавца на noon.com (ОАЭ, Саудовская Аравия или Египет) с доступом к порталу noon Partner и ключ сервисного аккаунта для noon Partner API.
- Войдите в портал noon Partner и откройте Access App (или User & Access > User access), затем API Users в левой боковой панели.
- Нажмите Add Service Account, введите отображаемое имя и имя пользователя и выберите роль. Для инструментов чтения достаточно Project Viewer; инструментам записи нужна роль, которой разрешено менять каталог, цены, остатки или заказы (Project Owner даёт все права). Ключ можно ограничить IP-адресами и задать ему срок действия; без этого он работает с любого IP и никогда не истекает. Каждый партнёр может создать один сервисный аккаунт с не более чем пятью ключами.
- После нажатия Add скачивается файл ключа
.json. Он показывается только один раз; если вы его потеряли, создайте новый ключ. - Скопируйте три поля из этого файла:
key_idвNOON_KEY_ID,private_keyвNOON_PRIVATE_KEYиproject_codeвNOON_PROJECT_CODE. В качестве закрытого ключа нужен весь PEM, от-----BEGIN PRIVATE KEY-----до-----END PRIVATE KEY-----; его можно вставить одной строкой, с последовательностями\nровно так, как они стоят в файле. - Установите коннектор и запустите
noon_marketplace_whoami: он покажет сервисный аккаунт, которому принадлежит сессия (user code и имя пользователя).
Как работает вход: постоянного API-ключа нет. При каждом входе коннектор подписывает вашим закрытым ключом новый JWT RS256 (ID ключа в качестве subject, текущее время, случайный ID токена) и отправляет его вместе с кодом проекта на эндпоинт входа noon. noon отвечает сессионными cookie, которые передаются с каждым вызовом. Сессия длится 30 дней; коннектор входит заново до её окончания и каждый раз, когда вызов возвращает 401. Кроме того, каждый запрос несёт заголовок X-Project с кодом проекта, которого требует контентный API noon.
Идентификаторы: partner_sku означает ваш собственный SKU, уникальный среди всех ваших товаров; к нему привязаны цены, остатки и офферы. sku_parent (начинается с Z) содержит ID, который noon присваивает товару со всеми его вариантами; он используется для контента и групп товаров. SKU noon (sku, начинается с N) и psku_code (начинается с P) обозначают один вариант. warehouse_code берётся из noon_marketplace_list_warehouses; заказы и отправления FBPI относятся к интеграционному складу. country_code принимает значения ae, sa или eg в нижнем регистре, а цены задаются для каждого SKU и страны, в AED, SAR или EGP. Заказы и отправления определяются по fbpi_order_nr, mp_item_nr (одна позиция заказа) и вашему собственному integration_shipment_nr.
Что он читает: сервисный аккаунт и ваши склады; все коды категорий каталога noon и атрибуты, которых требует категория, с правилами проверки их значений; контент товара с полнотой, статусом QC и причинами, по которым он не опубликован; группы товаров (варианты, показанные вместе на одной странице); офферы partner SKU во всех странах с ценой, остатком, статусом публикации и проблемами, из-за которых оффер офлайн; цены, MSRP (зачёркнутая базовая цена) и статус активности по SKU и стране; остатки по складу и SKU; заказы FBPI (выполняемые с вашего собственного склада) с позициями, покупателем заказа и его отправлениями; заказы на закупку (purchase orders); возвращённые товары по номеру AWB или штрихкоду возврата; и статус импортов каталога. Некоторые чтения выполняются как POST-запросы с JSON-телом, так устроен API noon; они ничего не меняют.
Массовые выгрузки и AWB: noon_marketplace_list_export_categories показывает типы отчётов, которые можно выгрузить, noon_marketplace_create_export запускает выгрузку, а noon_marketplace_get_export_status показывает, когда файл готов, и его download_url. noon_marketplace_generate_awbs создаёт номера AWB (авиагрузовых накладных) для посылок, передаваемых курьеру noon. Ни один из них не меняет данных, поэтому оба остаются включёнными.
Отключено при установке: noon_marketplace_upsert_product, noon_marketplace_upsert_product_group, noon_marketplace_upsert_prices, noon_marketplace_update_stock, noon_marketplace_mark_items_unavailable, noon_marketplace_create_shipment и noon_marketplace_cancel_shipment. Запись цен, остатков, товаров, заказов и отправлений меняет то, что покупатели видят и покупают (действующие цены, доступное для продажи количество, опубликованный контент), или затрагивает реальные заказы, и часть этого нельзя отменить: позиции, отмеченные как недоступные, отменяются для покупателя, а отмена отправления отменяет все позиции в нём. Администратор включает нужные рабочему пространству инструменты в настройках инструментов коннектора. После создания отправления манифест для забора посылок noon завершается в Seller Lab.
Пакетные результаты: вызовы цен, остатков и товаров отвечают 200, даже если часть позиций не прошла, поэтому проверяйте статус каждой возвращённой позиции и отправляйте повторно только неудачные. noon_marketplace_update_stock задаёт абсолютное количество, а не прибавляет к текущему. В noon_marketplace_upsert_prices поле, которое не передано или передано как null, сохраняет своё значение. У товара, сохранённого со status_id 3, есть проблемы с контентом; их показывает noon_marketplace_get_content.
Ограничения: инструменты списков возвращают next_token, и ИИ вызывает их снова с ним и теми же фильтрами, пока он не станет пустым. Лимиты запросов действуют для каждого проекта и эндпоинта, с основным окном и более коротким окном всплесков: большинство эндпоинтов допускают 1500 запросов за 60 секунд, noon_marketplace_list_warehouses 30 за 60 секунд со всплеском 15 за 30 секунд. Ответ 429 означает, что нужно подождать столько секунд, сколько указано в заголовке X-Ratelimit-Retry-After; один пакетный вызов лучше многих вызовов по одной позиции.
Частые ошибки: 401 означает, что не удался вход или сессия: ID ключа и закрытый ключ из разных файлов ключей, деактивированный или просроченный ключ либо часы сервера, расходящиеся с часами noon больше чем на пять минут, из-за чего noon отклоняет подписанный токен. 403 PERMISSION_DENIED означает, что у сервисного аккаунта нет роли для этого вызова; добавьте её в портале Partner в разделе User Access > Manage Role. 400 INVALID_ARGUMENT называет поле и причину. NOT_FOUND у позиции цены означает, что у SKU ещё нет записи о цене в этой стране, поэтому сначала задайте цену.
Шаг 2 — Установите адаптер
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Шаг 3 — Добавьте коннектор в Microsoft Copilot
URL вашего сервера: в AnythingMCP откройте MCP Servers → сервер, на котором находится этот коннектор, и скопируйте его URL (
https://cloud.anythingmcp.com/mcp/…). Используйте его везде, где в этом руководстве указаноYOUR_SERVER_ID.
Microsoft Copilot использует MCP-серверы через агентов, созданных в Copilot Studio: ты добавляешь AnythingMCP в агента как инструмент, а затем публикуешь агента в Microsoft 365 Copilot и Teams. Copilot Studio подключается из облака Microsoft по Streamable HTTP, который AnythingMCP поддерживает.
- В Copilot Studio открой своего агента (или создай нового), перейди в Tools и выбери Add a tool → New tool → Model Context Protocol.
- Укажи Server name (например,
AnythingMCP), Server description, которое объясняет, что делает коннектор, и Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. По описанию Copilot Studio решает, когда вызывать сервер. - В аутентификации выбери API key, установи Type в Header, укажи имя заголовка
X-API-Keyи нажми Create. - В окне Add tool выбери Create a new connection, вставь MCP API-ключ из AnythingMCP (MCP Servers → твой сервер → API keys) и нажми Add to agent.
- Проверь в панели Test агента: попроси о том, для чего нужны инструменты
noon Marketplace. - Нажми Publish, затем Channels → Microsoft 365 and Microsoft Teams, оставь включённым Make agent available in Microsoft Copilot и нажми Add channel. See agent in Teams установит агента для тебя; в Microsoft 365 Copilot введи @ и выбери агента.
Хочешь, чтобы каждый входил под своей учётной записью? Вместо API-ключа выбери OAuth 2.0 → Dynamic discovery: каждый пользователь войдёт в AnythingMCP при первом вызове агентом.
Размещаешь сам? Используй публичный HTTPS-адрес своего экземпляра вместо https://cloud.anythingmcp.com. Copilot Studio подключается из облака Microsoft, поэтому localhost не подойдёт.
Доступные инструменты
| Tool | What it does |
|---|---|
noon_marketplace_whoami | Show which service account the session belongs to (user_code and username) |
noon_marketplace_list_warehouses | List the warehouses of the partner with warehouse_code, display name, fulfillment system code and whether each is active |
noon_marketplace_list_categories | List every product category code of the noon catalog, each a full family-type-subtype path such as electronics-mobiles-smartphones |
noon_marketplace_list_category_attributes | List the attributes a category accepts, with is_mandatory, attribute_type, is_localizable (send EN and AR values), is_multivalued, the… |
noon_marketplace_get_content | Read a product's content by sku_parent: its attribute values, images with review status, and per language the completeness, missing and… |
noon_marketplace_upsert_product | Create a product, or update the one its partner SKUs belong to, in the noon catalog: brand, category, images and attribute values, plus one… |
noon_marketplace_get_product_group | Read a product group (variants shown together on one page): the attribute codes it varies by and its member products with their values for… |
noon_marketplace_upsert_product_group | Create a product group or change one. attribute_codes and sku_parents are FULL lists: what you send REPLACES the current list and anything… |
noon_marketplace_get_product_offers | Show a partner SKU's offers in every country and business model: noon sku, title, brand, and per offer the price and currency, whether it… |
noon_marketplace_get_prices | Read price, MSRP and active state for partner SKUs, one item per SKU and country |
noon_marketplace_upsert_prices | Set the selling price, MSRP (crossed-out reference price) and/or active state of partner SKUs, one item per SKU and country |
noon_marketplace_get_stock | Read the available quantity, processing time and last update time for warehouse and partner SKU pairs |
noon_marketplace_update_stock | Set the available quantity of partner SKUs in your warehouses. qty is ABSOLUTE: it becomes the new quantity noon sells, it is not added to… |
noon_marketplace_list_orders | List FBPI orders (fulfilled from your own warehouse) of one integration warehouse, optionally created within a UTC window, 50 per page |
noon_marketplace_get_order | Read one FBPI order: marketplace and order number, countries, merchant, currency, warehouse, creation time and the items with mp_item_nr… |
noon_marketplace_get_order_customer | Read the customer of an FBPI order: first and last name, city and administrative division, in Latin characters |
noon_marketplace_mark_items_unavailable | Mark items of an FBPI order as out of stock before any shipment is created. noon cancels those items for the customer; the rest of the… |
noon_marketplace_generate_awbs | Generate noon logistics AWB (air waybill) numbers for shipments handed to noon's courier, one per parcel or up to 1000 at once to keep in… |
noon_marketplace_create_shipment | Create a shipment for an FBPI order: your unique shipment number, the AWB (noon-generated or your courier's) and the items in the parcel |
noon_marketplace_get_shipment | Read a shipment by warehouse and your shipment number: its FBPI order, AWBs with courier, and items |
noon_marketplace_cancel_shipment | Cancel a shipment |
noon_marketplace_get_purchase_order | Read a purchase order by number: currency, merchant, warehouse, status (pending or released), release date and the lines with partner SKU… |
noon_marketplace_list_return_references | Find returned items by a barcode (an AWB number or a returns barcode): marketplace, order number, purchase item number, partner SKU… |
noon_marketplace_list_export_categories | List the report types that can be exported (export_category_code) with the params each one takes |
noon_marketplace_create_export | Start an export (a bulk report file) of one export category |
noon_marketplace_get_export_status | Check an export: its status, parameters, who created it, timestamps and, once finished, the download_url of the file |
noon_marketplace_get_import_status | Check a catalog import (barcode, SKU backfill or SKU grouping import): status (pending, processing, completed, failed, partial)… |
Примеры запросов
- «Проверьте остатки partner SKU TS-100-BLK, TS-100-WHT и TS-100-RED на нашем складе в Дубае и отметьте всё, что меньше 10 штук.»
- «Проверьте мои цены на SKU TS-100-BLK в ОАЭ и Саудовской Аравии: цена, MSRP, опубликован ли каждый оффер и что держит оффер офлайн.»
- «Покажите сегодняшние заказы FBPI на нашем интеграционном складе с позициями и статусом и скажите, какие ещё не отправлены.»
- «Покажите, какие типы отчётов я могу выгрузить, запустите выбранный мной и проверяйте статус, пока не будет готова ссылка на скачивание.»
- «Прежде чем я выставлю новый чехол для телефона, найдите подходящий код категории и покажите обязательные атрибуты и те, которым нужны значения на английском и арабском.»
FAQ
Для какого Copilot это руководство? Для Microsoft 365 Copilot на работе — через агентов Copilot Studio. В приложении Microsoft Copilot для личных аккаунтов добавить свой MCP-сервер нельзя.
Что нужно? Рабочий аккаунт с доступом к Copilot Studio (лицензия или пробная версия), чтобы создать агента. Тем, кто будет пользоваться им в Microsoft 365 Copilot или Teams, нужен доступ к агенту: поделись им или попроси администратора опубликовать его для организации. Если в организации действуют политики данных для коннекторов Power Platform, они распространяются и на MCP-серверы.
Агент не вызывает инструменты. Проверь, что имя заголовка — ровно X-API-Key, а ключ относится к тому же MCP-серверу, что и URL, и сделай Server description конкретным: по нему Copilot Studio решает, когда вызывать сервер. После каждого изменения опубликуй агента заново; в открытом чате введи «start over», чтобы перейти на новую версию.
Следующие шаги
- Страница коннектора
- Подключить к Claude
- Подключить к ChatGPT
- Подключить к Cursor
- Подключить к Gemini
- Подключить к Meta Muse
Это руководство помогло?