Quality gate tooling for building-in-the-open artifacts. MCP server exposing writing quality analysis, readability scoring, grammar checking, token counting, and documentation completeness validation to AI assistants.
Bito provides 8 well-named, read-only analysis tools with clear descriptions (avg 150 chars) and complete input schemas. All tools follow verb_noun naming (get_, count_, check_, analyze_, lint_). Schemas include type definitions and parameter descriptions. However, output schemas are not documented in the source code provided, and error handling guidance is absent. No tool annotations (readOnlyHint) despite all being read-only. Parameter descriptions are adequate but lack format constraints (e.g., enum for 'template' in check_completeness, dialect in analyze_writing). Missing recovery guidance for failure cases.
Comprehensive writing analysis. Runs readability, grammar, consistency, and other checks. Returns aggregated report.
Check if a markdown document matches a template structure. Validates against ADR, handoff, or design-doc templates.
Analyze grammar and style. Returns passive voice percentage and other metrics.
Check readability of text. Returns Flesch-Kincaid grade level and statistics.
Count tokens in text. Returns token count and optional budget check. Supports 'claude' (default, conservative) and 'openai' (exact o200k_base) backends.
Retrieve custom content entry by name. Returns custom content defined in project configuration.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract structured data without knowing what fields to expect.
No error handling guidance. Tools lack recovery hints (e.g., 'If template not found, call get_custom() to list available templates'). Errors should guide LLM to next action.
Missing tool annotations. All 8 tools are read-only but lack readOnlyHint annotation. Annotations help LLMs reason about side effects and retry safety.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | <=2025-11-25 | v2 |
Get project name, version, and description
Lint a file against project rules. Applies configured linting rules based on file path patterns.
Enum constraints missing for constrained parameters. 'template' in check_completeness accepts 'adr|handoff|design-doc' but is defined as free-form string. 'dialect' in analyze_writing should be enum, not string.
Parameter format constraints underspecified. 'checks' in analyze_writing is array of strings but lacks description of valid check names. 'file_path' in lint_file lacks guidance on relative vs absolute paths.