PNPC-MCP-Tally-Prime
PNPC-MCP-Tally-Prime
Сервер Model Context Protocol (MCP), который позволяет Claude читать и записывать данные в TallyPrime через встроенный XML/HTTP-шлюз.
Форк от vaijaaaaa/Tally-MCP-Server (лицензия ISC) для внутреннего использования PNPC. См. LICENSE для уведомления оригинального автора.
Как это работает
Claude Desktop <--stdio--> ┐
├─ this MCP server <--HTTP/XML--> TallyPrime (localhost:9000)
Remote MCP client <--HTTP--> ┘Локально Claude Desktop запускает этот сервер как процесс stdio. Удалённо он также может работать как HTTP-сервер. В любом случае вызовы инструментов преобразуются в формат XML-запросов Tally, отправляются на HTTP-шлюз Tally и возвращаются в виде очищенного JSON. Также имеется опциональный локальный SQL-кэш (PGLite) для произвольных запросов, выходящих за рамки фиксированных инструментов отчётов.
Предварительные требования
Node.js 18+
TallyPrime установлен, запущен, открыта компания
HTTP-шлюз Tally включён:
F1 (Help) > Settings > Connectivity > Client/Server configurationи установите TallyPrime acts as вBothилиServer, порт9000(по умолчанию).
Настройка
npm install
npm run buildНастройка Claude Desktop
Вариант A — Расширение (рекомендуется): упакуйте как .dxt и установите одним кликом. См. docs/EXTENSION_PACKAGING.md.
Вариант B — ручная настройка: отредактируйте файл конфигурации Claude Desktop:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Добавьте:
{
"mcpServers": {
"pnpc-tally": {
"command": "C:\\Users\\Lokesh\\node20\\node.exe",
"args": ["C:\\Users\\Lokesh\\PNPC-MCP-Tally-Prime\\dist\\index.js"],
"env": {
"TALLY_URL": "http://localhost:9000"
}
}
}
}Перезапустите Claude Desktop. Вы должны увидеть значок молотка/инструментов, указывающий, что сервер pnpc-tally подключён.
Доступные инструменты
Всего 17 инструментов — чтение (ledgers, stock, groups, voucher types, cost centres, day book, ledger vouchers, company info, P&L, balance sheet, trial balance, stock summary, bills receivable/payable), запись (create ledger, group, stock item, voucher) и SQL-кэш (sync_to_sql, query_sql). Полная справка с аргументами: docs/TOOLS.md.
Даты используют формат DD-MM-YYYY, соответствующий соглашению Tally.
Удалённый запуск (HTTP)
TALLY_MCP_TOKEN=<secret> npm run start:httpДокументация
docs/ARCHITECTURE.md — поток запросов, обязанности файлов
docs/TALLY_XML_GUIDE.md — как работает XML-шлюз Tally, подводные камни
docs/TOOLS.md — полная справка по инструментам + как добавить новый инструмент
docs/HTTP_DEPLOYMENT.md — запуск как удалённый HTTP-сервер
docs/EXTENSION_PACKAGING.md — упаковка как расширение
.dxtдля Claude Desktop
Структура проекта
src/
tally.ts Tally HTTP client: sends XML, handles connection/timeout errors
clean.ts Normalizes Tally's raw XML->JSON into predictable JSON
templates.ts Renders the Nunjucks XML templates in templates/
db.ts PGLite SQL cache: sync_to_sql / query_sql
tools.ts MCP tool definitions + XML request builders
server.ts Shared MCP Server construction (used by both entry points)
index.ts stdio entry point (local Claude Desktop)
http-server.ts HTTP entry point (remote clients)
templates/
*.xml.njk Nunjucks templates for each Tally XML request shape
manifest.json Claude Desktop Extension (.dxt) manifestПеременные окружения
Переменная | По умолчанию | Назначение |
|
| Адрес HTTP-шлюза Tally |
|
| Порт для |
| (unset) | Токен Bearer, требуемый на конечной точке |
Устранение неполадок
"Could not reach TallyPrime" — Tally не запущен, или HTTP-шлюз не включён на порту 9000.
"Tally returned an empty response" — Tally запущен, но не открыта ни одна компания.
create_ledger/create_voucherзавершается с ошибками — проверьте, что имена родительской группы / счета точно совпадают с существующими в Tally (имена чувствительны к регистру и должны совпадать точно).
План развития / пока не поддерживается
Редактирование или удаление существующих ваучеров/счетов/мастер-записей
Инвентарные ваучеры (Stock Journal, Manufacturing Journal и т.д.)
Специфические для GST отчёты (GSTR-1, GSTR-3B)
Поддержка нескольких компаний (в настоящее время всегда работает с открытой компанией)
This server cannot be installed
Maintenance
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
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lokesh-sparrow/PNPC-MCP-Tally-Prime'
If you have feedback or need assistance with the MCP directory API, please join our Discord server