Skip to main content
Glama

Tally MCP

MCP (Model Context Protocol) サーバーであり、Claude を TallyPrime に直接接続します。Tally 組み込みの XML-HTTP ゲートウェイを使用します。Claude Desktop または Claude Code を Tally インスタンスに向けて、台帳の読み取り、試算表の取得、日帳の要約、または伝票の下書き(承認後に転記も)を依頼できます。手動でのエクスポート/インポートは一切不要です。

インドの勅許会計事務所によって開発・オープンソース化され、自社のクライアント会計ワークフローで使用されています。Tally Solutions または Anthropic とは公式には提携していません。

これでできること

接続すると、次のようなことを Claude に依頼できます。

  • 「2026年3月31日時点の試算表を見せて」

  • 「ABC Traders の台帳を取得して、最後の10件の仕訳を要約して」

  • 「GST税率18%のすべての在庫品目を一覧表示して」

  • 「今日付の売上伝票を作成: 売掛金 XYZ ₹1,18,000、売上 ₹1,00,000、Output CGST ₹9,000、Output SGST ₹9,000」 — Claude は最初にプレビューを表示します。承認するまで Tally には何も書き込まれません。

Related MCP server: Tally MCP Server

⚠️ 安全モデル — 使用前にお読みください

このコネクタは、開いている任意の Tally 会社に対して完全な読み取り/書き込みアクセスを持つことができます。保護は3層構造になっています。

  1. デフォルトでドライラン。 すべての書き込みツール(tally_create_voucher、tally_create_ledger、tally_create_stock_item)は、送信される正確な XML のプレビューを返し、"confirm": true を指定して呼び出されない限り Tally には何も行いません。ツールの説明は、Claude が常にプレビューを表示して先に承認を得るように指示します。ただし、承認する前に表示内容を読み、コントロールポイントとして Claude だけに頼らないでください。

  2. 会社ロック。 .env には TALLY_COMPANY_NAME が必要です。書き込みの前に、サーバーはこの正確な会社が Tally で開いているかどうかを再確認します。サーバー起動後に別の会社が開かれた場合、書き込みはブロックされ、黙ってリダイレクトされることはありません。

  3. 監査ログ。 すべてのツール呼び出し(読み取りまたは書き込み、ドライランまたは本番)は、audit/tally-mcp-audit.log に JSON 行として追記されます。タイムスタンプ、ツール、入力、送信した XML、Tally の応答、ステータスです。

グローバルキルスイッチもあります。.env で DRY_RUN_ONLY=true を設定すると、confirm に関係なくすべての書き込みツールがプレビュー専用モードに強制されます。実データに対して初めてテストするときに便利です。

これは、安全性を重視した統合のためのテンプレートであり、保証ではありません。 本番の会計データに接続する前に、特に src/tallyClient.ts と src/tools/writeTools.ts のコードを確認してください。

前提条件

  • Node.js 18+

  • ODBC/HTTP接続が有効な TallyPrime(Tally のゲートウェイ → F1(ヘルプ)→ 設定 → 接続 → HTTP を有効化、デフォルトポートは 9000)

  • 接続したい会社は、MCP サーバーを起動する前に Tally で開いている必要があります

セットアップ

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 に接続する

Claude Desktop の MCP 設定(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 を再起動します。接続済みのツール/MCP サーバーに "tally" が表示されるはずです。

Claude Code に接続する

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

環境変数は、シェル、ラッパースクリプト、または作業ディレクトリの .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 タイプは存在しますが、ツールはまだ接続されていません。既存の伝票を変更するには、Tally の XML スキーマで伝票番号による追加の検索ステップが必要です。PR 歓迎します。

  • 専用の GST レポートツール(GSTR-1/3B サマリー)はまだありません。現在は tally_get_daybook + tally_get_ledger でほとんどの照合ニーズをカバーできますが、専用の GST サマリーツールがあればさらに良いでしょう。

  • 認証情報はプレーンな .env です。ローカル/単一ユーザーでの使用には問題ありません。チームや複数のクライアントインスタンスに展開する場合は、適切なシークレットマネージャーを組み込むことを検討してください。

  • 実行中のサーバーインスタンスごとに単一の会社。.env の TALLY_COMPANY_NAME ロックは、Tally の会社ごとに1つのサーバープロセスを想定しています。マルチカンパニー対応(.env ロックの代わりに会社名を呼び出しごとのパラメータにする)は、興味があれば合理的なフェーズ2です。

上記のいずれかへの貢献も歓迎します — CONTRIBUTING.md を参照してください。

ライセンス

MIT — LICENSE を参照してください。このソフトウェアは実際の会計システムに接続します。ドライランのプレビューを確認し、自分自身の Tally 接続を保護する責任はあなたにあります。運用上のガイダンスは SECURITY.md を参照してください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for TallyPrime ERP that fixes common gaps such as hardcoded localhost, lack of connection diagnostics and dry-run safety, missing GST tools, and session state loss, providing a smoother integration with Claude Desktop.
    6
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that lets Claude read from and write to TallyPrime via its built-in XML/HTTP gateway.
    23
    3
    ISC
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server that connects Claude Desktop to TallyPrime, enabling natural-language auditing and analysis of accounting data directly from the local Tally installation.
    39
    19 npm
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    This MCP server enables users to read from and write to TallyPrime via its XML/HTTP gateway, supporting operations like ledger management, voucher creation, and financial report retrieval through natural language.
    87
    2
    -