Пропустите установку. Заработает меньше чем за 2 минуты.
Начните бесплатный период на cloud.anythingmcp.com, добавьте Oracle NetSuite одним кликом и направьте свой ИИ-клиент (Claude, ChatGPT, Copilot или Cursor) на сгенерированный MCP-эндпоинт. Без Docker, без git clone, без опыта разработки.
Кратко
Дайте ИИ работать с Oracle NetSuite: выполнять SuiteQL-запросы только на чтение по клиентам, поставщикам, номенклатуре, операциям и главной книге, читать клиентов, поставщиков, сотрудников, номенклатуру, заказы клиентов, счета, заказы поставщикам, счета поставщиков и бухгалтерские проводки вместе со строками, просматривать типы записей и поля, а также создавать клиентов и заказы клиентов. Вход через NetSuite OAuth 2.0, рабочий или тестовый (sandbox) аккаунт.
Попробуй спросить
Примеры промптов для Oracle NetSuite
Кликни по промпту — он скопируется. Вставь в Claude, ChatGPT, Cursor, Gemini, Copilot или OpenClaw и запусти через этот коннектор.
Claude — это AI, он может ошибаться. Проверяйте ответы.
💡 Без установки? Используйте cloud.anythingmcp.com напрямую. Войдите, нажмите Connectors → Oracle NetSuite, вставьте учётные данные, создайте MCP API key, и готово. Без Docker, без
git clone, без локального сервера.
Oracle NetSuite + ChatGPT
Дайте ИИ работать с Oracle NetSuite: выполнять SuiteQL-запросы только на чтение по клиентам, поставщикам, номенклатуре, операциям и главной книге, читать клиентов, поставщиков, сотрудников, номенклатуру, заказы клиентов, счета, заказы поставщикам, счета поставщиков и бухгалтерские проводки вместе со строками, просматривать типы записей и поля, а также создавать клиентов и заказы клиентов. Вход через NetSuite OAuth 2.0, рабочий или тестовый (sandbox) аккаунт.
Предварительные требования
Полные инструкции по настройке встроены в коннектор (видны в магазине при выборе коннектора). Требуемые переменные окружения:
NETSUITE_ACCOUNT_ID, NETSUITE_CLIENT_ID, NETSUITE_CLIENT_SECRET
Шаг 1 — Получите учётные данные
Администратор настраивает это один раз, примерно за 20 минут.
- Включите нужные функции: Setup → Company → Enable Features. На вкладке SuiteCloud отметьте REST Web Services и в разделе Manage Authentication OAuth 2.0. На вкладке Analytics отметьте SuiteAnalytics Workbook: из него читает SuiteQL. Сохраните.
- Создайте роль для ИИ: Setup → Users/Roles → Manage Roles → New. Добавьте разрешения REST Web Services (Full) и Log in using OAuth 2.0 Access Tokens (Full), View для списков и операций, которые ИИ может читать (клиенты, поставщики, номенклатура, сотрудники, счета учёта, заказы клиентов, счета, заказы поставщикам, счета поставщиков, проводки и Find Transaction), и Create там, где он может записывать (клиенты, заказы клиентов). Назначьте роль пользователю, который будет входить в систему. Отдельная роль безопаснее, чем Administrator: ИИ видит только то, что разрешает роль.
- Создайте запись интеграции: Setup → Integration → Manage Integrations → New. Установите состояние Enabled, снимите отметки Token-Based Authentication и TBA: Authorization Flow, отметьте Authorization Code Grant в разделе OAuth 2.0, оставьте Public Client неотмеченным, укажите redirect URI
https://cloud.anythingmcp.com/api/mcp-oauth/callback(если вы размещаете AnythingMCP сами:<your AnythingMCP URL>/api/mcp-oauth/callback) и отметьте scope REST Web Services. При сохранении NetSuite один раз показывает Client ID и Client Secret внизу страницы. Вставьте их вNETSUITE_CLIENT_IDиNETSUITE_CLIENT_SECRET. - ID аккаунта: Setup → Company → Company Information. В
NETSUITE_ACCOUNT_IDего нужно указать так, как он выглядит в веб-адресе NetSuite: строчными буквами и с дефисом вместо подчёркивания, то есть1234567_SB1превращается в1234567-sb1. Для sandbox создайте запись интеграции в самом sandbox. - Установите коннектор, нажмите Authorize with Provider, войдите в NetSuite и выберите роль из шага 2.
- Запустите
netsuite_list_record_types, чтобы проверить подключение, а затем первый запрос черезnetsuite_suiteql_query, напримерSELECT id, companyname FROM customer.
Авторизуйтесь заново раз в неделю: NetSuite держит refresh-токен такой интеграции действительным семь дней и не продлевает его, поэтому нажимайте Authorize with Provider хотя бы раз в неделю. В промежутке access-токены обновляются автоматически. Отключение записи интеграции, роли или пользователя сразу прекращает доступ.
Основную работу делает SuiteQL: netsuite_suiteql_query выполняет один SQL-запрос только на чтение по аналитическим данным NetSuite: клиентам, поставщикам, номенклатуре, счетам учёта, дочерним компаниям и операциям с их строками и суммами проводок. Так ИИ отвечает на вопросы вроде открытых счетов по клиентам, продаж по номенклатуре или расходов по поставщикам. Результаты приходят страницами до 1 000 строк, а один запрос возвращает не более 100 000 строк в сумме, поэтому на крупные вопросы ИИ отвечает итогами, а не отдельными строками. Строки, которые роли не видны, пропускаются без ошибки, так что пустой ответ может означать нехватку разрешения.
Записи: отдельные инструменты читают клиентов, поставщиков, сотрудников, номенклатуру, заказы клиентов, счета, заказы поставщикам, счета поставщиков и проводки вместе со строками, а netsuite_get_record читает запись любого другого типа. netsuite_describe_record_type перечисляет все поля типа записи, включая пользовательские.
Запись данных только после подтверждения: netsuite_create_customer создаёт клиента после вашего подтверждения. netsuite_create_sales_order (создаёт заказ в статусе Pending Approval, так что ничего не отгружается, пока кто-то его не утвердит) и netsuite_update_record при установке выключены; включайте их по отдельности, если они нужны. Изменения проведённых операций влияют на бухгалтерский учёт.
Частые ошибки: INVALID_LOGIN означает, что истекла еженедельная авторизация или отключены интеграция, роль либо пользователь: авторизуйтесь заново. 403 или INSUFFICIENT_PERMISSION: роли не хватает разрешения. CONCURRENCY_LIMIT_EXCEEDED: слишком много параллельных запросов к аккаунту, подождите и повторите попытку. Неизвестный хост означает, что NETSUITE_ACCOUNT_ID записан не в форме веб-адреса.
Коннектор входит только через OAuth 2.0; Token-Based Authentication (TBA) не поддерживается. Он не удаляет записи, не запускает сохранённые поиски и отчёты, не вызывает RESTlets и не использует файловый кабинет (file cabinet).
Шаг 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 — Добавьте коннектор в ChatGPT
URL вашего сервера: в AnythingMCP откройте MCP Servers → сервер, на котором находится этот коннектор, и скопируйте его URL (
https://cloud.anythingmcp.com/mcp/…). Используйте его везде, где в этом руководстве указаноYOUR_SERVER_ID.
ChatGPT подключает MCP-серверы как собственные приложения в режиме разработчика (Developer mode). Он есть в платных планах, в бесплатном его нет. В рабочих пространствах Business и Enterprise его, возможно, сначала должен разрешить администратор.
- Открой в ChatGPT Settings → Security and login и включи Developer mode.
- Перейди на chatgpt.com/plugins и нажми +.
- Введи название и короткое описание, например Name:
Oracle NetSuite. - В разделе Connection укажи URL MCP-сервера
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDи создай подключение. - Когда ChatGPT попросит, войди в AnythingMCP (OAuth) и разреши доступ.
Доступные инструменты
| Tool | What it does |
|---|---|
netsuite_suiteql_query | Run one read-only SuiteQL query (NetSuite's SQL over the analytics schema), e.g. "SELECT id, companyname, email FROM customer WHERE… |
netsuite_list_record_types | List the record types the REST record API offers in this account (standard and custom, e.g. customer, salesOrder, inventoryItem… |
netsuite_describe_record_type | Describe one record type as JSON Schema: every field with its type, title and whether it is read-only, the sublists and their line fields… |
netsuite_list_records | List the internal ids of one record type, optionally filtered with the record API's q syntax (field, operator, value), e.g. q = email… |
netsuite_get_record | Read any record by type and internal id (or eid:<external id>), e.g. contact, account, subsidiary, location, estimate, creditMemo… |
netsuite_get_customer | Read one customer by internal id (or eid:<external id>): entityId, companyName or person name, email, phone, subsidiary, currency, terms… |
netsuite_get_vendor | Read one vendor by internal id (or eid:<external id>): entityId, companyName, email, phone, subsidiary, currency, terms, balance, category… |
netsuite_get_employee | Read one employee by internal id: entityId, name, email, title, department, location, subsidiary, supervisor, hireDate, isInactive and the… |
netsuite_get_item | Read one item by its record type and internal id: itemId, displayName, description, prices, cost, units, quantities on hand where tracked… |
netsuite_get_sales_order | Read one sales order by internal id: tranId, entity (customer), tranDate, status, orderStatus, currency, subtotal, total, shipping address… |
netsuite_get_invoice | Read one customer invoice by internal id: tranId, entity, tranDate, dueDate, status, currency, subtotal, taxTotal, total, amountRemaining… |
netsuite_get_purchase_order | Read one purchase order by internal id: tranId, entity (vendor), tranDate, status, currency, total, dueDate and, expanded by default… |
netsuite_get_vendor_bill | Read one vendor bill by internal id: tranId, entity (vendor), tranDate, dueDate, status, currency, total, approvalStatus and, expanded by… |
netsuite_get_journal_entry | Read one journal entry by internal id: tranId, tranDate, postingPeriod, subsidiary, currency, approved, memo and, expanded by default… |
netsuite_create_customer | Create a customer, a company (company_name) or a person (is_person true with first_name and last_name) |
netsuite_create_sales_order | Create a sales order for an existing customer, by default in status Pending Approval (A) so nothing is fulfilled before someone approves it |
netsuite_update_record | Change fields of an existing record of any type (PATCH): only the fields given are changed |
Примеры запросов
- «У каких клиентов есть открытые счета старше 60 дней и сколько должен каждый из них?»
- «Покажите продажи за прошлый квартал по номенклатуре, топ-20 по сумме.»
- «Сколько мы потратили у каждого поставщика в этом году по счетам поставщиков?»
- «Создайте клиента Harbor Supplies Ltd. в британской дочерней компании и покажите мне данные перед сохранением.»
FAQ
Работает ли бесплатный план ChatGPT с кастомными MCP-коннекторами? Нет. Для своих MCP-подключений нужен режим разработчика, а он есть только в платных планах.
Следующие шаги
- Страница коннектора
- Подключить к Claude
- Подключить к Cursor
- Подключить к Gemini
- Подключить к Meta Muse
Это руководство помогло?