Categories › Data & Databases › Files, spreadsheets, CSV & PDFs
Analyse and clean up text: stats, language, keywords, summary, sentiment, PII redaction, diff.
Remote server: your requests and data go to tanod.dev. Claude Code: claude mcp add --transport http text-analysis-cleanup-tools-tanod https://tanod.dev/mcp/text · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
text_stats — utilpeek: Count words and score the readability of a text. For word frequencies use text_frequency. Returns counts (characters, letters, wordetect_language — utilpeek: Detect the language of a text. To translate use translate_text. Returns the most likely language (ISO 639-1 and 639-3 code, name, text_case — utilpeek: Convert text case: title, sentence, snake, camel, kebab, ... For a URL slug use make_slug. Returns the text in another case: uppertext_lines — utilpeek: Sort, dedupe, trim, shuffle or number the lines of a text. For find and replace use text_replace. Returns the text's lines transfotext_replace — utilpeek: Find and replace in text. To sort, dedupe or number lines use text_lines. Returns the text with `find` replaced: literally, or as text_extract — utilpeek: Extract emails, URLs, domains, IPs, dates and crypto addresses from text. To mask personal data use redact_pii; for names and placredact_pii — utilpeek: Redact PII from text: emails, phone numbers, card numbers, IBANs, SSNs, IPs and crypto addresses. For API keys and tokens use checpseudonymize_pii — utilpeek: Pseudonymise PII in text: stable keyed tokens for emails, phones, cards, IBANs and IPs. Returns the text with each email, phone nutext_frequency — utilpeek: Count word and n-gram frequencies in a text. For scored keyphrases use text_keywords. Returns the most frequent words or 2-3 word text_keywords — utilpeek: Extract the keywords and keyphrases of a text. For raw frequencies use text_frequency; for names and places use extract_entities. text_summarize — utilpeek: Summarize a text by picking its key sentences. For paper abstracts use paper_digest; for counts use text_stats. Returns an extracttext_sentiment — utilpeek: Analyze the sentiment of an English text. For your own labels use classify_zero_shot; for counts use text_stats. Returns VADER sentext_spellcheck — utilpeek: Spellcheck a text with suggestions. For counts and readability use text_stats. Returns the words not in the language's word-frequetext_unicode_inspect — utilpeek: Find invisible, bidi and homoglyph Unicode characters in text. For injected instructions use check_text_for_prompt_injection. Retutext_numbers — utilpeek: Convert numbers to English words. For units use convert_units. Returns a number spelled out in English (cardinal, ordinal, year, otext_lorem — utilpeek: Generate seeded lorem ipsum or English placeholder text. For random values use generate_random. Returns placeholder text: classic diff_text — utilpeek: Diff two texts: unified line diff, word or character changes. For PDF or Word files use compare_documents. Returns the differencesmake_slug — utilpeek: Make a URL slug from text. For other case styles use text_case. Returns a URL slug: accents removed, Latin ligatures, Greek and Cymarkdown_to_html — utilpeek: Convert Markdown to sanitized HTML. For the reverse use html_to_text. Returns the HTML of a Markdown document (markdown-it-py; `gfhtml_to_text — utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readableconvert_subtitles — utilpeek: Convert subtitles between SRT, WebVTT and JSON, with a time shift. To make subtitles from audio use transcribe_audio. Returns a sucheck_subtitle_delivery — utilpeek: Check subtitle delivery timing, line length and reading speed. Returns a cue-level SRT/WebVTT delivery review with versioned langupdf_redact — pdfpeek: Redact a PDF: black out terms, emails, phone numbers, card numbers and areas. To test a file redacted elsewhere use pdf_redaction_cpdf_redaction_check — pdfpeek: Check a PDF for failed redactions: black boxes with the text still under them. To redact properly use pdf_redact. Returns whether bcheck_text_for_secrets — utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instcheck_text_sources — findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up tcheck_text_duplicate — utilpeek: Check whether a draft repeats your earlier texts. Returns the duplicate, near or new verdict for a draft compared with 1-50 earlieNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.