Skip to main content
Glama

Tally MCP

Сервер MCP (Model Context Protocol), который подключает Claude напрямую к TallyPrime через встроенный XML-HTTP-шлюз Tally. Укажите Claude Desktop или Claude Code на ваш экземпляр Tally и попросите его прочитать счета, выгрузить пробный баланс, свести дневник операций или подготовить (и после вашего одобрения провести) ваучеры — всё без ручного экспорта/импорта.

Создано и опубликовано в открытом доступе индийской фирмой дипломированных бухгалтеров, которая использует его для собственных клиентских бухгалтерских рабочих процессов. Официально не связано с Tally Solutions или Anthropic.

Что с этим можно делать

После подключения вы можете просить Claude, например:

  • "Покажи пробный баланс на 31-03-2026"

  • "Выгрузи карточку счёта ABC Traders и обобщи последние 10 операций"

  • "Перечисли все товарные позиции со ставкой GST 18%"

  • "Создай ваучер продажи от сегодняшней даты: Debtor XYZ ₹1,18,000, Sales ₹1,00,000, Output CGST ₹9,000, Output SGST ₹9,000" — сначала Claude показывает предпросмотр; ничего не записывается в Tally, пока вы не одобрите.

Related MCP server: Tally MCP Server

⚠️ Модель безопасности — прочтите перед использованием

Этот коннектор может иметь полный доступ на чтение и запись к любой компании, открытой в Tally. Встроены три уровня защиты:

  1. По умолчанию выполняется пробный запуск (dry-run). Каждый инструмент записи (tally_create_voucher, tally_create_ledger, tally_create_stock_item) возвращает предпросмотр точного XML, который был бы отправлен, и ничего не делает с Tally, если не вызван с "confirm": true. Описания инструментов предписывают Claude всегда сначала показывать вам предпросмотр и получать ваше одобрение — но читайте то, что он показывает, перед одобрением; не полагайтесь на Claude как на единственную контрольную точку.

  2. Блокировка компании. В .env требуется TALLY_COMPANY_NAME. Перед любой записью сервер повторно проверяет, что в Tally открыта именно эта компания. Если с момента запуска сервера была открыта другая компания, запись блокируется, а не молча перенаправляется.

  3. Журнал аудита. Каждый вызов инструмента — чтение или запись, пробный или реальный — добавляется в audit/tally-mcp-audit.log в виде JSON Lines: временная метка, инструмент, входные данные, отправленный XML, ответ Tally и статус.

Также есть глобальный аварийный выключатель: установите DRY_RUN_ONLY=true в .env, чтобы принудительно перевести каждый инструмент записи в режим только предпросмотра независимо от confirm — полезно при первом тестировании на реальных данных.

Это шаблон безопасной интеграции, а не гарантия. Изучите код, особенно src/tallyClient.ts и src/tools/writeTools.ts, прежде чем использовать его с производственными бухгалтерскими данными.

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

  • Node.js 18+

  • TallyPrime с включённым подключением ODBC/HTTP (Gateway of Tally → F1 (Help) → Settings → Connectivity → включите HTTP, порт по умолчанию 9000)

  • Компания, к которой вы хотите подключиться, должна быть открыта в Tally до запуска MCP-сервера

Настройка

git clone https://github.com/<your-username>/tally-mcp.git
cd tally-mcp
npm install
cp .env.example .env

Отредактируйте .env:

TALLY_URL=http://localhost:9000
TALLY_COMPANY_NAME=<exact company name as shown in Tally>
DRY_RUN_ONLY=false

Соберите:

npm run build

Выполните смоук-тест — убедитесь, что сервер запускается без ошибок:

npm start
# Expect: [tally-mcp] Connected. Tally URL: ..., Company lock: "...", DRY_RUN_ONLY: false
# Ctrl+C to stop.

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

Добавьте в конфигурацию MCP Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "tally": {
      "command": "node",
      "args": ["/absolute/path/to/tally-mcp/dist/index.js"],
      "env": {
        "TALLY_URL": "http://localhost:9000",
        "TALLY_COMPANY_NAME": "Your Company Name",
        "DRY_RUN_ONLY": "false"
      }
    }
  }
}

Перезапустите Claude Desktop. Вы должны увидеть «tally» в списке подключённых инструментов/MCP-серверов.

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

claude mcp add tally -- node /absolute/path/to/tally-mcp/dist/index.js

Задайте переменные окружения через ваш shell, скрипт-обёртку или .env в рабочем каталоге (загружается автоматически через dotenv).

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

Чтение (подтверждение не требуется)

Инструмент

Назначение

tally_get_company_info

Перечисляет компании, открытые в Tally — используйте для проверки подключения

tally_list_ledgers

Полный план счетов с исходящими остатками

tally_get_ledger

Детализация отдельного счёта + история ваучеров

tally_get_daybook

Все ваучеры за диапазон дат

tally_get_trial_balance

Пробный баланс на дату

tally_list_stock_items

Список товарных позиций с количеством/ценой/HSN/GST

Запись (по умолчанию пробный запуск, требуется "confirm": true)

Инструмент

Назначение

tally_create_voucher

Продажа / Закупка / Оплата / Поступление / Журнал / Контра / Кредит-нота / Дебет-нота

tally_create_ledger

Новый мастер-счёт в родительской группе

tally_create_stock_item

Новая товарная позиция с HSN и ставкой GST

Архитектура

Claude (Desktop/Code)
      │  MCP protocol (stdio)
      ▼
tally-mcp server (Node.js/TypeScript)
      │  XML over HTTP
      ▼
TallyPrime (XML-HTTP gateway, default port 9000)
src/
├── index.ts              # MCP server entry point, tool registry
├── config.ts              # .env loading + validation
├── types.ts                # Shared TypeScript types
├── tallyClient.ts         # HTTP transport to Tally + company-lock check
├── zodToJsonSchema.ts     # Zod → MCP tool schema converter
├── xml/
│   ├── builder.ts         # Builds Tally XML requests
│   └── parser.ts          # Parses Tally XML responses
├── tools/
│   ├── readTools.ts       # Read-only tool handlers
│   └── writeTools.ts      # Write tool handlers (dry-run/confirm gate)
└── audit/
    └── auditLogger.ts     # Append-only JSONL audit trail

Известные ограничения / дорожная карта

  • Типы tally_alter_voucher существуют, но инструмент ещё не подключён — изменение существующего ваучера требует дополнительного шага поиска по номеру ваучера в XML-схеме Tally. PR приветствуются.

  • Отсутствует отдельный инструмент для отчётов по GST (сводка GSTR-1/3B) — tally_get_daybook + tally_get_ledger сейчас покрывают большинство потребностей в сверке, но специализированный инструмент для сводки по GST был бы хорошим дополнением.

  • Учётные данные хранятся в обычном .env. Это нормально для локального/однопользовательского использования; если вы разворачиваете это для команды или нескольких клиентских инстансов, рассмотрите вместо этого подключение полноценного менеджера секретов.

  • Одна компания на работающий экземпляр сервера — блокировка TALLY_COMPANY_NAME в .env предполагает один серверный процесс на компанию Tally. Поддержка нескольких компаний (название компании как параметр каждого вызова вместо блокировки .env) — разумный этап 2, если будет интерес.

Вклад по любому из перечисленных пунктов приветствуется — см. CONTRIBUTING.md.

Лицензия

MIT — см. LICENSE. Это программное обеспечение подключается к работающей бухгалтерской системе; вы несёте ответственность за проверку предпросмотров в режиме dry-run и за защиту собственного подключения к Tally. Операционные рекомендации см. в SECURITY.md.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for TallyPrime ERP that fixes common gaps such as hardcoded localhost, lack of connection diagnostics and dry-run safety, missing GST tools, and session state loss, providing a smoother integration with Claude Desktop.
    6
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that lets Claude read from and write to TallyPrime via its built-in XML/HTTP gateway.
    23
    3
    ISC
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server that connects Claude Desktop to TallyPrime, enabling natural-language auditing and analysis of accounting data directly from the local Tally installation.
    39
    19 npm
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    This MCP server enables users to read from and write to TallyPrime via its XML/HTTP gateway, supporting operations like ledger management, voucher creation, and financial report retrieval through natural language.
    87
    2
    -