Skip to main content
Glama

Create Standard Chart

create_standard_chart
Read-only

Seals one Standard Chart from canonical chart JSON, exactly as written and with no model: the chart_of_accounts object (guide_canonical_schema, species chart) as document, or a retained UTF-8 handle holding it. CSV, notes and Markdown are not accepted; write the chart JSON first. What is not a fact is fixed up and listed in normalized: a field name in another case or with underscores, a code given as a number, an enum value in another case, the document marker, an envelope version. A fact is never fixed up: an unknown field, a missing required field, or a chart that breaks a chart law is refused with a stable code, the JSON path, what is wrong and what is needed.

Nothing installs and no party is minted. The result carries the sealed chart inline, retains the exact sealed bytes behind a multi-read download handle, and reports compatible and exceptions against the workspace data. Review it, then register the handle. A claim binds an account a submitted register statement is about; one that binds nothing yet shows as claim_unbound when registered: submit the statements, then post_chart_accounts installs and checks the chart, and if exceptions remain, update_standard_chart proposes the repair to register and post. Journal entries post to accounts (role account in list_chart_accounts), never to a category. Not metered.

Input Schema

NameRequiredDescriptionDefault
handleNoWorkspace-scoped transfer handle naming UTF-8 bytes of that same canonical chart JSON. Exclusive with document.
documentNoThe canonical chart_of_accounts JSON object (guide_canonical_schema, species chart), sealed exactly as written. Exclusive with handle.
source_nameNoOptional label for where the chart came from, such as books.chart.json. Defaults to user.chart.json.
workspace_tagYesActive workspace id (the workspace_tag create_workspace and list_workspaces return).

Output Schema

NameRequiredDescriptionDefault
chartYesSealed standard chart_of_accounts JSON document. This is the reusable artifact.
ownerNoRead-only preview of the FIRST owner: name and type, plus party_id/display when a live party already answers that mention, and on_submit reuse|found. Submit founds; this call does not.
engineYesStamped engine build/version identity for the tool result.
handleNoMulti-read download:N handle naming the retained sealed chart bytes — save them locally and pass to verify, open, or submit.
ownersYesWhose books: the chart's owner set, each a party mention (name, type) resolved at submit.
statusYeschart_created on success.
retainedNoDownload descriptor for the retained sealed bytes: session_id, handle, file_name, media_type, byte_count, sha256, expires_at, download_program.
file_nameYesSuggested <entity>.chart.json file name.
resourcesNoRelated workspace resource links.
chart_nameYesName asserted by the chart document.
llm_calledYesAlways false: the chart is sealed exactly as given, with no model.
normalizedNoWhat was fixed up on the way, when anything was: each with path and change (a field renamed, a code written as a string, an enum value recased, the document marker added, an envelope version removed). Facts are never fixed up.
owner_matchYesWhich account owner sets these books accept: any | all | exact | subset.
source_nameYesSource label used for authoring context.
content_hashYesCanonical SHA-256 identity of the chart document.
workspace_tagYesWorkspace that scopes authoring and metered usage.
accounting_basisYescash or accrual.
preview_markdownYesHuman-readable rendering only; never validate, submit, or install this field.
chart_account_countYesNumber of chart-account definitions.
postable_chart_account_countYesNumber of non-summary chart accounts.
claimed_workspace_account_identifiersYesWorkspace-account designators claimed by chart accounts.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the side-effect profile ("Nothing installs and no party is minted"), the normalization list of auto-fixed non-facts, the refusal contract with stable codes plus JSON path and remedy, the multi-read download handle, and "Not metered". One caveat: sealing and retaining bytes is a state-producing behavior alongside readOnlyHint=true, though "nothing installs" keeps it from being a true contradiction.

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-loaded with the core action, but the body is a dense run-on block that chains normalization cases, refusal semantics, workflow, and claim semantics into long comma-spliced clauses. Most content earns its place, yet readability and scanability suffer noticeably.

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 tool with a nested oneOf input and an output schema, this covers the missing pieces: input format restrictions, normalization versus refusal boundary, handle lifecycle, and the follow-on workflow. The remaining gap is that it explains return contents the output schema already provides, while never naming the nearest structural siblings for disambiguation.

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?

Schema coverage is already 100%, so the baseline is 3, but the description adds meaning the schema does not: the document must be a canonical chart_of_accounts per guide_canonical_schema, and the normalization rules (codes as numbers, enum case, underscore field names) tell the caller the document may be loosely formatted rather than strictly. source_name is left undocumented but is optional and self-describing.

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?

Opens with a specific verb and resource: sealing one Standard Chart from canonical chart JSON, sealed exactly as written. It also carves out a boundary against siblings by stating "Nothing installs and no party is minted", which separates it from post_chart_accounts and update_standard_chart. The jargon-dense phrasing ("species chart", "retained UTF-8 handle") costs some immediate clarity, so it stops short of a 5.

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?

Gives explicit input constraints ("CSV, notes and Markdown are not accepted; write the chart JSON first") and an explicit next-step sequence: review the result, register the handle, then post_chart_accounts installs and checks, and update_standard_chart repairs residual exceptions. What it lacks is a direct comparison against create_standard_book or create_standard_declaration_chart, which are plausible confusable siblings.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources