Skip to main content
ClaudeWave

Your voice profile as a tool — a Rust workspace (MCP server, TUI, and GPUI GUI) over a measured writing fingerprint

MCP ServersRegistry oficial0 estrellas0 forks● RustApache-2.0Actualizado today
ClaudeWave Trust Score
87/100
✓ Trusted
Passed
  • ✓Open-source license (Apache-2.0)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Documented (README)
Last scanned: 10/19/2026
Install in Claude Code / Claude Desktop
Method: Manual · eigenstyle
Claude Code CLI
git clone https://github.com/qompassai/eigenstyle
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "eigenstyle": {
      "command": "eigenstyle"
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Install the binary first: cargo install eigenstyle (or build from https://github.com/qompassai/eigenstyle).
Casos de uso

Resumen de MCP Servers

# eigenstyle — your voice profile as a tool

A Rust workspace that turns Matt Porter's measured writing fingerprint
(built 2026-10-11 in the `matt-voice` skill) into a living system: an
MCP server agents can call, a terminal UI, and a GPUI desktop GUI — all
over one core library, all fed by a corpus you keep adding to.
<a href="./LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0"></a>

The fingerprint is *measured*, not vibes: sentence-length distribution,
function-word profile, punctuation rates, parentheticals, hyphenated
compounds, hedge/assertive balance, first-person rate — the same
features, tokenizer, rounding, and leave-one-out band calibration as
the skill's Python reference. A parity test suite proves the Rust
engine reproduces the Python numbers on the seed corpus (features and
bands identical; checker deltas on the held-out pieces match: JAS
1.196, Cureus 1.088, synthetic 1.253).

## The three front-ends

| Front-end | Binary | Run it |
|---|---|---|
| MCP server (stdio) | `eigenstyle` | `cargo run --release -p eigenstyle` (add `--home <dir>` to choose the store) |
| Terminal UI | `eigenstyle-tui` | `cargo run --release -p eigenstyle-tui` |
| Desktop GUI | `eigenstyle-gui` | `cargo run --release -p eigenstyle-gui` (Wayland session) |

All three share one store: `$EIGENSTYLE_HOME`, else
`~/.local/share/eigenstyle/`. First open seeds it from the skill's
corpus (6 pieces, 7,674 words), fingerprint, and readable profile.

## MCP tools

| Tool | What it does |
|---|---|
| `check_draft` | Score a draft (text or file): verdict CLOSE / DRIFTING / OFF-VOICE / UNRELIABLE, delta, top contributing features, avoid-list hits. With `source_text`/`source_file_path`, also accounts for every number and URL from the source — dropped numbers and dropped/broken URLs are reported. |
| `get_exemplars` | Verbatim exemplar paragraphs from included samples of one genre (the retrieval bank agents draft against). |
| `get_profile` | The readable profile + fingerprint summary (effective values, which are user-corrected), bands, avoid list. |
| `ingest_sample` | Add writing (exactly one of `text` / `file_path` / `url`). Title, genre, and authorship (`sole`/`blended`) are required — attribution is never silently defaulted. Never recomputes the fingerprint. |
| `list_corpus` | The corpus manifest: metadata, word counts, included flags, totals. |
| `recompute_fingerprint` | Recompute from included samples and re-derive the bands. `dry_run: true` previews the induced feature deltas and band shifts without saving — review before you apply. |

Protocol: newline-delimited JSON-RPC 2.0 over stdio, the estate's
research-mcp pattern. Fail-closed throughout: malformed frames,
unknown tools, strict argument schemas, named size bounds everywhere.

## Adding your writing

- **MCP**: an agent calls `ingest_sample` (or you ask for a URL fetch —
  the core fetches it, bounded, HTML reduced to text).
- **TUI**: `Add writing` screen (key `2`) — title, genre, authorship
  toggle, source, then a file path (Enter loads it) or pasted text;
  Ctrl+S saves.
- **GUI**: `Add writing` tab — same fields as clickable boxes; the
  authorship button toggles sole/blended; **Add sample** saves.

In every flow the same rules hold: samples are append-only (exclude a
sample from the fingerprint instead of deleting history), and the
fingerprint never changes silently — recompute is explicit, with a
dry-run preview first.

## Correcting the fingerprint

The fingerprint dashboard (TUI `Fingerprint` screen, GUI `Fingerprint`
tab) lists every feature's mean/SD. Select one, type a corrected mean,
apply: the value is stored as a *user correction* overlaid on the
computed reference. Corrections survive recompute, are marked wherever
they show, and can be cleared wholesale to restore computed values
exactly.

## Patterns adapted from same-kind tools

- **HumanifyMe** — the editable, human-readable fingerprint, and the
  deterministic post-draft verify gate (dropped numbers / broken URLs
  in `check_draft`).
- **brandvoice-mcp** — ingest → chunk → exemplar retrieval bank
  (`get_exemplars` serves corpus paragraphs by genre).
- **book-writer-mcp / Eden** — per-genre style profiles (the dashboard
  shows pooled per-genre stats), and the builder flow where induced
  rules are shown for correction *before* they are saved (recompute
  dry-run preview → apply).
- **Arcitext** — tone-fit via an explicit avoid list, enforced by the
  checker and editable in the Profile view.

## Bounds (named, enforced)

Sample text ≤ 256 KiB and ≥ 10 tokens; draft ≤ 1 MiB, < 200 words =
UNRELIABLE verdict (integrity/avoid checks still run); URL fetch ≤
1 MiB, 15 s, HTTP(S) only, ≤ 3 redirects; JSON-RPC line ≤ 4 MiB;
fingerprint build needs ≥ 2 included pieces (leave-one-out calibration
is undefined below that) and fails closed otherwise.

## Platform notes

- Toolchain pinned to Rust 1.99.0 (`rust-toolchain.toml`), matching the
  estate. GPUI is pinned exactly: `gpui-ce = =0.2.2` +
  `gpui_ce_platform = =0.1.0` (features wayland, x11).
- GUI rendering is verified on Wayland (primo's desktop is Hyprland;
  the smoke runs under a headless wlroots compositor). Under Xvfb/X11
  this GPUI build presents black frames — use a Wayland session.
- GUI text entry is click-to-focus, append/backspace only (no
  selection/IME yet) — a stated limit, tracked in PROGRESS.md.

## Layout

```
crates/eigenstyle-core   corpus store, stylometry, fingerprint build, checker, fetch
crates/eigenstyle    stdio MCP server (6 tools)
crates/eigenstyle-tui    ratatui TUI (eigenstyle-tui --snapshot <screen> renders headlessly)
crates/eigenstyle-gui    GPUI GUI
screenshots/        smoke evidence (GUI corpus + fingerprint views, probe)
```

## License

This project is licensed under the [Apache License, Version 2.0](./LICENSE).

Lo que la gente pregunta sobre eigenstyle

¿Qué es qompassai/eigenstyle?

+

qompassai/eigenstyle es mcp servers para el ecosistema de Claude AI. Your voice profile as a tool — a Rust workspace (MCP server, TUI, and GPUI GUI) over a measured writing fingerprint Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-10-19.

¿Cómo se instala eigenstyle?

+

Puedes instalar eigenstyle clonando el repositorio (https://github.com/qompassai/eigenstyle) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar qompassai/eigenstyle?

+

Nuestro agente de seguridad ha analizado qompassai/eigenstyle y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene qompassai/eigenstyle?

+

qompassai/eigenstyle es mantenido por qompassai. La última actividad registrada en GitHub es del 2026-10-19, con 0 issues abiertos.

¿Hay alternativas a eigenstyle?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega eigenstyle en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: qompassai/eigenstyle
[![Featured on ClaudeWave](https://claudewave.com/api/badge/qompassai-eigenstyle)](https://claudewave.com/repo/qompassai-eigenstyle)
<a href="https://claudewave.com/repo/qompassai-eigenstyle"><img src="https://claudewave.com/api/badge/qompassai-eigenstyle" alt="Featured on ClaudeWave: qompassai/eigenstyle" width="320" height="64" /></a>

Más MCP Servers

Alternativas a eigenstyle