Skip to main content
Glama

Tanod Text

utilpeek: count words and score the readability of a text

text_stats
Read-onlyIdempotent

utilpeek: Count words and score the readability of a text. Returns counts (characters, letters, words, unique words, sentences, paragraphs, averages), reading and speaking time, and for English the Flesch reading ease, Flesch-Kincaid grade, Gunning fog, SMOG, Coleman-Liau and ARI scores (estimates from heuristic syllable counts; Dale-Chall is not offered). Input: text and optional lang. An unsupported lang is a 422 invalid_lang and text without words a 422 no_words (not charged). Word counts undercount scripts written without spaces. Typically under 0.2 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Tanod does not log or store the submitted text; it is processed in memory for this answer. Docs: https://tanod.dev/learn/text-statistics-api.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
langNoISO 639 code; readability scores are computed for English only (default en); any other language gets counts only.
textYesThe text (at most 200,000 characters).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
langNo
noteNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
countsNo
sourceNo
syllablesNo
readabilityNo
reading_time_secondsNo
speaking_time_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "counts": {
      +      "properties": {
      +        "avg_sentence_words": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "avg_word_length": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "characters": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "characters_no_spaces": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "letters": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "paragraphs": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "sentences": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "unique_words": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "words": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "description": "Only on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object."
      +    },
      +    "lang": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "readability": {
      +      "properties": {
      +        "automated_readability_index": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "coleman_liau_index": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "dale_chall": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "flesch_kincaid_grade": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "flesch_reading_ease": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "gunning_fog": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "smog_index": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "reading_time_seconds": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "properties": {
      +        "library": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "license": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "speaking_time_seconds": {
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "syllables": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources