x5-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@x5-mcp Синхронизируй мои покупки за август 2026"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
x5-mcp
MCP-сервер для Codex, который загружает историю покупок из личного кабинета X5 Club в локальную SQLite-базу, а потом позволяет спрашивать у агента про траты, чеки, товары, категории и изменение цен.
Работает локально на компьютере пользователя. Публичный сервер не нужен, ваши чеки не хранятся у автора пакета.
Требования
Node.js 24.x
Codex или другой MCP-клиент со stdio transport
Аккаунт X5 Club и cookie из браузерной сессии
Related MCP server: ExpenseTracker MCP Server
Быстрая настройка в Codex
Добавьте MCP-сервер в конфиг Codex:
[mcp_servers.x5]
command = "npx"
args = ["-y", "x5-mcp"]
startup_timeout_sec = 20
tool_timeout_sec = 300
[mcp_servers.x5.env]
X5_COOKIE = "name=value; other=value"Перезапустите Codex или обновите MCP-подключения. После этого можно писать обычные запросы:
Синхронизируй мои покупки с 2026-08-01 по 2026-08-31Покажи расходы по неделям за август 2026Найди мои покупки кофе и покажи, как менялась ценаКакие товары я чаще всего покупал за последние 3 месяца?Как получить X5_COOKIE
Войдите в свой аккаунт на
https://x5club.ru.Откройте историю покупок.
Откройте DevTools -> Network.
Обновите историю или загрузите следующую страницу.
Найдите запрос
POST /lk/history.data.В Request Headers скопируйте значение заголовка
Cookie.Вставьте только значение, без префикса
Cookie:.
Не отправляйте cookie в чат, issue, pull request или сторонним людям. Cookie дает доступ к вашему аккаунту.
Где хранится база
По умолчанию SQLite создается локально:
Windows:
%LOCALAPPDATA%/x5-purchases-mcp/x5.sqlitemacOS/Linux:
$XDG_DATA_HOME/x5-purchases-mcp/x5.sqliteили~/.local/share/x5-purchases-mcp/x5.sqlite
Можно задать свой путь:
[mcp_servers.x5.env]
X5_COOKIE = "name=value; other=value"
X5_DB_PATH = "C:/Users/me/x5-purchases.sqlite"Доступные настройки
[mcp_servers.x5.env]
X5_COOKIE = "name=value; other=value"
X5_DB_PATH = "C:/Users/me/x5-purchases.sqlite"
X5_NETWORK_CODES = "D,S,VK,SL,VP"
X5_REQUEST_TIMEOUT_MS = "30000"
X5_PAGE_DELAY_MS = "500"
X5_MAX_PAGES_PER_MONTH = "1000"
X5_SYNC_FROM = "2026-01-01"
X5_ENABLE_SYNC_TOOL = "1"Если поставить X5_ENABLE_SYNC_TOOL = "0", агент сможет анализировать уже загруженную базу, но не будет сам ходить в X5 за новыми данными.
Инструменты MCP
x5_sync_history: загрузить или обновить чеки за периодx5_get_sync_status: проверить покрытие и свежесть данныхx5_get_recent_receipts: последние чекиx5_get_receipt: один чек с позициямиx5_get_spending: траты по дням, неделям или месяцамx5_search_purchases: поиск покупок по названиюx5_get_product_history: история покупок и цен конкретного товараx5_get_top_products: частые товарыx5_get_categories: исходные коды категорийx5_get_category_spending: предварительная оценка трат по категориямx5_get_price_changes: сравнение первой и последней известной цены
Важные ограничения
Первый импорт лучше делать за явный период: например, с
2026-08-01по2026-08-31.Отсутствие чеков в базе не значит нулевые траты, пока период не был успешно синхронизирован.
Денежные поля
*_minorвозвращаются в копейках RUB.Категорийные суммы являются оценкой, потому что считаются по позициям чека.
X5 может менять формат личного кабинета без предупреждения; если синхронизация сломалась, обновите пакет и cookie.
Для разработки
pnpm install --frozen-lockfile
pnpm build
pnpm testЛокальный запуск stdio-сервера:
pnpm startПубликация новой версии:
pnpm build
npm publish --access publicAvailable Tools
11 toolsx5_get_categoriesCRead-onlyIdempotent
Исходные коды категорий и число позиций. Названия категорий не выдумываются.
Inputs: to (required), from (required), groupBy, network.
x5_get_category_spendingARead-onlyIdempotent
Предварительная ОЦЕНКА трат по категориям: pricePromo × quantity. Семантика цены не подтверждена, это не точные итоги чеков.
Inputs: to (required), from (required), limit, network, +1 more.
x5_get_price_changesARead-onlyIdempotent
Сравнить первую и последнюю известную цену каждого PLU за период, раздельно по сети и единице. Акции могут объяснять разницу.
Inputs: to (required), from (required), limit, network, +1 more.
x5_get_product_historyBRead-onlyIdempotent
История PLU, цены и количество. PLU найдите через x5_search_purchases. Сети и единицы не смешиваются в сводке.
Inputs: pluId (required), to, from, limit, +2 more.
x5_get_receiptBRead-onlyIdempotent
Один чек и до 500 его позиций; itemsCount показывает полное число позиций.
Inputs: id (required).
x5_get_recent_receiptsARead-onlyIdempotent
Последние чеки из SQLite без состава; limit/offset. Состав — x5_get_receipt.
Inputs: limit, offset.
x5_get_spendingBRead-onlyIdempotent
Траты по суммам чеков, без удвоения по товарам. Период включительно, сеть по исходному коду. null — неизвестно.
Inputs: to (required), from (required), groupBy, network.
x5_get_sync_statusARead-onlyIdempotent
Покрытие истории, сети, свежесть и результаты последних синхронизаций. Проверять перед аналитикой.
Inputs: no named parameters.
x5_get_top_productsARead-onlyIdempotent
Частые товары по числу разных чеков, с количеством и последней покупкой. Фильтры периода, сети, категории.
Inputs: to (required), from (required), limit, network, +1 more.
x5_search_purchasesARead-onlyIdempotent
Локальный поиск по названию товара без учёта регистра, ё/е; фильтры дат, сети, категории; limit/offset.
Inputs: query (required), to, from, limit, +3 more.
x5_sync_historyAIdempotent
Загрузить чеки X5 в локальную SQLite. Сетевой запрос, обновляет локальный кэш. Первый запуск требует from/to; далее перекрытие 7 дней. Большой импорт запускайте CLI.
Inputs: to, from.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Each tool targets a distinct function: syncing, sync status, receipt browsing/detail, spending, product search, product history, top products, categories, category spending, and price changes. The two spending-related tools are clearly separated by receipt totals versus estimated category totals.
All names follow a consistent x5_ prefix and snake_case convention, with read operations predominantly using x5_get_* plus clearly distinct action verbs like x5_sync_history and x5_search_purchases. There is no mixing of naming styles.
Eleven tools is well within the ideal range and each tool contributes a clear part of the workflow: data ingestion, status checking, receipt access, and analytics. None feel redundant or unnecessary.
The surface covers the full local receipt analytics workflow: sync, verify sync status, list/read receipts, search products, and perform spending/category/price analysis. Minor limitations such as large imports being delegated to CLI and receipts with more than 500 line items not being paginated prevent a perfect score.
Maintenance
Related MCP Connectors
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Track expenses from your AI chat: log, categorize, monthly CSV reports. All data is local.
Personal finance ledger for AI agents — query spending, track bills, forecast cash flow.
Ask your AI about your own accounts, debts, budgets and goals. OAuth sign-in, read-only by default.
Related MCP Servers
- FlicenseAqualityDmaintenanceParses PDF receipts to extract grocery and shopping expenses, automatically categorizes items using smart rules and LLM fallback, and stores them in a local SQLite database for querying purchase history and spending patterns.3-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage personal expenses by adding, querying, and summarizing expense data through a SQLite database and configurable categories.1GPL 3.0
- AlicenseBqualityDmaintenanceEnables AI agents to interact with local SQLite databases with full CRUD, schema introspection, foreign key relations, generated columns, and multi-format import/export (CSV, JSON, XLSX) through natural language.2614 npmMIT
- FlicenseAqualityDmaintenanceEnables AI assistants to track, query, summarize, and delete personal expenses stored in a local SQLite database via natural language.4-