Skip to main content
Glama

Voice Analyser - retired

This project is no longer maintained.

Voice Analyser extracted a writing voice from published articles and generated a Claude Skill from it - measuring the statistical fingerprint of how someone writes (sentence rhythm, vocabulary, argument flow) and teaching the model by example rather than by rule.

It was always flagged experimental, and it stays interesting, but it is not something we are keeping current. Rather than leave a half-tended tool in the set pretending otherwise, we are retiring it.

What this means for you

  • The npm package still installs. @houtini/voice-analyser is deprecated, not unpublished. Nothing you have running will break.

  • This repository is archived. The code stays readable and every existing link keeps working, but there are no further releases, and issues and pull requests are closed.

  • The skills it generated are yours. They are plain files on your disk and keep working regardless of what happens here.

Related MCP server: loreto-mcp

If you want to carry on with it

The approach is sound and the code is MIT. Fork it. The core idea - measure real samples and teach by example instead of writing a style guide full of rules - holds up well, and it is the same principle behind the voice skills we still use day to day.

The rest of the set

The maintained Houtini MCP servers are listed at github.com/houtini-ai.


Part of the Houtini open-source MCP set. Questions: hello@houtini.com.

Available Tools

3 tools
analyze_corpusAnalyze CorpusA

Perform linguistic analysis on collected corpus. Runs the six analysers that feed the voice skill: phrases, voice markers, punctuation, vocabulary tiers, vulnerability patterns, and specificity patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
corpus_nameYesName of corpus to analyze
corpus_dirYesDirectory where corpus is stored

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description is the sole source. It discloses the six analysers but does not mention whether the tool modifies the corpus, requires special permissions, or produces output side effects. This is a moderate gap.

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?

Two sentences, front-loaded with action, no unnecessary words. Every sentence adds value.

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?

The description covers the tool's purpose and lists the analysers, which is sufficient given the simple input schema and no nested objects. However, lacking an output schema, it could mention whether results are stored or returned.

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 coverage is 100% and descriptions are clear. The tool description does not add extra meaning beyond the schema for the two parameters (corpus_name and corpus_dir). Baseline of 3 is appropriate.

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 clearly states 'Perform linguistic analysis on collected corpus' and lists the six specific analysers (phrases, voice markers, etc.), which distinguishes it from sibling tools like collect_corpus and generate_voice_skill.

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

Usage Guidelines4/5

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

The description implies use after corpus collection ('on collected corpus'), and the sibling context clarifies the analysis role. However, it does not explicitly state when not to use this tool or provide alternative guidance.

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

collect_corpusCollect CorpusB

Crawl sitemap and collect clean writing corpus from published articles

ParametersJSON Schema
NameRequiredDescriptionDefault
sitemap_urlYesURL to XML sitemap (e.g., https://example.com/post-sitemap.xml)
output_nameYesCorpus identifier/name (e.g., "richard-baxter")
output_dirYesDirectory to store corpus files (e.g., "C:/dev/corpus")
max_articlesNoMaximum articles to process (default: 100)
article_patternNoOptional regex to filter URLs

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose behavioral traits like whether crawling respects robots.txt, rate limits, authentication needs, or what 'clean' means. Users cannot infer side effects or constraints.

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?

The description is a single sentence that is front-loaded with the core action. It is concise, though it could be slightly expanded for clarity without sacrificing conciseness.

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

Completeness2/5

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

Given the tool has 5 parameters, no output schema, and no annotations, the description is too brief. It does not explain return values, error handling, processing details, or corpus structure, leaving significant gaps for an AI agent.

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 100%, so the baseline is 3. The description adds a high-level purpose but no additional detail beyond what the schema already provides for each parameter. It does not compensate for missing nuance.

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 uses specific verbs ('crawl sitemap', 'collect clean writing corpus') and clearly identifies the resource and action. It distinguishes from sibling tools: 'analyze_corpus' suggests analysis, 'generate_voice_skill' suggests voice generation, so this tool's unique role of data collection is clear.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., analyze_corpus or generate_voice_skill). No context on prerequisites, limitations, or when not to use it is given.

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

generate_voice_skillGenerate Voice SkillB

Generate a Claude Skill bundle (SKILL.md plus real article samples) so Claude writes prose in the corpus author's voice by mimicking actual writing rather than following rule lists.

ParametersJSON Schema
NameRequiredDescriptionDefault
corpus_nameYesName of analyzed corpus
corpus_dirYesDirectory where corpus is stored
sample_countNoNumber of article samples to bundle into the skill (default: 8)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden for behavioral disclosure. It mentions the output components and the technique of mimicking writing, but fails to disclose side effects (e.g., file creation), required dependencies, error conditions, or any limitations. The behavioral picture is incomplete.

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?

The description is a single, front-loaded sentence that conveys the core purpose efficiently. No redundant phrases. While it could be slightly more structured for scanning, it earns its place effectively.

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?

Given the absence of output schema and annotations, the description is minimally adequate. It explains what the tool produces and the core idea, but lacks details on prerequisites, error handling, output format, or post-conditions. The schema covers parameter semantics, but overall context is thin.

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 100%, so each parameter has a description. The tool description does not add additional meaning beyond the schema. According to guidelines, baseline is 3 when schema coverage is high, and no extra value is provided from the description.

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?

Description clearly states the tool generates a Claude Skill bundle, specifies the output (SKILL.md plus article samples), and distinguishes its method from rule-based approaches. It contrasts with sibling tools (analyze_corpus, collect_corpus) by focusing on generation.

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?

No explicit when-to-use or when-not-to-use guidance. The description implies this is the final step after corpus collection/analysis, but does not state exclusions or alternatives. Sibling names provide some context, but the description lacks direct usage advice.

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

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct step in the workflow: collect, analyze, generate. There is no overlap in purpose.

Naming Consistency5/5

All tools use consistent verb_noun snake_case naming with a clear verb describing the action.

Tool Count5/5

Three tools perfectly cover the core pipeline of the server without redundancy or deficiency.

Completeness5/5

The set covers the full lifecycle from corpus collection through analysis to skill generation, with no obvious gaps.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/houtini-ai/voice-analyser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server