Skip to main content
Glama
ComplyEaze

ComplyEaze Bridge: TallyPrime MCP server for Claude Desktop

Official

tally_status

Read-only

Check Tally endpoint status and loaded company identity before reads or posts; see if the port is busy or locked and get retry guidance.

Instructions

Return loopback endpoint status and observed loaded-company identity tuples. Every ComplyEaze Bridge process on this computer (the desktop app and each AI client) sends to one Tally port one request at a time. Any tool that reads may therefore refuse, having sent nothing: tally_endpoint_busy when another ComplyEaze Bridge window or AI client held the port for longer than this call's bounded wait (about 10 seconds in all per call); it carries retry_after_s, and the same call is safe to repeat after that many seconds. post_import can be refused the same way, but only repeat it when the refusal says attempt_recorded is false; once an attempt is recorded, follow the refusal's next_step (verify_import) and never call post_import again. tally_endpoint_lock_unavailable when ComplyEaze Bridge could not open its local coordination file. today is this computer's calendar date (YYYYMMDD), the date outstandings uses when as_of is left out, and ledger_masters with fields=compliance for party_gstin. Each call appends metadata-only receipt lines (tool, company, counts, request and response fingerprints; no book content) to ComplyEaze Bridge's local log on this computer; it writes nothing to Tally.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: single-request-at-a-time concurrency across all Bridge processes, a ~10 second bounded per-call wait, the tally_endpoint_busy and tally_endpoint_lock_unavailable failure modes, the retry_after_s field, and the metadata-only local receipt log with an explicit 'writes nothing to Tally' guarantee. This is exactly the behavioral context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose well, but the body is a dense run-on spanning error codes, retry rules, and a `today` explanation that mostly concerns outstandings and ledger_masters rather than this tool. The date discussion is scope creep on a zero-parameter status probe and dilutes the core message.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-param read-only probe with no output schema, the description covers failure modes, retry policy, and side effects (local receipt log, no Tally writes) adequately. It never describes the shape of the returned status/identity tuple, which is the one remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the baseline is 4; the description instead documents the derived `today` value (this computer's calendar date, YYYYMMDD) that other tools consume. That is useful context but is not parameter semantics for this tool itself, so it stays at baseline rather than exceeding it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Return loopback endpoint status and observed loaded-company identity tuples.' An agent can tell this is a health/status probe distinct from the data-reading siblings, though the phrasing is jargon-heavy and no sibling is named as an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the contention model clearly and when refusals occur (another ComplyEaze Bridge process holding the port), plus what to do: retry after retry_after_s for reads, and for post_import only when attempt_recorded is false, otherwise follow verify_import. It does not explicitly frame which situations should trigger calling this tool first, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.