TallyPrime MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TALLY_HOST | No | Where TallyPrime's HTTP-XML gateway is listening | 127.0.0.1 |
| TALLY_PORT | No | Gateway port | 9000 |
| TALLY_LOG_DIR | No | Directory for rotating log files | |
| TALLY_LOG_LEVEL | No | Python logging level | INFO |
| TALLY_READ_ONLY | No | Always true in this release | true |
| TALLY_DEFAULT_COMPANY | No | Company to use when a tool call doesn't specify one | |
| TALLY_TIMEOUT_SECONDS | No | Per-request timeout | 30 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| test_connectionA | Check whether TallyPrime is running and reachable at the configured host/port, and whether it responded with valid data. Use this first if any other tool call fails unexpectedly. |
| list_companiesA | List the companies currently loaded/available in TallyPrime. |
| list_ledgersA | List ledger accounts, with their group, opening balance, and closing balance. Args: company: Company name. If omitted, uses the server's configured default company (if any). search: Optional case-insensitive substring to filter ledger or group names by. |
| get_ledgerA | Get a ledger's master details plus its transactions (vouchers) in a date range. Args: ledger_name: Exact ledger name as it appears in TallyPrime. company: Company name. If omitted, uses the configured default. from_date: Start date, ISO format YYYY-MM-DD. Optional. to_date: End date, ISO format YYYY-MM-DD. Optional. |
| search_vouchersA | Search accounting vouchers (invoices, receipts, payments, journals, ...) by date range, type, party ledger, or free-text term. Args: company: Company name. If omitted, uses the configured default. from_date: Start date, ISO format YYYY-MM-DD. Optional. to_date: End date, ISO format YYYY-MM-DD. Optional. voucher_type: Exact voucher type name, e.g. "Receipt", "Payment", "Sales". Optional. ledger: Substring to match against the voucher's party ledger. Optional. search_term: Free-text substring matched against all fields (narration, reference, etc). Optional. limit: Maximum number of vouchers to return. Defaults to the server's configured default (100 unless overridden). |
| get_voucherA | Get a single voucher by its voucher number. Args: voucher_identifier: The voucher number as it appears in TallyPrime. company: Company name. If omitted, uses the configured default. |
| get_trial_balanceA | Get a trial balance: every ledger with a non-zero closing balance, split into debit/credit columns, with totals. Args: company: Company name. If omitted, uses the configured default. from_date: Start date, ISO format YYYY-MM-DD. Currently informational only — closing balances reflect TallyPrime's current ledger state rather than a point-in-time reconstruction; see docs/tools.md. to_date: End date, ISO format YYYY-MM-DD. Same caveat as from_date. |
| get_profit_and_lossA | Get a simplified Profit & Loss statement, grouping income and expense ledgers by their standard Tally primary group. Args: company: Company name. If omitted, uses the configured default. from_date: Start date, ISO format YYYY-MM-DD. to_date: End date, ISO format YYYY-MM-DD. |
| get_balance_sheetA | Get a simplified Balance Sheet, grouping asset and liability ledgers by their standard Tally primary group. Args: company: Company name. If omitted, uses the configured default. as_of_date: Date, ISO format YYYY-MM-DD. Currently informational only — see docs/tools.md. |
| get_receivablesA | Get outstanding receivables: ledgers under 'Sundry Debtors' with a non-zero balance owed to the company. Args: company: Company name. If omitted, uses the configured default. as_of_date: Date, ISO format YYYY-MM-DD. Currently informational only — see docs/tools.md. |
| get_payablesB | Get outstanding payables: ledgers under 'Sundry Creditors' with a non-zero balance owed by the company. Args: company: Company name. If omitted, uses the configured default. as_of_date: Date, ISO format YYYY-MM-DD. Currently informational only — see docs/tools.md. |
| list_stock_itemsA | List stock (inventory) items with opening/closing quantity and value. Args: company: Company name. If omitted, uses the configured default. search: Optional case-insensitive substring to filter item names by. |
| get_stock_summaryA | Get an aggregate stock summary across all items for a company. Args: company: Company name. If omitted, uses the configured default. from_date: Start date, ISO format YYYY-MM-DD. Currently informational only — see docs/tools.md. to_date: End date, ISO format YYYY-MM-DD. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| trial_balance_report | Ask for a trial balance for a company and date range. |
| cash_position_check | Ask for a quick summary of receivables vs payables. |
| ledger_statement | Ask for a specific ledger's statement over a date range. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| companies_resource | Companies currently loaded/available in TallyPrime, as JSON. |
| config_resource | The server's current (non-secret) connection configuration, as JSON. No credentials are exposed here because none are currently configurable — TallyPrime's local HTTP-XML gateway does not require authentication for local connections in the setups this project targets. See docs/security.md. |
TDQS
Scored across 13 tools
Each tool targets a distinct resource or report: get_voucher retrieves by number while search_vouchers filters by criteria, list_ledgers gives an overview while get_ledger adds transaction detail, and receivables/payables are clearly separated. There is no meaningful overlap or ambiguity between tools.
Tool names consistently follow a verb_noun pattern with get_, list_, or search_ prefixes, and all names use snake_case. Even multi-word targets like profit_and_loss and balance_sheet fit the same convention.
Thirteen tools is well-scoped for a read-only accounting data server: masters, transactions, financial reports, receivables/payables, stock, and connection diagnostics each get one or two focused tools. No tool feels redundant or out of place.
The tool surface covers the full read-only lifecycle for Tally data: company discovery, ledger masters and balances, voucher retrieval and search, key financial statements, receivables/payables, and stock summaries. There are no obvious dead ends or critical missing operations for the apparent purpose.