Tally MCP server

Ask an AI assistant about your books. The server speaks the Model Context Protocol, so Claude, Cursor and other MCP clients can read balances, statements, the trial balance, outstanding bills, the day book and stock of the companies you synced, in a conversation.

Endpoint https://acc.ejiapi.com/mcp (Streamable HTTP). It uses your own accounting key (acc_…), the same one as the REST API, so the assistant sees exactly the companies your key may read and nothing else. Finance keys do not work here; the finance MCP server is at fin.ejiapi.com/mcp-server.

Connect

claude mcp add --transport http eji-tally https://acc.ejiapi.com/mcp \
  --header "x-api-key: YOUR_ACC_KEY"
{
  "mcpServers": {
    "eji-tally": {
      "url": "https://acc.ejiapi.com/mcp",
      "headers": { "x-api-key": "YOUR_ACC_KEY" }
    }
  }
}
{
  "mcpServers": {
    "eji-tally": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://acc.ejiapi.com/mcp",
               "--header", "x-api-key:${EJI_ACC_KEY}"],
      "env": { "EJI_ACC_KEY": "YOUR_ACC_KEY" }
    }
  }
}
Claude Desktop reaches remote servers through the mcp-remote helper, which needs Node.js. Your key reads your accounts: keep it out of shared config files and repositories, and prefer a key limited to the companies the assistant needs.

Try without a key

Connect without the header and every tool reads Demo Traders Pvt Ltd, the made-up company of the explorer. Answers then carry "demo": true.

Claude Code, demo
claude mcp add --transport http eji-tally-demo https://acc.ejiapi.com/mcp

Tools

All tools are read-only. Amounts are debit-positive: a debit balance is positive, a credit balance negative. Pass company as an id or name from tally_list_companies, or - when your key reads one company.

ToolWhat it does
tally_list_companiesCompanies your key can read, with last sync time.
tally_company_summaryCounts of ledgers and vouchers, first and last voucher date.
tally_list_groupsAccount groups with parent, primary group and nature.
tally_list_ledgersLedgers with balance, GSTIN and state; filter by group or text.
tally_get_ledgerOne ledger's balance on a date, with its details.
tally_get_balancesBalances of many ledgers in one call.
tally_ledger_statementEntries between two dates with running balance; long statements keep the latest rows.
tally_trial_balanceTrial balance on a date, by group or by ledger.
tally_group_totalDebits, credits, net and closing of a group in a period (sales, purchases, expenses).
tally_day_bookVouchers of a period with lines and items; page with offset.
tally_outstandingOpen bills with due dates and days overdue, per party; optionally overdue only.
tally_stock_itemsStock items with unit, HSN and closing quantity.
tally_stock_movementQuantity and value in and out of an item in a period.

Example questions

Your data

Tally and TallyPrime are trademarks of Tally Solutions Pvt. Ltd. EJI API is an independent product and is not affiliated with or endorsed by Tally Solutions.