Skip to main content
Glama

Count words and paragraphs

analyze_writing
Read-onlyIdempotent

Count words, sentences and paragraphs in a piece of writing and compare the word count with the IELTS minimum for the task. Runs locally: nothing is saved or sent to an AI. These counts are not a band score.

Input Schema

NameRequiredDescriptionDefault
textYes
taskTypeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / properties / essay
      Removed value: -{
      -  "maxLength": 24000,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • addedInput schema / properties / taskType
      Added value: +{
      +  "enum": [
      +    "Task 1",
      +    "Task 2"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / text
      Added value: +{
      +  "maxLength": 24000,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "essay"
      -]New value: +[
      +  "text"
      +]
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "data": {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    "notice": {
      -      "type": "string"
      -    },
      -    "source": {
      -      "const": "English Test Coach",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "source",
      -    "notice",
      -    "data"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, and the description adds genuinely new behavioral facts: execution is local and nothing is saved or sent to an AI, and the output is counts rather than a score. That privacy and output-scope context goes beyond the structured fields, though permissions or limits are not discussed.

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?

Three short sentences, each carrying distinct information: what is counted, the local/no-AI execution guarantee, and the not-a-band-score caveat. The core action is front-loaded and there is no padding.

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?

With no output schema, the description correctly clarifies that the output is counts and not a band score, and it discloses the local execution model. For a two-parameter tool this is nearly sufficient, losing only the input length limit and the meaning of the taskType options.

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 0%, so the description carries the load. It implies the text input ('a piece of writing') and that the task type drives the IELTS minimum ('for the task'), which gives meaning to both parameters. However it never explains the Task 1/Task 2 enum values or the 24,000-character cap, so compensation for the 0% coverage is only partial.

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 states a concrete verb and resource — counting words, sentences and paragraphs — plus the extra behavior of comparing against an IELTS minimum. It also actively separates itself from the sibling calculate_band_score by stating 'These counts are not a band score,' so an agent can route correctly without opening a schema.

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 'not a band score' disclaimer nudges the agent toward calculate_band_score for scoring, and the IELTS-minimum comparison hints this is a pre-submission length check. But it never states when to use this tool or names the alternative explicitly, so the routing is left to inference.

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