PNPC-MCP-Tally-Prime
PNPC-MCP-Tally-Prime
Un servidor de Model Context Protocol (MCP) que permite a Claude leer y escribir en TallyPrime a través de su puerta de enlace XML/HTTP integrada.
Bifurcado de vaijaaaaa/Tally-MCP-Server (con licencia ISC) para uso interno de PNPC. Consulta LICENSE para el aviso del autor original.
Cómo funciona
Claude Desktop <--stdio--> ┐
├─ this MCP server <--HTTP/XML--> TallyPrime (localhost:9000)
Remote MCP client <--HTTP--> ┘Localmente, Claude Desktop inicia este servidor como un proceso stdio. De forma remota, también puede ejecutarse como un servidor HTTP. En cualquier caso, las llamadas a herramientas se traducen al formato de solicitud XML de Tally, se envían a la puerta de enlace HTTP de Tally y se devuelven como JSON depurado. También hay una caché SQL local opcional (PGLite) para consultas ad hoc más allá de las herramientas de informes fijas.
Requisitos previos
Node.js 18+
TallyPrime instalado, en ejecución, con una empresa abierta
La puerta de enlace HTTP de Tally habilitada:
F1 (Help) > Settings > Connectivity > Client/Server configurationy establecer TallyPrime acts as aBothoServer, puerto9000(predeterminado).
Configuración
npm install
npm run buildConfigurar Claude Desktop
Opción A — Extensión (recomendada): empaquetar como .dxt e instalar con un clic. Consulta docs/EXTENSION_PACKAGING.md.
Opción B — configuración manual: edita tu archivo de configuración de Claude Desktop:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Añade:
{
"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"
}
}
}
}Reinicia Claude Desktop. Deberías ver un icono de martillo/herramientas que indica que el servidor pnpc-tally está conectado.
Herramientas disponibles
17 herramientas en total — lectura (ledgers, stock, grupos, tipos de comprobante, centros de costo, libro diario, comprobantes de ledger, información de empresa, P&L, balance de situación, balance de comprobación, resumen de stock, cuentas por cobrar/pagar), escritura (crear ledger, grupo, artículo de stock, comprobante) y caché SQL (sync_to_sql, query_sql). Referencia completa con argumentos: docs/TOOLS.md.
Las fechas usan el formato DD-MM-YYYY, coincidiendo con la convención de Tally.
Ejecución remota (HTTP)
TALLY_MCP_TOKEN=<secret> npm run start:httpConsulta docs/HTTP_DEPLOYMENT.md.
Documentación
docs/ARCHITECTURE.md — flujo de solicitudes, responsabilidades de archivos
docs/TALLY_XML_GUIDE.md — cómo funciona la puerta de enlace XML de Tally, problemas comunes
docs/TOOLS.md — referencia completa de herramientas + cómo añadir una nueva herramienta
docs/HTTP_DEPLOYMENT.md — ejecución como servidor HTTP remoto
docs/EXTENSION_PACKAGING.md — empaquetado como extensión
.dxtde Claude Desktop
Estructura del proyecto
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) manifestVariables de entorno
Variable | Default | Propósito |
|
| Dirección de la puerta de enlace HTTP de Tally |
|
| Puerto para |
| (unset) | Token Bearer requerido en el endpoint |
Solución de problemas
"No se pudo alcanzar TallyPrime" — Tally no está en ejecución, o la puerta de enlace HTTP no está habilitada en el puerto 9000.
"Tally devolvió una respuesta vacía" — Tally está en ejecución pero no hay ninguna empresa abierta.
create_ledger/create_voucherfalla con errores — verifica que los nombres del grupo principal / ledger coincidan exactamente con lo que existe en Tally (los nombres distinguen entre mayúsculas y minúsculas y deben coincidir exactamente).
Hoja de ruta / aún no compatible
Editar o eliminar comprobantes/ledgers/maestros existentes
Comprobantes de inventario (Stock Journal, Manufacturing Journal, etc.)
Informes específicos de GST (GSTR-1, GSTR-3B)
Soporte multiempresa (actualmente siempre apunta a la empresa que esté abierta)
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