Skip to main content
Glama
tellcheck

tellcheck

tellcheck

Check a piece of writing against a voice style, and scan it for the tells that make prose read as machine-generated. Everything runs locally and deterministically: no network, no API key, no model calls. State (styles, dictionaries, instructions, default style) persists as JSON under TELLCHECK_HOME or ~/.tellcheck.

This is a clean-room rebuild of the etincel writing-style tool, implemented from its public README tool spec. Schemas are documented reconstructions from that prose.

What it does

  • Styles. Twelve shipped presets (Direct & Warm, Executive Brief, Reflective Essayist, Founder Memo, Plainspoken Analyst, Wry & Candid, PR Review, Code Comment, Slack Message, LinkedIn Post, Website Copy, Blog Post), each with formality / warmth / directness dials and a rhythm description. Train your own style from samples, create one directly from dials, fork, update, delete, and set a default.

  • Voice match. Compare a draft's rhythm and mechanics (sentence length and variance, contraction rate, em-dash use, fragments, questions) against a style baseline. Short input gets an honest low-confidence note instead of a false-precision score.

  • Self-repetition. Repeated sentence openers and phrases, including repetition against a trained style's own samples.

  • AI-tell audit. A deterministic scan: a built-in tell vocabulary with a suggested replacement for each hit (for example "comprehensive", "cutting-edge", "leverage", "seamless", "streamline"), rhythm findings (uniform paragraph length, low burstiness), and strengths (specificity, concrete-to-abstract balance). Returns a tier — green, yellow, orange, or red — plus a 0–100 score and findings with locations. Registers: email, blog, memo, essay, social, docs, general, personal; the docs register suppresses markdown-structure findings. Supplying sourceFacts flags numbers in the text that the facts do not back.

  • Dictionaries and instructions. Global and per-style banned-word and custom-word lists, plus free-form style instructions.

  • second_read, honestly. In the original, the local install's second read always fails with a clear explanation (the feature needs a hosted model). This rebuild reproduces exactly that behaviour rather than faking a result.

Related MCP server: avoid-ai-writing-mcp

CLI

One subcommand per tool, taking a single JSON argument object:

npx @reneturcios/tellcheck list_styles '{}'
npx @reneturcios/tellcheck get_style_guide '{"styleId":"founder-memo"}'
npx @reneturcios/tellcheck train_style '{"name":"My Voice","samples":["..."]}'
npx @reneturcios/tellcheck audit_text '{"text":"...","register":"blog"}'
npx @reneturcios/tellcheck --version

Exit codes: 0 success, 1 tool error, 2 usage error.

MCP

npx -y @reneturcios/tellcheck mcp

MCP client config:

{
  "mcpServers": {
    "tellcheck": {
      "command": "npx",
      "args": ["-y", "@reneturcios/tellcheck", "mcp"]
    }
  }
}

Tools (20)

Tool

Purpose

list_styles

Presets, trained styles, and the team style if defined

get_style_guide

Full guide for one style

train_style

Train a style from samples (rhythm, contractions, em dashes, paragraph variance)

create_style_from_dials

Create a style from the eleven voice dials

update_style

Rename a style or adjust its dials

fork_style

Fork a local style (public-gallery forks return an honest error)

delete_style

Delete a user-created style

set_default_style

Set the default style

check_voice_match

Rhythm/mechanics comparison against a style baseline

check_self_repetition

Repeated openers/phrases, including vs training samples

audit_text

Deterministic AI-tell scan with tier, score, and located findings

second_read

Always fails locally, with the original's clear explanation

add_banned_word / remove_banned_word

Manage banned words (global or per style)

add_custom_word / remove_custom_word

Manage custom dictionary words

list_dictionary

Dictionary scopes plus the merged effective list for a style

set_style_instructions / clear_style_instructions / get_style_instructions

Free-form style instructions

Docker

docker run -i ghcr.io/cloudcorprecords/tellcheck          # stdio MCP server
docker run --rm ghcr.io/cloudcorprecords/tellcheck list_styles '{}'

Development

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (temp TELLCHECK_HOME, no network)
npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Provides local, deterministic scoring and detailed auditing of text for AI-writing patterns via two read-only tools, with no network calls or language models.
    2
    25 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables automated agents and writers to check Norwegian and English prose before sending, returning concrete style findings, revision hints, and verdicts instead of authorship claims, with a no-judgment band, positive quality checks, a private local mode, and phrase-bank memory.
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables agents to score prose from 0-100 for formulaic AI writing tells using pure rule-based heuristics, exposing tools to analyze inline text or files on disk and return violation details, band labels, and concrete advice without any LLM judge or network calls.
    -