Skip to main content
Glama
1c-odata-mcp

1c-odata-mcp

by foxnaim

Откуда сложилось сальдо

read.accounting.get_balance_origin
Read-only

Identify source documents that make up an account balance as of a date and determine since when the balance has held, using 1C settlement balances or movement history for old items.

Instructions

Из каких документов состоит остаток по счёту на дату и с какого времени он висит — для старых хвостов, которых не видно в карточке за месяц. Где учёт ведётся по документам расчётов (62, 60, 76 в БП), состав — из сальдо 1С (method = documents). Иначе — по истории движений (method = movements): момент, с которого остаток держится непрерывно, и доля каждого документа, дожившая до даты; поиск назад до maxYears лет. since — дата самого старого документа остатка, documentCreatedAt — когда документ создан. Отбор: counterpartyRef — контрагент, dimensionRef — договор, номенклатура, банковский счёт.

Input Schema

NameRequiredDescriptionDefault
asOfNoОстаток на конец этой даты (без параметра — сегодня) (YYYY-MM-DD)
accountYesКод счёта или префикс субсчетов
databaseNoИмя базы 1С из list_databases. Без указания — база по умолчанию.
maxYearsNoКак далеко назад искать по движениям
dimensionRefNoRef_Key другого субконто: договор, номенклатура, банковский счёт
organizationNoОрганизация (юрлицо) для фильтра: часть названия, ИНН или Ref_Key из list_organizations. Без указания — все организации базы.
counterpartyRefNoRef_Key контрагента (из find_counterparty)

Output Schema

NameRequiredDescriptionDefault
asOfYes
scanYes
sideYes
countYes
itemsYes
sinceNo
methodYes
accountYes
balanceYes
databaseYes
organizationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.12.0

TDQS

A4.1/5.0
Behavior4/5

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

With readOnlyHint/openWorldHint already declaring the safety profile, the description adds substantive behavior: two computation modes (method = documents for 62/60/76 in БП, otherwise method = movements with continuous-holding moment and per-document surviving share) and a bounded lookback of maxYears. It also explains what `since` and `documentCreatedAt` mean, though it says nothing about cost or behavior when no origin documents are found.

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

Conciseness4/5

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

Purpose is front-loaded in the first clause, followed by method branching, then return-field meaning, then filters — a logical order with no filler. The semicolon-chained sentences are dense but each clause carries information.

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 seven-parameter read tool with an output schema, the description covers purpose, mode selection, field meaning, and filtering adequately. Minor gaps remain: no statement of cost when scanning many years back and no explicit fallback to the sibling card/turnover tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all seven parameters. The description adds a little framing (maxYears as a backward search horizon, dimensionRef as contract/nomenclature/bank account), but this largely restates schema text and leaves account, asOf, database, and organization to the schema.

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

Purpose5/5

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

The description names a specific operation on a specific resource — the composition/origin of an account balance as of a date — and immediately scopes it ('для старых хвостов, которых не видно в карточке за месяц'), which separates it from read.accounting.get_account_card and read.accounting.get_account_turnover without the agent needing to open schemas.

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?

It states the use case clearly (old balances invisible in the monthly card) and implicitly names the alternative by describing that card. It does not name the sibling tool explicitly nor state when the tool should NOT be used, so it stops just short of full routing guidance.

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

Deploy Server

Other Tools