Skip to main content
Glama

Bilig WorkPaper

Server Details

Formula-backed WorkPaper tools for workbook readback, input edits, and JSON persistence.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
proompteng/bilig
GitHub Stars
25
Server Listing
Bilig WorkPaper

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct action: listing sheets, reading cells/ranges, getting display values, writing cells, validating formulas, and exporting. No overlapping purposes, and descriptions clarify when to use each.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_sheets, set_cell_contents). No mixing of conventions or vague verbs.

Tool Count5/5

7 tools cover the essential operations for a spreadsheet-like workpaper: discovery, reading, writing, validation, and export. The count is well-scoped without being sparse or overwhelming.

Completeness4/5

Core CRUD operations are present, and formula validation adds value. Minor gaps exist: no tool for clearing cells or managing sheets (add/delete/rename), but the surface is sufficient for typical agent workflows involving single-cell edits and audits.

Available Tools

7 tools
export_workpaper_documentExport WorkPaper DocumentA
Read-onlyIdempotent
Inspect

Export the current WorkPaper JSON document for persistence, review, or handoff to another agent. Does not write files by itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeConfigNoInclude workbook configuration metadata in the exported JSON. Defaults to true.

Output Schema

ParametersJSON Schema
NameRequiredDescription
documentYesPersisted WorkPaper JSON document.
sourcePathNo
serializedBytesYes
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive nature. Description adds that the tool does not write files, reinforcing the read-only behavior and providing additional context beyond annotations.

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

Conciseness5/5

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

Two sentences, each serving a distinct purpose: stating the action and clarifying a key behavior. No redundancy or unnecessary words.

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

Completeness5/5

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

For a simple export tool with one boolean parameter and output schema, the description covers purpose and a critical behavioral constraint (no file writing), making it fully informative without excess.

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% for the single boolean parameter, so description does not need to add semantics. It does not mention the parameter, which is acceptable given full schema coverage.

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?

Clearly states the verb (export), resource (WorkPaper JSON document), and purpose (persistence, review, handoff). Distinguishes from file-writing tools via explicit clarification.

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?

Provides clear context on when to use (persistence, review, handoff) and what it does not do (write files). Lacks explicit exclusions or alternatives, but siblings are sufficiently distinct.

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

get_cell_display_valueGet WorkPaper Cell Display ValueA
Read-onlyIdempotent
Inspect

Return the formatted display string for one cell. Use when an agent needs what a user would see, not the raw numeric value.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesSingle A1 cell address such as B3.
sheetNameYesExisting sheet name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
addressYes
displayValueYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value by specifying the output is a formatted display string, which goes beyond annotations. However, it does not detail potential error conditions or edge cases, which would elevate transparency further.

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

Conciseness5/5

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

The description is extremely concise: one sentence stating the core function followed immediately by usage guidance. No wasted words; every sentence serves a purpose.

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

Completeness5/5

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

Given the simplicity of the tool, the rich annotations (readOnlyHint, idempotentHint, destructiveHint), and the existence of an output schema, the description provides the essential information: what it does and when to use it. No additional details are necessary for complete contextual understanding.

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 coverage is 100% with clear descriptions for both parameters ('address' and 'sheetName'). The description does not add additional meaning to the parameters beyond what the schema provides, so the baseline score of 3 is appropriate.

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 clearly states the verb 'Return' and the resource 'formatted display string for one cell'. It distinguishes this from sibling read_cell by specifying it returns the user-perceived value, not the raw numeric value, which is a clear differentiation.

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

Usage Guidelines5/5

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

The description explicitly instructs when to use this tool: 'Use when an agent needs what a user would see, not the raw numeric value.' This provides clear guidance on the appropriate context and implicitly points to an alternative (likely read_cell) for raw values.

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

list_sheetsList WorkPaper SheetsA
Read-onlyIdempotent
Inspect

Discover sheet names and used dimensions before reading or editing a WorkPaper. Returns metadata only; use read_range or read_cell for values.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
sheetsYes
writableYesWhether set_cell_contents persists edits back to the source JSON file.
sourcePathNoAbsolute JSON file path when the server was started with --workpaper.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds value by stating 'Returns metadata only' and directing to sibling tools for values, which goes beyond what annotations provide.

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

Conciseness5/5

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

Two sentences with no redundancy. First sentence states purpose and context; second contrasts with siblings. Every word earns its place.

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

Completeness5/5

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

Given 0 parameters and explicit annotations, the description fully covers what the tool does (discover metadata), its use case (before reading/editing), and what it does not do (no values). Output schema exists but its absence in description is acceptable per rules.

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?

Input schema has 0 parameters, so schema coverage is 100%. Baseline is 4 per guidelines; description adds no parameter information as none is needed.

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 uses specific verb 'Discover' and resource 'sheet names and used dimensions', clearly distinguishing from sibling tools like read_range and read_cell that retrieve values instead of metadata.

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

Usage Guidelines5/5

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

Explicitly states when to use ('before reading or editing a WorkPaper') and when not to ('use read_range or read_cell for values'), providing clear alternatives.

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

read_cellRead WorkPaper CellA
Read-onlyIdempotent
Inspect

Read one cell with calculated value, display text, formula text, and serialized content. Use after set_cell_contents to verify readback.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesSingle A1 cell address such as B3.
sheetNameYesExisting sheet name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
valueYesCalculated cell value.
addressYesCanonical sheet-qualified A1 address.
formulaYesFormula text without losing the original calculated value context, or null for literal cells.
serializedYesRaw serialized cell content; formulas are strings that start with =.
displayValueYesFormatted value as a user would see it.
Behavior4/5

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

Annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already indicate safe, read-only operation. Description adds value by detailing the specific data returned (calculated value, display text, formula, serialized content), which enhances understanding beyond annotations.

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

Conciseness5/5

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

Description is two sentences: first lists what is read, second gives usage guidance. Every sentence adds value, no fluff. Front-loaded with purpose.

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

Completeness5/5

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

Given the presence of an output schema (not shown but indicated), the description need not explain return values. It already hints at return fields and provides usage context, making it complete for a simple read tool.

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 baseline is 3. Description does not add new information about parameters beyond what is in schema (address format and sheet existence). No additional semantics provided.

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?

Title 'Read WorkPaper Cell' and description clearly state the tool reads a single cell and returns calculated value, display text, formula text, and serialized content. This distinguishes it from sibling 'get_cell_display_value' which likely returns only display text.

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?

Description explicitly advises using this tool after set_cell_contents to verify readback, providing clear usage context. While it doesn't list when not to use or mention alternatives, the guidance is sufficient for typical workflows.

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

read_rangeRead WorkPaper RangeA
Read-onlyIdempotent
Inspect

Read calculated values plus serialized formulas/inputs for an A1 range. Use for audit readback after edits; use read_cell for one address.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeYesA1 range such as Summary!A1:B5. If omitted from the range, pass sheetName separately.
sheetNameNoDefault sheet name when range omits a sheet name, for example Summary.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rangeYesCanonical A1 range including the sheet name.
valuesYesTwo-dimensional array of evaluated cell values.
serializedYesTwo-dimensional array of raw serialized cell contents, including formulas.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. Description adds what the tool returns ('calculated values plus serialized formulas/inputs'), which is useful context beyond annotations.

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

Conciseness5/5

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

Two sentences, functionally dense, no wasted words. Front-loaded with purpose.

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

Completeness5/5

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

For a simple read tool with output schema and clear annotations, the description covers purpose, usage, and parameter interaction without gaps.

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 already describes both parameters with 100% coverage. Description adds clarifying interplay: 'If omitted from the range, pass sheetName separately', which adds value beyond 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?

Clearly states the verb 'Read' and resource 'WorkPaper Range', and distinguishes from sibling 'read_cell' by noting this is for ranges vs single cells.

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

Usage Guidelines5/5

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

Explicitly advises 'Use for audit readback after edits; use read_cell for one address', providing both use case and alternative.

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

set_cell_contentsSet WorkPaper Cell ContentsA
Idempotent
Inspect

Write raw content to one cell and recalculate dependents in memory only. Start with --writable when the edit should persist to JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesRaw cell content. Formula strings must start with =; plain strings are stored as literals.
addressYesSingle A1 cell address such as B3. Ranges are not accepted.
sheetNameYesExisting sheet name, for example Inputs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
afterYes
beforeYes
checksYes
restoredYes
editedCellYesCanonical sheet-qualified address that was edited.
persistenceYes
Behavior5/5

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

Adds key behavioral context: recalculates dependents in memory only. Annotations indicate idempotent and non-destructive, and description aligns with no contradictions.

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

Conciseness5/5

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

Two sentences, front-loaded with main action, no fluff. Every word adds value.

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?

Covers core action and key behavioral aspect. With output schema present, return values are not needed. Could mention error handling but overall sufficient for this complexity.

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

Parameters5/5

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

Adds meaningful details beyond schema: formula strings need '=', ranges not accepted for address, sheet must exist. Schema coverage is 100% so baseline is 3, but extra info pushes to 5.

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?

Clearly states it writes raw content to one cell and recalculates dependents in memory only. Distinguishes from siblings like read_cell by specifying write and recalc behavior.

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?

Provides explicit guidance on using --writable flag for persistence, but does not elaborate on when to use this tool over alternatives like validate_formula.

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

validate_formulaValidate WorkPaper FormulaA
Read-onlyIdempotent
Inspect

Validate formula syntax with the WorkPaper parser before writing it to a cell. This checks syntax only; use set_cell_contents plus readback to evaluate.

ParametersJSON Schema
NameRequiredDescriptionDefault
formulaYesFormula string including the leading =, for example =SUM(Inputs!B2:B4).

Output Schema

ParametersJSON Schema
NameRequiredDescription
validYes
formulaYes
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description complements by stating it checks syntax only and does not evaluate, adding behavioral context beyond annotations without contradiction.

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

Conciseness5/5

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

Two succinct sentences convey the tool's purpose, usage context, and limitation. No extraneous information; every sentence earns its place.

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

Completeness5/5

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

Given the simple input schema (one parameter), full annotations, and presence of an output schema, the description covers all necessary context: what it does, when to use it, and its limitation relative to sibling 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?

Only one parameter (formula) with schema description covering 100%, including the leading = requirement. The tool description does not add additional parameter-specific context beyond what the schema provides.

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 clearly states the tool validates formula syntax with the WorkPaper parser, providing a specific verb and resource. It distinguishes from sibling set_cell_contents by noting that actual evaluation requires readback.

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

Usage Guidelines5/5

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

The description explicitly advises using this tool before writing a formula to a cell, and contrasts with set_cell_contents plus readback for evaluation. This gives clear when-to-use and when-not-to-use guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.