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, пока вы не одобрите.

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

Этот коннектор может иметь полный доступ на чтение и запись к любой компании, открытой в 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.

-
license - not tested
-
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 Connectors

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

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

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

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/sameerprofessional00-ctrl/TALLY_MCP_FOR_CLAUDE'

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