Skip to main content
Glama

estimate_material

Estimate how selected project files will split into front and back source-code pages for copyright material, report page counts, and warn when an exact 30+30 split is unreachable without rendering.

Instructions

Estimate how the selected files would be split into identifying material, without rendering. Reports the front and back page counts and warns when an exact 30+30 split is not reachable.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project_root": "<project_root>"
    },
    "name": "estimate_material"
  }
}

Input Schema

NameRequiredDescriptionDefault
excludeNo
includeNo
project_rootYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations at all, the description carries the full burden; it does disclose that no rendering occurs and that the tool emits counts plus a warning when a 30+30 split is unreachable, which is genuinely useful behavioral context. It omits what 'identifying material' and '30+30' mean, whether it reads/mutates anything on disk, and any permission requirements.

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?

Two compact, front-loaded sentences with no filler. The only weakness is unexplained domain jargon ('identifying material', '30+30 split') that a newcomer cannot decode from the text alone.

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

Completeness3/5

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

An output schema exists, so return values need not be spelled out, and the estimation-only behavior is covered. However, for a 3-parameter tool with 0% schema documentation, the completely undocumented include/exclude filters leave the agent guessing about how to scope the estimate.

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

Parameters2/5

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

Schema description coverage is 0%, so the schema gives no meaning for project_root, include, or exclude beyond their titles. The description mentions 'the selected files' but never explains that selection is controlled by include/exclude patterns or what form those patterns take.

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: 'Estimate how the selected files would be split into identifying material, without rendering.' The 'without rendering' clause implicitly separates it from generate_materials, but it never names that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: the phrase 'without rendering' suggests a dry-run/preview before calling generate_materials, but the description never says when to prefer this over the generating sibling or what prerequisites exist.

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