Tally MCP
Tally MCP
Un servidor MCP (Model Context Protocol) que conecta a Claude directamente con TallyPrime, usando la pasarela XML-HTTP integrada de Tally. Apunta Claude Desktop o Claude Code a tu instancia de Tally y pídele que lea libros mayores, obtenga un balance de comprobación, resuma un libro diario o redacte (y, una vez que lo apruebes, contabilice) comprobantes — todo sin exportación/importación manual.
Desarrollado y publicado como código abierto por una firma de contadores colegiados en la India que lo utiliza para sus propios flujos de trabajo contables de clientes. No está afiliado oficialmente a Tally Solutions ni a Anthropic.
Qué puedes hacer con él
Una vez conectado, puedes pedirle a Claude cosas como:
"Muéstrame el balance de comprobación al 31-03-2026"
"Obtén el libro mayor de ABC Traders y resume las últimas 10 entradas"
"Enumera todos los artículos de inventario con tasa GST del 18%"
"Crea un comprobante de venta con fecha de hoy: Deudor XYZ ₹1,18,000, Ventas ₹1,00,000, CGST de salida ₹9,000, SGST de salida ₹9,000" — Claude te muestra primero una vista previa; no se escribe nada en Tally hasta que lo apruebes.
⚠️ Modelo de seguridad: léelo antes de usarlo
Este conector puede tener acceso total de lectura/escritura a la empresa de Tally que esté abierta. Hay tres capas de protección integradas:
Simulación por defecto. Cada herramienta de escritura (
tally_create_voucher,tally_create_ledger,tally_create_stock_item) devuelve una vista previa del XML exacto que enviaría y no hace nada en Tally a menos que se llame con"confirm": true. Las descripciones de las herramientas indican a Claude que siempre te muestre la vista previa y que obtenga primero tu visto bueno — pero lee lo que te muestra antes de aprobar; no confíes únicamente en Claude como punto de control.Bloqueo de empresa. El
.envexigeTALLY_COMPANY_NAME. Antes de cualquier escritura, el servidor vuelve a comprobar que esa empresa exacta es la que está abierta en Tally. Si se ha abierto una empresa diferente desde que el servidor se inició, la escritura se bloquea, no se redirige silenciosamente.Registro de auditoría. Cada llamada a una herramienta (lectura o escritura, simulación o real) se añade a
audit/tally-mcp-audit.logcomo líneas JSON: marca de tiempo, herramienta, entradas, XML enviado, respuesta de Tally y estado.
También hay un interruptor global de apagado: establece DRY_RUN_ONLY=true en .env para forzar que todas las herramientas de escritura entren en modo solo vista previa independientemente de confirm — útil mientras pruebas contra datos reales por primera vez.
Esto es una plantilla para una integración consciente de la seguridad, no una garantía. Revisa el código, especialmente src/tallyClient.ts y src/tools/writeTools.ts, antes de conectarlo a datos contables de producción.
Requisitos previos
Node.js 18+
TallyPrime con conectividad ODBC/HTTP habilitada (Gateway of Tally → F1 (Ayuda) → Configuración → Conectividad → habilitar HTTP, puerto predeterminado 9000)
La empresa a la que quieras conectarte debe estar abierta en Tally antes de iniciar el servidor MCP
Configuración
git clone https://github.com/<your-username>/tally-mcp.git
cd tally-mcp
npm install
cp .env.example .envEdita .env:
TALLY_URL=http://localhost:9000
TALLY_COMPANY_NAME=<exact company name as shown in Tally>
DRY_RUN_ONLY=falseCompila:
npm run buildHaz una prueba de humo para confirmar que se inicia correctamente:
npm start
# Expect: [tally-mcp] Connected. Tally URL: ..., Company lock: "...", DRY_RUN_ONLY: false
# Ctrl+C to stop.Conectar con Claude Desktop
Añade esto a la configuración MCP de 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"
}
}
}
}Reinicia Claude Desktop. Deberías ver "tally" en la lista de herramientas/servidores MCP conectados.
Conectar con Claude Code
claude mcp add tally -- node /absolute/path/to/tally-mcp/dist/index.jsConfigura las variables de entorno mediante tu shell, un script envoltorio o .env en el directorio de trabajo (se carga automáticamente mediante dotenv).
Referencia de herramientas
Lectura (sin necesidad de confirmación)
Herramienta | Propósito |
| Enumera las empresas abiertas en Tally: úsalo para verificar la conectividad |
| Plan contable completo con saldos de cierre |
| Detalle de un libro mayor + historial de comprobantes |
| Todos los comprobantes en un rango de fechas |
| Balance de comprobación a una fecha |
| Lista de inventario con cantidad/precio/HSN/GST |
Escritura (simulación por defecto, requiere "confirm": true)
Herramienta | Propósito |
| Venta / Compra / Pago / Cobro / Diario / Contra / Nota de crédito / Nota de débito |
| Nuevo maestro de libro mayor bajo un grupo padre |
| Nuevo artículo de inventario con HSN + tasa GST |
Arquitectura
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 trailLimitaciones conocidas / hoja de ruta
Los tipos de
tally_alter_voucherexisten, pero la herramienta aún no está conectada; modificar un comprobante existente requiere un paso adicional de búsqueda por número de comprobante en el esquema XML de Tally. Se aceptan PRs.Aún no hay una herramienta específica de informes GST (resumen GSTR-1/3B) —
tally_get_daybook+tally_get_ledgercubren la mayoría de las necesidades de conciliación actuales, pero una herramienta de resumen GST creada para ello sería una buena adición.Las credenciales son un
.envsin cifrar. Está bien para uso local o de un solo usuario; si vas a desplegarlo para un equipo o varias instancias de clientes, considera conectar un gestor de secretos adecuado en su lugar.Una sola empresa por instancia de servidor en ejecución — el bloqueo de
TALLY_COMPANY_NAMEen.envasume un proceso de servidor por empresa de Tally. El soporte multiempresa (nombre de la empresa como parámetro por llamada en lugar de un bloqueo en.env) es una fase 2 razonable si hay interés.
Las contribuciones sobre cualquiera de los puntos anteriores son bienvenidas; consulta CONTRIBUTING.md.
Licencia
MIT — consulta LICENSE. Este software se conecta a un sistema contable en vivo; eres responsable de revisar las vistas previas de simulación y de proteger tu propia conexión con Tally. Consulta SECURITY.md para obtener orientación operativa.
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
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
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/sameerprofessional00-ctrl/TALLY_MCP_FOR_CLAUDE'
If you have feedback or need assistance with the MCP directory API, please join our Discord server