Skip to main content
Glama
NologyAcu

MCP4Acumatica

by NologyAcu

MCP4Acumatica

Отказ от ответственности: Этот проект является независимой интеграцией, созданной сообществом, и не связан с Acumatica, Inc., не одобрен и не поддерживается ею. «Acumatica» является зарегистрированной торговой маркой Acumatica, Inc. Использование названия и API Acumatica осуществляется только в целях совместимости.

Удаленный сервер Model Context Protocol (MCP), который подключает Claude к Acumatica ERP 2025 R2. Работает на Cloudflare Workers с аутентификацией OAuth для каждого пользователя, направленной на ваш экземпляр Acumatica.

Каждый пользователь аутентифицируется со своими собственными учетными данными Acumatica. Его роль в Acumatica определяет, к каким записям он имеет доступ. Сервер MCP дополнительно требует определенную роль Acumatica для доступа, показывает экран согласия и автоматически скрывает конфиденциальные поля, прежде чем данные попадут к модели ИИ.

Возможности

  • 49 инструментов — 38 для просмотра (только чтение) + 6 утилит/обнаружения + 4 для работы со схемой + 1 для записи (создание/обновление клиентов, отключено по умолчанию) (см. Доступные инструменты)

  • Индивидуальный OAuth — пользователи входят со своими учетными данными Acumatica (или SSO)

  • Контроль доступа на основе ролей — модель безопасности Acumatica определяет, что видит каждый пользователь

  • Шлюз доступа — к серверу могут подключиться только те пользователи, которые могут прочитать специально предназначенный для проверки универсальный запрос Generic Inquiry (ограничьте его по своему усмотрению; рекомендуемый способ — роль-маркер, например MCP Access)

  • Экран согласия — пользователи должны подтвердить обработку данных ИИ перед доступом к инструментам

  • Скрытие конфиденциальных полей — номера социального страхования, банковские счета, зарплата и другие персональные данные (PII) автоматически скрываются перед отправкой данных с сервера

  • Ограничение частоты запросов — по умолчанию 3 одновременных запроса и 40 запросов в минуту на пользователя; оба значения можно настроить из консоли администратора. Запрос, который обнаруживает, что все слоты заняты, коротко ждет, пока один не освободится, вместо того чтобы сразу отказать; отказ возвращает структурированный конверт { error: "rate_limited", retryAfterSeconds, actionRequired }, сообщающий ИИ точное время ожидания, чтобы не повторять запрос в цикле.

  • Отказ от пагинации — инструменты списков/запросов возвращают структурированный конверт { truncated, paginationSupported: false, actionRequired }, когда результаты достигают лимита записей, давая ИИ указание попросить пользователя задать более узкий фильтр, а не вызывать инструмент снова.

  • Структурированный аудит — все вызовы инструментов, события аутентификации и скрытие полей логируются.

  • Консоль администратора — веб-интерфейс администратора по адресу /docs/admin для просмотра логов и управления настройками среды выполнения без повторного развертывания.

  • Долгосрочное хранение логов — хранение логов на базе R2 через Cloudflare Logpush с просмотрщиком логов с возможностью поиска.

Related MCP server: MCP4Acumatica

Архитектура

Claude (claude.ai / Desktop / API)
    |
    v  MCP over streamable-http
+----------------------------------+
|  Cloudflare Worker               |
|  OAuth 2.1 Provider              |
|    /authorize -> Acumatica login |
|    /callback  <- Acumatica       |
|    (access gate + OIDC userinfo) |
|    /consent   -> AI data consent |
|    /token, /register (DCR)       |
|    /mcp -> McpAgent DO (49 tools)|
+---------------+------------------+
                |  Bearer token (per-user)
                v
        Acumatica 25R2 SaaS
        Contract-Based REST API
        Default/25.200.001

Предварительные требования

  • Node.js >= 18

  • Аккаунт Cloudflare (тарифный план Workers с поддержкой Durable Objects)

  • Экземпляр Acumatica 2025 R2 со следующим:

    • Подключенное приложение (Connected Application), настроенное в SM303010 с потоком OAuth 2.0 Authorization Code (области передаются сервером в запросе, не настраиваются в приложении)

    • URI перенаправления, указывающий на конечную точку вашего worker'а /callback

    • Универсальный запрос MCPAccess (SM208000) — тривиальный проверочный GI с включенным Expose via OData; шлюз входа проверяет, может ли пользователь читать его (см. Документацию по архитектуре для подробностей). Имя GI настраивается через ACUMATICA_CANARY_GI.

    • Способ ограничить, кто может читать этот GI — рекомендуется назначать только разрешенным пользователям роль-маркер MCP Access (SM201005).

Настройка

Существует три пути установки. Все они зависят одних и тех же предварительных требований на стороне Acumatica — сначала выполните их (см. раздел «Настройка Acumatica» ниже), независимо от выбранного пути.

Путь

Лучше всего подходит для

Требуется терминал?

A. Кнопка «Развернуть в Cloudflare»

Те, кто хочет полностью GUI-установку

Нет

B. Однострочный установщик

Разработчики, у которых уже есть git / node / npm

Да (одна команда)

C. Ручная настройка

Те, кто хочет просмотреть каждый шаг

Да

Путь A — Кнопка «Развернуть в Cloudflare» (без терминала)

Deploy to Cloudflare

Кнопка форкает этот репозиторий в ваш аккаунт GitHub, читает wrangler.jsonc, автоматически создает пространство имен KV и корзину R2, запрашивает секреты и развертывает. Пошагово:

  1. Нажмите кнопку. Cloudflare попросит вас войти (или создать аккаунт) и авторизовать форк GitHub.

  2. Подтвердите привязки. Вас попросят создать пространства имен KV дважды — один раз для привязки TOKEN_STORE (данные приложения: токены, состояние OAuth, кэш, конфигурация, сессии администратора) и один раз для OAUTH_KV (используется библиотекой OAuth внутренне). Это ожидаемо: это две разные привязки, которые никогда не обмениваются ключами.

    ⚠️ Дайте двум пространствам имен разные имена (например, mcp4acumatica-app для TOKEN_STORE и mcp4acumatica-oauth для OAUTH_KV). Автоматическое предоставление Cloudflare выводит заголовок по умолчанию из имени Worker'а, поэтому оба поля по умолчанию имеют значение mcp4acumatica — и создание двух пространств имен с одинаковым названием завершается ошибкой «Cannot provision a KV Namespace with the title … because it already exists.» Если вы уже столкнулись с этой ошибкой, осталось наполовину созданное пространство имен: перейдите в Storage & Databases → KV и удалите осиротевшее пространство имен mcp4acumatica, затем повторите попытку с двумя разными именами. (Автоматическое предоставление Cloudflare не может указать обе привязки на одно пространство имен, а конфигурация не может предустановить разные заголовки — поэтому два отдельных пространства имен с разными именами — это правильный путь. Если графический интерфейс продолжает выдавать ошибку, используйте путь установки через терминал ниже: setup.sh создает одно пространство имен и привязывает к нему обе привязки.)

    Корзины R2 (mcp4acumatica-logs, mcp4acumatica-index) создаются таким же образом, но их имена фиксированы в wrangler.jsonc, поэтому они не конфликтуют.

  3. Установите секреты. При запросе вставьте:

    • ACUMATICA_CLIENT_ID — из вашего Подключенного приложения (SM303010)

    • ACUMATICA_CLIENT_SECRET — с того же экрана

    • COOKIE_ENCRYPTION_KEY — откройте консоль браузера на любой странице и выполните:

      [...crypto.getRandomValues(new Uint8Array(32))].map(b => b.toString(16).padStart(2,'0')).join('')

      Скопируйте полученную 64-символьную шестнадцатеричную строку.

    • ADMIN_SECRET — любой пароль, который вы запомните (защищает консоль /docs/admin). Сгенерируйте его с помощью [...crypto.getRandomValues(new Uint8Array(24))].map(b => b.toString(16).padStart(2,'0')).join(''), если у вас нет предпочтений.

  4. Разверните. Cloudflare подключает форк к Workers Builds и отправляет первое развертывание.

  5. Обновите переменные Acumatica. После завершения развертывания откройте Workers & Pages → mcp4acumatica → Settings → Variables and Secrets в панели управления Cloudflare и отредактируйте:

    • ACUMATICA_URL (например, https://yourcompany.acumatica.com)

    • ACUMATICA_TENANT (компания для входа)

    • По желанию: ACUMATICA_MAX_RECORDS, ACUMATICA_CANARY_GI, REDACT_PATTERNS, REDACT_SKIP Нажмите Save and Deploy — Cloudflare переразвернет с новыми значениями.

  6. Добавьте URI перенаправления в ваше Подключенное приложение. Теперь ваш worker доступен по адресу https://mcp4acumatica.<your-account>.workers.dev. Добавьте https://<that-host>/callback в URI перенаправления на экране SM303010 в Acumatica. (Чтобы использовать собственный домен, см. раздел «Собственный домен» ниже.)

  7. Проверьте развертывание. Перейдите по адресу https://<your-host>/docs/admin/preflight, войдите с помощью ADMIN_SECRET и запустите диагностику предварительной проверки. Она проверяет подключение к Acumatica, конечную точку обнаружения OIDC, учетные данные Подключенного приложения, путь к арендатору и версию API контракта — любая неправильная конфигурация называется по имени.

После этого Claude может подключиться (см. раздел «Подключение Claude» ниже).

Путь B — Однострочный установщик (терминал)

Если у вас уже есть git, node и npm, выполните:

curl -fsSL https://mcp4acumatica.hallboys.com/install.sh | bash

Это клонирует репозиторий, устанавливает зависимости и запускает ./setup.sh. Сценарий установки запросит значения Acumatica, которые вы должны предоставить (URL, арендатор, идентификатор клиента и секрет Подключенного приложения), автоматически сгенерирует криптографические секреты, создаст пространство имен KV и корзину R2, загрузит секреты, развернет и запустит предварительную проверку.

Если вы предпочитаете сначала просмотреть сценарий:

curl -fsSL https://mcp4acumatica.hallboys.com/install.sh -o install.sh
less install.sh   # read it
bash install.sh   # then run

Путь C — Ручная настройка (терминал)

1. Клонирование и установка

git clone https://github.com/hallboys/MCP4Acumatica.git
cd MCP4Acumatica
npm install

2. Создание пространства имен KV

npx wrangler kv namespace create TOKEN_STORE

Запомните ID пространства имен из вывода — вы вставите его в wrangler.jsonc на следующем шаге. Тот же ID используется для обеих привязок TOKEN_STORE и OAUTH_KV.

3. Настройка wrangler

wrangler.jsonc отслеживается в репозитории как шаблон развертывания. Отредактируйте его и заполните:

  • ID пространства имен KV из шага 2 (обе привязки TOKEN_STORE и OAUTH_KV — один и тот же id)

  • ACUMATICA_URL — URL вашего экземпляра Acumatica (например, https://yourcompany.acumatica.com)

  • ACUMATICA_TENANT — ваша компания/арендатор Acumatica

Чтобы ваши локальные значения не отображались в git status (чтобы вы по-прежнему могли без конфликтов получать обновления):

git update-index --skip-worktree wrangler.jsonc

4. Установка секретов

npx wrangler secret put ACUMATICA_CLIENT_ID
npx wrangler secret put ACUMATICA_CLIENT_SECRET
npx wrangler secret put COOKIE_ENCRYPTION_KEY      # use `openssl rand -hex 32`
npx wrangler secret put ADMIN_SECRET                # any password — protects /docs/admin

5. Развертывание

npx wrangler deploy

6. Локальная разработка (опционально)

cp .dev.vars.example .dev.vars
# Edit .dev.vars with your Acumatica credentials
npx wrangler dev

Настройка Acumatica

Эти шаги необходимы независимо от выбранного пути установки. Их нельзя автоматизировать — API Acumatica не предоставляет к ним доступа.

Подключенное приложение (SM303010)

  1. В Acumatica: System > Integration > Connected Applications (SM303010).

  2. Создайте новое Подключенное приложение.

  3. Установите OAuth 2.0 Flow в Authorization Code.

  4. Добавьте URI перенаправления: https://<your-worker-url>/callback (используйте имя хоста *.workers.dev или ваш собственный домен).

  5. Запомните Client ID и Client Secret — вы предоставите их как секреты при развертывании.

Здесь нет поля для настройки областей. Области OAuth (api openid profile email offline_access, включая offline_access, который позволяет Acumatica выдавать токены обновления) отправляются сервером MCP в запросе авторизации — они не устанавливаются на Подключенном приложении.

Шлюз доступа: проверочный универсальный запрос (SM208000, SM201005)

Прежде чем пользователь сможет получить доступ к инструментам ИИ, процесс входа выполняет шлюз доступа: он запрашивает тривиальный проверочный Generic Inquiry через OData и проверяет, может ли токен пользователя читать его (200 → разрешено, 403 → запрещено). Сервер никогда не проверяет членство в ролях Acumatica — он только спрашивает «видите ли вы этот один GI?». Вы ограничиваете, кто может читать проверочный GI, как предпочитает ваша модель безопасности; роль-маркер — рекомендованный, самый чистый способ.

  1. Создайте проверочный GI: System > Customization > Generic Inquiry (SM208000) → создайте GI с именем MCPAccess с любым тривиальным запросом (один столбец из любой таблицы подойдет). Включите Expose via OData.

  2. Ограничьте, кто может читать его (рекомендуется: роль-маркер): System > Access Rights > User Roles (SM201005) → создайте роль с именем MCP Access без прав на экраны, назначьте GI MCPAccess только этой роли, затем назначьте роль каждому пользователю, который должен иметь доступ к ИИ-ассистенту. Любой другой механизм, контролирующий доступ на чтение OData к GI, также работает.

Имя проверочного GI настраивается через переменную ACUMATICA_CANARY_GI (по умолчанию MCPAccess). Отредактируйте ее в панели управления Cloudflare (Variables and Secrets) или в wrangler.jsonc.

Предоставление Generic Inquiry доступа к ИИ (настоятельно рекомендуется)

В зрелом инстансе Acumatica могут быть сотни Generic Inquiries, большинство из которых создано для человеческих экранов (широкие отчётные таблицы, дашборды, разовые запросы). Предоставление всех их ассистенту перегружает его контекст и заставляет выбирать неправильный запрос — и, что хуже, параметризованный GI, доступный через OData, возвращает незаметно неверные данные: при запросе без параметров Acumatica возвращает строки по умолчанию/без фильтрации без ошибки, которую модель не может обнаружить. Шлюз доступа к GI превращает это в opt-in: вы помечаете те GI, которые действительно полезны и корректны для запроса AI-агентом (ExposedToMCP), и модель видит только их.

Шлюз неактивен, пока вы его не настроите — сервер работает, но без реестра ассистент не может обнаруживать GI (acumatica_list_generic_inquiries ничего не возвращает; пользователь всё ещё может запустить GI по точному имени). Настройка даёт ассистенту курируемый набор, который он может безопасно обнаруживать. Включение — это разовый проект настройки Acumatica: включённый в acumatica/, он добавляет пользовательские поля UsrExposedToMCP / UsrAIDescription (GIDesign) и UsrResAIDescription (GIResult), а также изменения формы SM208000; далее следуют фиды GI MCPGIs / MCPGIFields, доступ на чтение фидов для роли MCP Access и пометка GI, которые вы хотите раскрыть. См. docs/generic-inquiries.md.

См. Generic Inquiries для полного обоснования, как решить, какие GI раскрывать, и пошаговой настройки.

Пользовательский домен (необязательно)

Развёртывание даёт вам имя хоста *.workers.dev из коробки. Чтобы подключить фирменное имя хоста:

  • Через панель Cloudflare: Workers & Pages → mcp4acumatica → Settings → Domains & Routes → Add. Зона домена должна находиться в вашем аккаунте Cloudflare.

  • Через wrangler.jsonc: раскомментируйте блок routes в начале файла, измените pattern и zone_name, повторно разверните.

Если вы меняете имена хостов, не забудьте добавить новый https://<host>/callback в URI перенаправления вашего Connected Application в SM303010.

Подключение Claude

Claude.ai / Claude Desktop

  1. Перейдите в Settings > Connectors

  2. Нажмите Add Connector и введите URL: https://<your-worker-url>/mcp

  3. При первом использовании вы будете перенаправлены на страницу входа в Acumatica

  4. Если ваш аккаунт может читать canary GI (т.е. вам предоставлен доступ), вы увидите страницу согласия с объяснением обработки данных ИИ

  5. После подтверждения согласия Claude получит доступ ко всем 49 инструментам

Claude Code (CLI)

claude mcp add acumatica-erp --transport streamable-http https://<your-worker-url>/mcp

API (через Anthropic SDK)

При использовании Anthropic API с MCP укажите MCP-клиенту адрес https://<your-worker-url>/mcp. Сервер поддерживает OAuth 2.1 с динамической регистрацией клиентов на /register.

Доступные инструменты

Основные

Инструмент

Описание

acumatica_get_customer

Запись клиента с контактами, кредитными правилами, балансом

acumatica_get_vendor

Запись поставщика с контактами, условиями, налоговой информацией

acumatica_get_sales_order

Заказ на продажу с позициями, итогами, доставкой

Финансы / Бухгалтерия

Инструмент

Описание

acumatica_get_invoice

AR-счёт с позициями и налоговыми деталями

acumatica_get_bill

AP-счёт с позициями и связью с PO

acumatica_get_journal_transaction

Пакет журнала GL с деталями по дебету/кредиту

acumatica_get_payment

AR-платёж с применёнными документами и заказами

acumatica_get_account

Поиск по плану счетов GL

acumatica_get_check

AP-чек/платёж поставщику с историей

Запасы и склад

Инструмент

Описание

acumatica_get_stock_item

Складская позиция с ценами, количеством на складе, поставщиками

acumatica_get_non_stock_item

Нескладская позиция (услуга, работа, расход)

acumatica_get_inventory_quantity_available

Доступное количество в реальном времени по складам

acumatica_get_inventory_summary

Агрегированные остатки запасов по складам

acumatica_get_warehouse

Склад с местами хранения и настройками

acumatica_get_item_class

Значения по умолчанию классификации позиций

Закупки

Инструмент

Описание

acumatica_get_purchase_order

PO с позициями, поставщиком, итогами

acumatica_get_purchase_receipt

Поступление с полученным количеством и связью с PO

Проекты

Инструмент

Описание

acumatica_get_project

Заголовок проекта, статус, финансы

acumatica_get_project_task

Задача в рамках проекта

acumatica_get_project_budget

Строка бюджета с фактом против плана

acumatica_get_project_transaction

Детали транзакции затрат/доходов проекта

Обслуживание и выездная работа

Инструмент

Описание

acumatica_get_case

Обращение в поддержку с SLA, приоритетом, учётом времени

acumatica_get_service_order

Заказ на выездное обслуживание с деталями и назначениями

acumatica_get_appointment

Запланированное/фактическое время, персонал, затраты/прибыль

Продажи и CRM

Инструмент

Описание

acumatica_get_contact

CRM-контакт с адресом, телефоном, владельцем

acumatica_get_business_account

Единая запись потенциального клиента/клиента/поставщика

acumatica_get_opportunity

Сделка в воронке продаж с товарами и суммами

acumatica_get_lead

Маркетинговый лид со статусом и источником

acumatica_get_salesperson

Торговый представитель с настройками комиссий

Отгрузка и выполнение заказов

Инструмент

Описание

acumatica_get_shipment

Отгрузка с упаковками, отслеживанием, фрахтом

acumatica_get_sales_invoice

Счёт-фактура со связью с SO/отгрузкой

HR и расчёт зарплаты

Инструмент

Описание

acumatica_get_employee

Сотрудник с контактными и финансовыми настройками

acumatica_get_expense_claim

Отчёт о расходах с позициями и утверждением

acumatica_get_time_entry

Учёт времени с проектом, оплачиваемым/сверхурочным временем

CRM-активности

Инструмент

Описание

acumatica_get_email

Активность электронной почты с от/кому/телом

acumatica_get_event

Событие календаря с участниками

acumatica_get_activity

Общая CRM-активность

acumatica_get_task

CRM-задача со связанными активностями

Утилиты / Обнаружение

Инструмент

Описание

acumatica_run_inquiry

Выполнить любую настроенную Generic Inquiry (GI) с фильтрацией

acumatica_list_entities

Список/поиск любой сущности с OData-фильтрацией, сортировкой, выбором полей

acumatica_describe_entity

Обнаружение полей, типов и под-сущностей для любой сущности

acumatica_list_generic_inquiries

Список доступных GI, доступных через OData

acumatica_describe_inquiry

Вывод схемы полей для GI перед его запуском

acumatica_clear_cache

Очистить кэшированные метаданные при изменении схем

Совет: Сначала используйте acumatica_describe_entity для обнаружения доступных полей, затем acumatica_list_entities для поиска/фильтрации. Для Generic Inquiries используйте acumatica_list_generic_inquiries для поиска имён GI и acumatica_describe_inquiry для просмотра доступных полей. См. docs/example-prompts.md для примеров использования.

Документация

Подробная документация доступна в папке docs/:

Навыки

Переиспользуемые навыки Claude, поставляемые с этим репозиторием, в skills/:

  • acumatica-gi-descriptions -- Полный процесс написания ориентированных на ИИ описаний для Generic Inquiries и их результирующих колонок, основанный на собственных метаданных дизайна GI (таблицы, соединения, условия WHERE, колонки), а не на предположениях по именам. Включает платформенные ловушки, из-за которых массовая работа с метаданными GI незаметно идёт неправильно, чек-лист сигналов дизайна, которые стоит искать, и три скрипта для аудита усечений, подготовки брифов по дизайну и валидации черновиков.

Чтобы использовать его, укажите Claude на каталог навыка или скопируйте его в свой собственный .claude/skills/.

Безопасность

  • Отсутствие сохранённых учётных данных. MCP-сервер не хранит пароли Acumatica. Он использует поток авторизации OAuth 2.0 — пользователи проходят аутентификацию напрямую в Acumatica.

  • Персональные токены. Токен доступа Acumatica для каждого пользователя хранится в хранилище ключ-значение платформы (Cloudflare KV при развёртывании по умолчанию) и привязан к его имени пользователя. Токены автоматически обновляются по истечении срока действия. Если срок действия токена обновления истёк, соединение переаутентифицируется автоматически, без необходимости ручного переподключения.

  • Шлюз доступа. Подключаться могут только те пользователи, которые могут читать назначенный канареечный Generic Inquiry. Сервер проверяет возможность чтения GI через OData во время входа (не по членству в ролях); пользователи без доступа видят страницу отказа в доступе. Вы можете ограничить GI любым способом — рекомендуется использовать роль-маркер MCP Access. Имя GI настраивается через ACUMATICA_CANARY_GI.

  • Экран согласия. После прохождения проверки доступа пользователи должны подтвердить, что их данные будут обработаны внешней AI-моделью, прежде чем сессия MCP активируется.

  • Редактирование конфиденциальных полей. Ответы инструментов автоматически сканируются на наличие имён конфиденциальных полей (SSN, банковские счета, зарплата, кредитные карты и т.д.), и найденные значения заменяются на [REDACTED]. Шаблоны настраиваются через переменные окружения REDACT_PATTERNS и REDACT_SKIP.

  • Доступ на основе ролей. Роль пользователя в Acumatica определяет, какие записи он может читать. Если у пользователя нет доступа к записи в Acumatica, он не сможет получить к ней доступ и через MCP-сервер.

  • Только чтение. Все текущие инструменты предназначены только для чтения. Никакие данные не создаются, не изменяются и не удаляются.

  • Ограничение скорости. 3 одновременных запроса, 40 запросов в минуту и ограничение в 1000 записей на запрос по умолчанию — все параметры настраиваются из консоли администратора по адресу /docs/admin/settings без повторного развёртывания. Ограничения применяются к каждому пользователю и учитывают HTTP-вызовы к Acumatica (а не вызовы инструментов). Отклонения возвращают структурированный конверт с точным значением retryAfterSeconds и регистрируются как события rate_limit_hit, чтобы вы могли определить, не слишком ли жёсткие лимиты.

  • Отказ от пагинации. Инструменты списка/запроса (acumatica_list_entities, acumatica_run_inquiry, acumatica_list_generic_inquiries) не поддерживают пагинацию. Когда ответ достигает ACUMATICA_MAX_RECORDS, инструмент возвращает структурированный конверт (truncated: true, paginationSupported: false, actionRequired: "..."), предписывающий AI остановиться и попросить пользователя указать более узкий фильтр, а не извлекать больше записей.

  • Журнал аудита. Все вызовы инструментов, события аутентификации (успешный вход/отказ, принятие согласия) и события редактирования полей регистрируются в виде структурированного JSON. Просмотр с помощью npx wrangler tail.

Переносимость платформы

Хотя развёртывание по умолчанию нацелено на Cloudflare Workers, обработчики инструментов и основные библиотеки не зависят от платформы. Абстракция хранилища (интерфейс IKeyValueStore + тип AppEnv) отделяет логику инструментов от специфичных для Cloudflare API, что позволяет самостоятельно развёртывать сервер на Node.js с Redis, SQLite или другими бэкендами. Подробнее см. в Руководстве по самостоятельному развёртыванию.

Технологический стек

Разработка

npx wrangler dev       # Start local dev server
npx tsc --noEmit       # Type check
npx wrangler tail      # Stream live logs from deployed worker

Лицензия

Apache 2.0 — Copyright 2026 Hall Boys, Inc.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables Claude to interact with Acumatica ERP through a remote MCP server with per-user OAuth, role-based access, and 44 tools for querying and managing ERP data.
    17
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A remote MCP server that connects Claude to Acumatica ERP 2025 R2 with per-user OAuth, role-based access, and sensitive field redaction.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    A remote MCP server that connects Claude to Acumatica ERP with per-user OAuth, role-based access, and sensitive field redaction.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    A remote MCP server that connects Claude to Acumatica ERP 2025 R2 with per-user OAuth authentication, role-based access control, and sensitive field redaction.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NologyAcu/mcp4nologyacu'

If you have feedback or need assistance with the MCP directory API, please join our Discord server