Skip to main content
Glama
svn4pro

Pancake POS MCP

by svn4pro

Pancake POS MCP

Сервер протокола контекста модели (MCP), обертывающий REST API Pancake POS, позволяющий ИИ-ассистентам, таким как Claude, управлять операциями вьетнамской электронной коммерции POS с помощью 23 специализированных инструментов и 7 справочных ресурсов.

Обзор

Pancake POS MCP предоставляет API Pancake POS (https://pos.pages.fm/api/v1) в качестве инструментов протокола контекста модели, позволяя Claude и другим ИИ-ассистентам автоматизировать управление POS в следующих областях:

  • Основные POS: Заказы, товары, клиенты, инвентаризация

  • Цепочка поставок: Склады, поставщики, закупки, перемещения, инвентаризация

  • Продажи: Возвраты, обмены, комплекты, акции, ваучеры

  • CRM: Контакты, сделки, активности

  • Мультиканальность: Электронная коммерция (Shopee/Lazada/TikTok), прямые трансляции (Livestream Commerce)

  • Операции: Сотрудники, вебхуки, аналитика, информация о магазине, поиск адресов

Related MCP server: mcp-server-woocommerce

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

  • Bun (среда выполнения) — установите с https://bun.sh (curl -fsSL https://bun.sh/install | bash)

  • API-ключ Pancake POS + ID магазина — см. Получение учетных данных Pancake POS ниже. Обратите внимание: это API Pancake POS (электронная коммерция / инвентаризация), а не API пользователя/социального инбокса Pancake — это разные продукты с разными ключами.

  • Node.js 18+ (опционально, для инструментов разработки)

Быстрый старт

Переход от нуля к работающему MCP-серверу примерно за 5 минут:

# 1. Clone the repo
git clone https://github.com/nguyennguyenit/pancake-pos-mcp.git
cd pancake-pos-mcp

# 2. Install dependencies
bun install

# 3. Configure credentials
cp .env.example .env
# Open .env and fill in PANCAKE_POS_API_KEY + PANCAKE_POS_SHOP_ID
# (See "Getting Pancake POS credentials" section below)

# 4. Verify it runs
bun run src/index.ts
# Expected output:
#   [pancake-pos-mcp] Server started on stdio transport
# Press Ctrl+C to stop.

# 5. Connect Claude Desktop — see "Stdio Transport" section below

Если на шаге 4 возникла ошибка, дважды проверьте значения в .env и убедитесь, что вы выполнили bun install. Распространенные проблемы перечислены в разделе Устранение неполадок.

Получение учетных данных Pancake POS

⚠️ Pancake POS ≠ Pancake (социальный инбокс). Этот MCP работает только с продуктом Pancake POS по адресу https://pos.pages.fm — системой электронной коммерции / инвентаризации / управления заказами. API пользователя/инбокса Pancake на pages.fm — это другой продукт с другим API-ключом, и он здесь не поддерживается.

Вам нужны два значения из вашей учетной записи Pancake POS:

  1. PANCAKE_POS_SHOP_ID — числовой ID вашего магазина

    • Войдите на https://pos.pages.fm и проверьте URL или настройки магазина, чтобы найти числовой ID магазина

  2. PANCAKE_POS_API_KEY — ваш API-токен Pancake POS

    • Панель управления Pancake POS → Cài đặt (Настройки) → API → Generate API key

    • Скопируйте ключ сразу — он отображается только один раз

Храните оба значения в секрете. Никогда не добавляйте их в git. Файл .gitignore уже исключает .env и .dev.vars.

Конфигурация

Обязательные (устанавливаются при быстром старте):

Переменная

Назначение

PANCAKE_POS_API_KEY

API-токен Pancake POS

PANCAKE_POS_SHOP_ID

Числовой ID магазина

Опциональные:

Переменная

По умолчанию

Назначение

PANCAKE_POS_BASE_URL

https://pos.pages.fm/api/v1

Переопределение конечной точки API

PORT

3000

Порт HTTP-транспорта

MCP_AUTH_TOKEN

(нет)

Bearer-токен для аутентификации HTTP/Workers

Использование

Stdio Transport (Claude Desktop)

Режим по умолчанию. Добавьте в конфигурацию Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "pancake-pos": {
      "command": "bun",
      "args": ["run", "/path/to/pancake-pos-mcp/src/index.ts"]
    }
  }
}

HTTP Transport (Удаленный доступ)

Включите потоковый HTTP-транспорт:

bun run src/index.ts --http

Сервер запускается по адресу http://localhost:3000/mcp. Проверка работоспособности: http://localhost:3000/health

С аутентификацией (рекомендуется для продакшена):

# .env
PORT=3000
MCP_AUTH_TOKEN=your_secret_token

# Client usage
curl -H "Authorization: Bearer your_secret_token" http://localhost:3000/mcp

Cloudflare Workers (Serverless Edge)

Разверните глобально на Cloudflare Workers для доступа с низкой задержкой из любой точки:

# Local development (uses .dev.vars for secrets)
cp .dev.vars.example .dev.vars
# Edit .dev.vars with your credentials
bun run dev:workers
# Runs at http://localhost:8787

# Deploy to Cloudflare
wrangler login
bun run deploy

# Set production secrets
wrangler secret put PANCAKE_POS_API_KEY
wrangler secret put PANCAKE_POS_SHOP_ID
wrangler secret put MCP_AUTH_TOKEN

URL Workers: https://pancake-pos-mcp.<ваш-поддомен>.workers.dev/mcp

Подключите Claude Desktop через mcp-remote:

{
  "mcpServers": {
    "pancake-pos": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://pancake-pos-mcp.<your-subdomain>.workers.dev/mcp",
        "--header", "Authorization: Bearer <your-token>"
      ]
    }
  }
}

Характеристики Workers: таймаут 8 секунд на вызов, 2 повторные попытки, ограничение частоты запросов отключено (модель без сохранения состояния для каждого запроса). Бесплатный уровень: 100 тыс. запросов в день. Полную информацию см. в руководстве по развертыванию.

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

Инструмент

Фаза

Описание

manage_orders

1

Создание, чтение, обновление, удаление, печать, отправка и управление статусом заказа

manage_products

1

Управление каталогом товаров с вариациями и ценами

manage_customers

1

CRUD клиентов, бонусные баллы, история транзакций

manage_inventory

1

Отчеты по инвентаризации с фильтрацией по складу, категории, поставщику

manage_warehouses

2

CRUD складов и конфигурация

manage_suppliers

2

Управление контактами и профилями поставщиков

manage_purchases

2

Заказы на закупку и входящая инвентаризация

manage_transfers

2

Управление перемещениями между складами

manage_stocktaking

2

Записи физической инвентаризации

manage_returns

3

Обработка возвратов и обменов заказов

manage_combos

3

Комплекты товаров и ограниченные по времени предложения

manage_promotions

3

Акции со скидками (в процентах/сумме)

manage_vouchers

3

Генерация кодов ваучеров и отслеживание их использования

manage_crm_contacts

4

CRUD контактов CRM и управление отношениями

manage_crm_deals

4

Возможности воронки продаж и этапы

manage_crm_activities

4

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

manage_ecommerce

4

Мультиканальная синхронизация (Shopee, Lazada, TikTok)

manage_livestream

4

Управление и планирование сессий прямых продаж

manage_employees

5

Управление персоналом и назначение на склады

manage_webhooks

5

Подписка на события и настройка вебхуков

get_statistics

5

Аналитика по инвентаризации, продажам, заказам с группировкой

get_shop_info

5

Информация о профиле магазина и настройки

lookup_address

5

Иерархия вьетнамских адресов (провинции → районы → коммуны)

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

Статические справочные ресурсы (аутентификация не требуется):

Ресурс

Содержимое

order-statuses

16 кодов статусов заказов с названиями на вьетнамском/английском

order-sources

Коды каналов продаж (Facebook, Shopee, Lazada и т.д.)

sort-options

22 опции сортировки для списка заказов

webhook-events

Типы событий вебхуков (order.created, order.updated и т.д.)

error-codes

Справочник кодов ошибок HTTP

rate-limits

Ограничения частоты API (1000/мин, 10000/час)

shipping-partners

Актуальные данные партнеров по доставке (кэшируются из API)

Архитектура

  • API Client: Ограничение частоты запросов (token-bucket: 1000/мин, 10000/час), повторные попытки с экспоненциальной задержкой (3 попытки)

  • Инструменты: 23 инструмента MCP, организованных по бизнес-доменам

  • Валидация схемы: Zod с дискриминантными объединениями для строгой валидации во время выполнения

  • Транспорт: Stdio (по умолчанию) + потоковый HTTP + Cloudflare Workers с опциональной аутентификацией Bearer-токеном

  • Обработка ошибок: Структурированные ответы об ошибках с кодом и сообщением

Разработка

Проверка типов

bun run typecheck

Запуск тестов

bun run test       # vitest (includes Workers tests)

Структура проекта

src/
├── api-client/              # HTTP layer with rate limiting
│   ├── pancake-http-client.ts
│   ├── request-builder.ts
│   └── response-parser.ts
├── tools/                   # 23 MCP tools (23 files)
├── resources/               # MCP reference resources
├── shared/                  # Schemas, errors, pagination
├── config.ts                # Environment configuration
├── server.ts                # MCP server factory
├── worker.ts                # Cloudflare Workers entry point
└── index.ts                 # Entry point (stdio + HTTP)

Полные рекомендации по разработке см. в docs/code-standards.md.

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

Устранение неполадок

Несколько неочевидных моментов:

  • 429 Too Many Requests — достигнут лимит Pancake (1000/мин, 10000/час). Встроенный механизм token-bucket автоматически ограничивает скорость; уменьшите параллелизм на стороне вызывающего приложения.

  • Тесты завершаются ошибкой Cannot find package 'cloudflare:test' — используйте bun run test (vitest), а не нативный bun test. Для тестов Workers нужен плагин vitest pool worker.

  • Claude Desktop не видит инструменты — путь command/args в claude_desktop_config.json должен быть абсолютным. Перезапустите Claude Desktop после редактирования конфигурации.

При возникновении других ошибок проверьте сообщение об ошибке и учетные данные в .env.

Лицензия

Лицензия MIT — см. файл LICENSE для получения полного текста.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server built with the mcp-framework for developing and managing custom tools. It provides a structured foundation for building and integrating modular components like data processors and API clients into Claude Desktop.
    11 npm
    -
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for managing WooCommerce stores through AI assistants like Claude. Provides 101 tools covering products, orders, customers, coupons, shipping, taxes, webhooks, settings, reports, and more.
    100
    98 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to manage Vietnamese e-commerce POS operations including orders, products, customers, inventory, supply chain, sales, CRM, and multi-channel integration via Pancake POS API.
    31
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for the Shopline Open API. Exposes 140+ tools for querying and managing orders, products, customers, promotions, analytics, and store settings from your Shopline store via Claude.
    100
    MIT