Skip to main content
Glama

Tally MCP

Ein MCP (Model Context Protocol)-Server, der Claude direkt mit TallyPrime verbindet und dabei Tallys integriertes XML-HTTP-Gateway nutzt. Richten Sie Claude Desktop oder Claude Code auf Ihre Tally-Instanz und bitten Sie darum, Ledger zu lesen, eine Probebilanz abzurufen, ein Tagebuch zusammenzufassen oder Belege zu entwerfen (und nach Ihrer Freigabe zu buchen) – alles ohne manuellen Export/Import.

Entwickelt und als Open Source veröffentlicht von einer Chartered-Accountancy-Kanzlei in Indien, die es für ihre eigenen Mandantenbuchhaltungsabläufe nutzt. Nicht offiziell mit Tally Solutions oder Anthropic verbunden.

Was Sie damit tun können

Sobald die Verbindung steht, können Sie Claude zum Beispiel Folgendes fragen:

  • „Zeig mir die Probebilanz zum 31.03.2026“

  • „Ruf das Ledger für ABC Traders ab und fass die letzten 10 Buchungen zusammen“

  • „Liste alle Lagerartikel mit 18 % GST-Satz auf“

  • „Erstelle einen Verkaufsbeleg mit heutigem Datum: Debitor XYZ ₹1,18,000, Umsatz ₹1,00,000, Ausgangs-CGST ₹9,000, Ausgangs-SGST ₹9,000“ – Claude zeigt Ihnen zuerst eine Vorschau; in Tally wird erst dann etwas geschrieben, wenn Sie es freigeben.

⚠️ Sicherheitsmodell – vor der Verwendung lesen

Dieser Connector kann vollen Lese-/Schreibzugriff auf die jeweils in Tally geöffnete Firma haben. Es sind drei Schutzebenen eingebaut:

  1. Trockenlauf (Dry-Run) standardmäßig. Jedes Schreib-Tool (tally_create_voucher, tally_create_ledger, tally_create_stock_item) gibt eine Vorschau des genauen XML zurück, das gesendet würde, und tut nichts in Tally, sofern es nicht mit "confirm": true aufgerufen wird. Die Tool-Beschreibungen weisen Claude an, Ihnen immer zuerst die Vorschau zu zeigen und Ihre Freigabe einzuholen – aber lesen Sie, was Ihnen angezeigt wird, bevor Sie freigeben; verlassen Sie sich nicht allein auf Claude als Kontrollinstanz.

  2. Firmensperre. Die .env-Datei verlangt TALLY_COMPANY_NAME. Vor jedem Schreibvorgang prüft der Server erneut, ob genau diese Firma in Tally geöffnet ist. Falls seit dem Serverstart eine andere Firma geöffnet wurde, wird der Schreibvorgang blockiert, nicht stillschweigend umgeleitet.

  3. Audit-Protokoll. Jeder Tool-Aufruf – lesend oder schreibend, Trockenlauf oder echt – wird als JSON-Zeilen an audit/tally-mcp-audit.log angehängt: Zeitstempel, Tool, Eingaben, gesendetes XML, Tallys Antwort und Status.

Es gibt auch einen globalen Notausschalter: Setzen Sie DRY_RUN_ONLY=true in der .env-Datei, um jedes Schreib-Tool unabhängig von confirm in den Vorschau-Modus zu zwingen – nützlich beim ersten Testen mit echten Daten.

Dies ist eine Vorlage für eine sicherheitsbewusste Integration, keine Garantie. Prüfen Sie den Code, insbesondere src/tallyClient.ts und src/tools/writeTools.ts, bevor Sie ihn auf Produktionsbuchhaltungsdaten richten.

Voraussetzungen

  • Node.js 18+

  • TallyPrime mit aktivierter ODBC/HTTP-Konnektivität (Gateway of Tally → F1 (Hilfe) → Einstellungen → Konnektivität → HTTP aktivieren, Standardport 9000)

  • Die Firma, mit der Sie sich verbinden möchten, muss geöffnet sein, bevor Sie den MCP-Server starten.

Einrichtung

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

Bearbeiten Sie .env:

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

Erstellen:

npm run build

Prüfen Sie per Rauchtest, dass es sauber startet:

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

Mit Claude Desktop verbinden

Fügen Sie Folgendes zu Ihrer Claude Desktop MCP-Konfiguration hinzu (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"
      }
    }
  }
}

Starten Sie Claude Desktop neu. Sie sollten unter den verbundenen Tools/MCP-Servern „tally“ sehen.

Mit Claude Code verbinden

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

Setzen Sie die Umgebungsvariablen über Ihre Shell, ein Wrapper-Skript oder eine .env-Datei im Arbeitsverzeichnis (wird automatisch über dotenv geladen).

Tool-Referenz

Lesen (keine Bestätigung erforderlich)

Tool

Zweck

tally_get_company_info

In Tally geöffnete Firmen auflisten – zur Überprüfung der Konnektivität verwenden

tally_list_ledgers

Vollständiger Kontenplan mit Endsalden

tally_get_ledger

Einzelnes Ledger-Detail + Belegverlauf

tally_get_daybook

Alle Belege in einem Datumsbereich

tally_get_trial_balance

Probebilanz zu einem Stichtag

tally_list_stock_items

Lagerliste mit Menge/Preis/HSN/GST

Schreiben (standardmäßig Trockenlauf, erfordert "confirm": true)

Tool

Zweck

tally_create_voucher

Verkauf / Einkauf / Zahlung / Einnahme / Journal / Contra / Gutschrift / Belastungsnote

tally_create_ledger

Neues Ledger-Stammkonto unter einer übergeordneten Gruppe

tally_create_stock_item

Neuer Lagerartikel mit HSN- und GST-Satz

Architektur

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

Bekannte Einschränkungen / Roadmap

  • tally_alter_voucher-Typen existieren, aber das Tool ist noch nicht angebunden – das Ändern eines vorhandenen Belegs erfordert einen zusätzlichen Schritt zum Nachschlagen der Belegnummer im XML-Schema von Tally. Pull Requests sind willkommen.

  • Noch kein dediziertes GST-Berichtstool (GSTR-1/3B-Zusammenfassung) – tally_get_daybook + tally_get_ledger decken die meisten Abstimmungsanforderungen heute ab, aber ein speziell entwickeltes GST-Zusammenfassungstool wäre eine sinnvolle Ergänzung.

  • Zugangsdaten liegen im Klartext in .env. Für den lokalen/Einzelbenutzer-Einsatz in Ordnung; wenn Sie dies für ein Team oder mehrere Mandanteninstanzen bereitstellen, sollten Sie stattdessen einen ordentlichen Secrets-Manager anbinden.

  • Eine einzelne Firma pro laufende Serverinstanz – die TALLY_COMPANY_NAME-Sperre in .env geht von einem Serverprozess pro Tally-Firma aus. Multi-Firmen-Unterstützung (Firmenname als Parameter pro Aufruf anstelle einer .env-Sperre) ist eine sinnvolle Phase 2, falls Interesse besteht.

Beiträge zu jedem der oben genannten Punkte sind willkommen – siehe CONTRIBUTING.md.

Lizenz

MIT – siehe LICENSE. Diese Software verbindet sich mit einem Live-Buchhaltungssystem; Sie sind dafür verantwortlich, Trockenlauf-Vorschauen zu prüfen und Ihre eigene Tally-Verbindung zu sichern. Siehe SECURITY.md für betriebliche Hinweise.

-
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