DialectOS

tech.kyanitelabsPublished by kyanitelabs.techv0.3.1Updated Oct 30, 2026

Spanish dialect translation MCP server: 25 regional variants, glossary enforcement, quality gates.

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

Local MCP server and CLI that translates and QA-checks content across 25 regional Spanish variants, preserving markdown and locale-file structure.

What you can do
  • Translate text, READMEs, API docs and code comments into a chosen Spanish dialect, with semantic context and quality contracts
  • Translate markdown while keeping tables, code blocks and links intact, extract translatable text, and build side-by-side bilingual documents
  • Work on i18n locale files: detect missing keys, translate them, batch-translate to several dialects, create dialect variants, check tú/usted formality and apply gender-neutral language
  • Look up dialects and glossary terms, detect the dialect of a sample, and research regional terminology without changing stored data
When to use it
Useful when localizing documentation, app strings, support macros or locale files into specific regional Spanish variants rather than generic Spanish, and when you want glossary enforcement and structure-preserving output checked before release.
Requirements
Runs as a local stdio process launched through pnpm from a GitHub release tarball (not the npm registry). Needs an LLM provider configured via environment variables such as LLM_API_URL, LLM_MODEL, LLM_API_FORMAT and optionally LLM_API_KEY, plus ALLOWED_LOCALE_DIRS for locale-file access; a local LM Studio server or a cloud endpoint both work.
Before you install
Translation output is sent to whichever LLM endpoint you configure, so content leaves the machine unless a local model is used; LLM_API_KEY is a secret to keep out of shared configs. Tools can write translated files and modify locale files, so scope ALLOWED_LOCALE_DIRS narrowly. The README also advertises a separate paid launch-audit service, which is not part of the MCP tools.

Installation

In SourceWeft

  1. Open DialectOS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[DialectOS — Spanish dialect localization MCP server: translate and QA across 25 regional variants]

🌎 DialectOS

TL;DR: DialectOS — open-source MCP server and CLI for translating and QA-checking content across 25 regional Spanish variants. Best for AI agents, documentation teams, and app developers localizing into Spanish.

The first Model Context Protocol server built specifically for Spanish dialects.

DialectOS is an open-source Spanish dialect translation server that runs as an MCP (Model Context Protocol) tool and CLI. It translates English and other languages into 25 regional Spanish variants — Mexican, Argentinian, Colombian, Puerto Rican, and more — while preserving markdown structure, enforcing glossary terms, and applying adversarial quality gates that catch semantic drift before it reaches users.

Translate, detect, and adapt content across 25 regional Spanish variants while preserving markdown structure, code comments, and locale file formatting.

[CI] [Tests] [License] [Node] [pnpm] [MCP] [Security]

📖 Documentation · 🚀 Quick Start · 🛠️ MCP Tools · Agent Skill · 📦 Packages · 🤝 Contributing · 📋 Roadmap


Public Discovery

DialectOS is a Spanish localization and dialect QA system for AI agents, documentation teams, app developers, and support organizations. It provides MCP tools, CLI workflows, glossary enforcement, locale-file validation, and adversarial quality gates for regional Spanish variants.

AI discovery: llms.txt provides a compact project summary for AI assistants and search crawlers.

Best-fit searches: Spanish dialect translation MCP server, Spanish localization QA, Model Context Protocol translation tool, i18n validation CLI, regional Spanish translator, glossary enforcement, AI localization audit, Spanish launch certification.

Agent Skill

DialectOS includes a public agent skill at skills/dialectos/SKILL.md. Use $dialectos in compatible agent hosts when you want an agent to choose the right MCP or CLI workflow for regional Spanish translation, markdown preservation, locale-file validation, glossary enforcement, register checks, and launch-readiness QA.

Spanish Launch Certification

DialectOS is available as a paid Spanish localization launch audit. We certify your Spanish docs, app strings, support macros, or locale files across target dialects and deliver an MQM-aligned launch-readiness report.

✨ What makes DialectOS different?

FeatureGoogle TranslateDeepL APIDialectOS
Spanish dialect awareness❌ Generic "Spanish"⚠️ Limited variants✅ 25 regional variants
MCP native integration❌❌✅ 17 MCP tools
Markdown structure preservation❌❌✅ Tables, code blocks, links intact
i18n locale file support❌❌✅ JSON locale diff & merge
Gender-neutral language❌❌✅ elles / latine / -x
Formality checking (tú vs usted)❌❌✅ Cross-dialect consistency
Adversarial quality gates❌❌✅ Semantic drift + structure validation
LLM-first dialect adaptation❌ Generic MT⚠️ Limited dialect control✅ Any OpenAI/Anthropic/LM Studio local LLM + dialect contracts
Translation validation (any provider)❌❌✅ dialectos validate — standalone correctness check
GitHub CI integration❌❌✅ Composite action for PR validation
Auto-glossary from corrections❌❌✅ Learns from user feedback
Public benchmark suite❌❌✅ 205 adversarial samples across 25 dialects

🎯 Why this exists

"We shipped a product to Mexico using our Spain Spanish translations. Users thought we were being intentionally rude."

Spanish is not one language — it's 25 regional variants with different vocabulary, formality levels, slang, and grammatical preferences. Existing translation tools treat Spanish as a monolith.

DialectOS solves this by:

  • Understanding regional differences (es-MX vs es-ES vs es-AR vs es-CO...)
  • Preserving technical document structure during translation
  • Providing glossary enforcement for consistent terminology
  • Adding semantic context, dialect grammar profiles, quality contracts, and quality gates that catch drift before it reaches users
  • Running as an MCP server so AI assistants can translate natively

🚀 Quick Start

Install note: DialectOS v0.3.1 is distributed through GitHub Release tarballs, not the npm registry. The CLI and MCP tarballs bundle the unpublished @dialectos/* workspace packages, so a single pnpm add -g / pnpm dlx command works without a registry publish. Clone the repo only for local development or the browser demo.

MCP setup

Add the released MCP server to Claude Desktop, Cursor, or any MCP client:

json
{  "mcpServers": {    "dialectos": {      "command": "pnpm",      "args": [        "dlx",        "https://github.com/KyaniteLabs/DialectOS/releases/download/v0.3.1/dialectos-mcp-0.3.1.tgz"      ],      "env": {        "LLM_API_URL": "https://your-llm-gateway/v1/chat/completions",        "LLM_MODEL": "your-dialect-capable-model",        "LLM_API_KEY": "your-key-if-required",        "LLM_API_FORMAT": "openai",        "ALLOWED_LOCALE_DIRS": "/path/to/locales"      }    }  }}

For local development from a source checkout, run pnpm build and point your MCP client at packages/mcp/dist/index.js.

Full-app browser demo

The browser demo requires a source checkout.

The browser demo is no longer a fake/static rule replacer. It calls a local DialectOS backend, and that backend calls the configured provider stack.

bash
LLM_API_URL="http://127.0.0.1:1234/v1/chat/completions" \LLM_API_FORMAT="openai" \LLM_MODEL="your-local-model-name" \LLM_ALLOW_LOCAL=1 \pnpm demo

Open http://127.0.0.1:8080.

For the beginner container walkthrough, see docs/full-app-demo.md.

Recommended certified models

For v0.3.0, the recommended default cloud model is glm-4.5-air through the Z.ai international Anthropic-compatible endpoint. It passed basic, expanded adversarial, and long-document certification. Use glm-5.1 when you want the higher-confidence/premium option, and qwen3.5-9b via LM Studio for local/offline certification.

bash
export LLM_API_URL="https://api.z.ai/api/anthropic/v1/messages"export LLM_MODEL="glm-4.5-air"export LLM_API_FORMAT="anthropic"export LLM_API_KEY="..."

LM Studio local model testing

Start LM Studio's local server, then point DialectOS at any downloaded local model. LLM_API_FORMAT=lmstudio uses LM Studio's native REST API and loads the model just-in-time when needed.

bash
LM_STUDIO_URL="http://127.0.0.1:1234" \LLM_MODEL="publisher/model-key-or-api-identifier" \LLM_API_FORMAT="lmstudio" \pnpm dialect:eval -- --live --provider=llm --out=/tmp/dialectos-lmstudio-eval

Incremental provider certification

Use dialect:certify for long local-model or cloud-provider runs. It writes events.jsonl, progress.json, and an incrementally updated results.json after every sample, with per-sample timeout protection.

bash
LM_STUDIO_URL="http://127.0.0.1:1234" \LLM_MODEL="qwen3.5-9b" \LLM_API_FORMAT="lmstudio" \pnpm dialect:certify -- --live --provider=llm --sample-timeout-ms=300000 --out=/tmp/dialectos-certify

Adversarial dialect certification

Use dialect:certify:adversarial to run paraphrase, dialect-collision, taboo-copy, placeholder, register, and repeatability traps. It wraps dialect:certify and writes a failure-matrix.md plus aggregate repeatability results.

bash
pnpm dialect:certify:adversarial -- --live --provider=llm --repeat=2 --sample-timeout-ms=300000 --out=/tmp/dialectos-adversarial

Long-document certification

Use dialect:certify:documents to certify README/API-doc/locale JSON flows, not just sentence fixtures. It checks markdown structure, placeholders, URLs, code fences, API tables, and locale JSON outputs.

bash
pnpm dialect:certify:documents -- --live --provider=llm --dialects=es-MX,es-PA,es-PR --out=/tmp/dialectos-doc-cert

Customer-facing certification report

Use dialect:report to turn certification artifacts into a customer-facing Markdown deliverable for paid launch audits.

bash
pnpm dialect:report -- --input=audits/release-candidate-2026-04-22/model-matrix.json --out=customer-report.md --customer="Acme SaaS" --product="Spanish launch"

CLI install

bash
# Install the v0.3.1 CLI tarball from the GitHub Releasepnpm add -g https://github.com/KyaniteLabs/DialectOS/releases/download/v0.3.1/dialectos-cli-0.3.1.tgz
# Or use a local source checkoutpnpm install --frozen-lockfilepnpm build
# Translate to Mexican Spanishdialectos translate "Hello world" --dialect es-MX
# Translate a README preserving structuredialectos translate-readme README.md --dialect es-AR --output README.ar.md
# Validate an existing translationdialectos validate --source "Click the button" --translated "Haz clic en el botón" --dialect es-MX
# Validate translation filesdialectos validate --source-file en.json --translated-file es-MX.json --dialect es-MX --format json
# View translation corpus statisticsdialectos corpus stats
# Run dialect quality benchmarkdialectos benchmark run --dialects es-MX,es-AR,es-ES
# Generate glossary suggestions from correctionsdialectos glossary suggest --min-occurrences 3
# Compare two glossary versionsdialectos glossary diff glossary-v1.json glossary-v2.json
# Detect missing i18n keysdialectos i18n detect-missing ./locales/en.json ./locales/es.json
# List all supported dialectsdialectos dialects list

From source

bash
git clone https://github.com/KyaniteLabs/DialectOS.gitcd DialectOSpnpm installpnpm buildpnpm test        # 662+ tests passing

🛠️ MCP Tools

Markdown Translation (4 tools)

ToolDescription
translate_markdownTranslate while preserving tables, code blocks, links
extract_translatableExtract only translatable text from markdown
translate_api_docsTranslate API docs with table cell-level translation
create_bilingual_docSide-by-side bilingual documents

i18n Operations (6 tools)

ToolDescription
detect_missing_keysCompare locale files for missing keys
translate_missing_keysAuto-translate missing keys
batch_translate_localesBatch translate to multiple dialects
manage_dialect_variantsCreate dialect-specific variants
check_formalityCheck tú vs usted consistency
apply_gender_neutralApply gender-neutral language

Translation (7 tools)

ToolDescription
translate_textTranslate with semantic context, grammar profiles, and quality contracts
detect_dialectDetect dialect from sample text
translate_code_commentTranslate comments, preserve code
translate_readmeFull README translation pipeline
search_glossarySearch 300+ source-attributed glossary terms
list_dialectsList all 25 supported dialects
research_regional_termResearch source-backed regional lexeme proposals without mutating runtime data

📦 Packages

PackageVersionDescriptionTests
@dialectos/mcp0.3.117 MCP tools (stdio server)93
@dialectos/cli0.3.1CLI: translate, validate, corpus, benchmark, glossary569
@dialectos/providers0.3.1LLM, DeepL, LibreTranslate, MyMemory with circuit breaker + corpus152
@dialectos/security0.3.1Rate limiting, SSRF protection, sanitization68
@dialectos/types0.3.1Shared TypeScript types + glossary, profile, certification, and quality data54
@dialectos/locale-utils0.3.1Locale file diff/merge utilities55
@dialectos/markdown-parser0.3.1Structure-preserving markdown parser74

662+ tests across 7 packages plus docs contracts, demo-server contracts, and static-hardening checks


🛡️ Security & Quality

DialectOS has undergone adversarial security hardening:

  • 18 CVEs resolved via dependency overrides
  • SSRF protection on all provider endpoints
  • Circuit breaker with half-open probe locks
  • Atomic checkpoint writes with schema versioning
  • HTML injection detection in translated output
  • Semantic drift scoring — catches "looks valid but meaning changed"
  • Provider capability negotiation — validates language support before API calls
  • Chaos harness for deterministic resilience testing

See SECURITY.md for details.


🎨 Supported Dialects

CodeRegionExample Difference
es-ESSpain"Coche" (car), "Ordenador" (computer)
es-MXMexico"Carro", "Computadora"
es-ARArgentina"Auto", "Computadora", "Che"
es-COColombia"Carro", "Computador", "Chévere"
es-CLChile"Auto", "Computadora", "Caleta"
es-PEPeru"Carro", "Computadora", "Pe"
es-VEVenezuela"Carro", "Computadora", "Chamo"
es-UYUruguay"Auto", "Computadora", "Bo"
es-GQEquatorial Guinea"Carro", "Camisola", "Bacalao"
es-USUnited States"Carro", "Computadora", "Pocha"
es-PHPhilippines (Chavacano)"Carro", "Jendeh", "Kame"
es-BZBelize"Carro", "Breki", "Kriol"
es-ADAndorra"Carro", "Madriu", "Caldea"

...and 12 more. Full list via dialectos dialects list.


🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐│                        MCP Client                            ││              (Claude Desktop / Cursor / etc.)                │└──────────────────────┬──────────────────────────────────────┘                       │ stdio┌──────────────────────▼──────────────────────────────────────┐│                   @dialectos/mcp                               ││              17 tools • JSON-RPC over stdio                  │└──────────────────────┬──────────────────────────────────────┘                       │┌──────────────────────▼──────────────────────────────────────┐│                   @dialectos/cli                               ││   translate • validate • corpus • benchmark • glossary     ││   ├─ Policy profiles (strict/balanced/permissive)           ││   ├─ Quality gates (token/glossary/structure/semantic)      ││   ├─ Translation corpus + auto-glossary                     ││   └─ Checkpoint resumption + telemetry                      │└──────────────────────┬──────────────────────────────────────┘                       │┌──────────────────────▼──────────────────────────────────────┐│                @dialectos/providers                            ││   ┌─────────┐  ┌─────────────────┐  ┌─────────────────┐    ││   │   LLM   │  │     DeepL       │  │ Libre/MyMemory │   ││   │ Primary │  │ Paid fallback   │  │ Generic fallback│    ││   └─────────┘  └─────────────────┘  └─────────────────┘    ││        │                │                    │              ││        └────────────────┴────────────────────┘              ││              Circuit Breaker + Rate Limiter                  │└─────────────────────────────────────────────────────────────┘

📊 Quality Gates

Every translation passes through 4 quality dimensions:

Quality Score = tokenIntegrity×25% + glossaryFidelity×30% + structureIntegrity×20% + semanticSimilarity×25%
GateWhat it checksExample failure
Token IntegrityProtected terms preserved"Kyanite Labs" → "Cianita Labs"
Glossary FidelityEnforced terminology used"API" → "Interfaz" (when glossary says "API")
Structure IntegrityMarkdown structure intactMissing code fence, broken table
Semantic SimilarityMeaning not drifted"API is down" → "Hello world"

❓ FAQ

What is DialectOS? DialectOS is an open-source translation engine for Spanish regional dialects. It runs as an MCP server (for AI assistants like Claude) and a CLI tool for developers.

How is DialectOS different from Google Translate? Google Translate treats Spanish as one language. DialectOS understands 25 regional variants, preserves markdown structure, enforces glossaries, and applies quality gates that catch errors before they reach users.

What are Spanish dialects? Spanish varies significantly by country. Mexican Spanish uses "carro" for car; Spain uses "coche"; Argentina uses "auto". DialectOS handles these differences automatically.

Does DialectOS work with ChatGPT / Claude? Yes. DialectOS is an MCP server, so Claude Desktop, Cursor, Windsurf, and other MCP clients can use its 17 translation tools natively.

Is DialectOS free? Yes. DialectOS v0.3.1 is released under Apache-2.0. See LICENSE for details.

What is MCP? Model Context Protocol is an open standard that lets AI assistants use external tools. DialectOS exposes 17 translation tools through MCP so AI agents can translate natively.

Can I use DialectOS for commercial projects? Yes. Apache-2.0 allows commercial use, modification, and redistribution subject to the license terms. See LICENSE for details.

How accurate is the translation? DialectOS applies 4 quality gates (token integrity, glossary fidelity, structure integrity, semantic similarity) and adversarial tests. Automated tests verify correctness across dialects.

🏷️ Badges

Add this badge to your project if you use DialectOS for translation:

markdown
[![Translated with DialectOS](https://img.shields.io/badge/translated%20with-DialectOS-d89b2b)](https://github.com/KyaniteLabs/DialectOS)

⚡ GitHub Action

Validate Spanish translations in CI on every pull request:

yaml
- uses: KyaniteLabs/[email protected]  with:    dialect: es-MX    source-dir: locales/en    target-patterns: 'locales/es-MX/*.json'    fail-on-blocking: true

Multi-dialect matrix:

yaml
strategy:  matrix:    dialect: [es-ES, es-MX, es-AR, es-CO]steps:  - uses: KyaniteLabs/[email protected]    with:      dialect: ${{ matrix.dialect }}      fail-on-blocking: true

See docs/github-action.md for full configuration options.


🤝 Contributing

We welcome contributors! See CONTRIBUTING.md for:

  • Setting up your development environment
  • Running the test suite
  • Submitting pull requests
  • Code style guidelines

Good first issues are tagged with good first issue — perfect for newcomers.


📋 Roadmap

See ROADMAP.md for upcoming features including:

  • Portuguese dialect support (pt-BR, pt-PT)
  • Real-time collaborative translation
  • Custom provider plugins
  • OpenAI-compatible, Anthropic-compatible, and LM Studio local gateways via LLM_API_URL/LM_STUDIO_URL + LLM_MODEL + LLM_API_FORMAT
  • VS Code extension

📄 License

Apache-2.0 — see LICENSE for details. Dated relicensing history of published releases: LICENSING.md.


Made with ❤️ by KyaniteLabs and contributors.

Star ⭐ this repo if it helps your project!


Part of KyaniteLabs

More from KyaniteLabs. Related projects:

  • kinocut — guardrailed video-editing MCP server for AI agents (formerly mcp-video)
  • Epoch — time-estimation MCP server (PERT) for AI agents
  • checkyourself — local-first production-readiness checks for AI-built code

→ More at kyanitelabs.tech

What is DialectOS?

DialectOS is an open-source Spanish dialect translation server that runs as an MCP tool and CLI. It translates into 25 regional Spanish variants while preserving markdown structure, enforcing glossary terms, and applying adversarial quality gates that catch semantic drift.

ProductDialectOS
CategorySpanish dialect translation and localization-QA MCP server and CLI
Best forAI agents, documentation teams, app developers, and support teams localizing into regional Spanish
Nota general-purpose machine-translation API for many languages
SourceGitHub · Forgejo (private, maintainers only)
KeywordsSpanish dialect translation MCP server, Spanish localization QA, regional Spanish translator, glossary enforcement, i18n validation CLI

Who it's for

  • Primary: AI agents, documentation teams, app developers, and support teams localizing into regional Spanish
  • Use when you need to translate or validate content for specific Spanish dialects while preserving markdown and locale-file structure and enforcing glossaries
  • Skip if you need a general-purpose machine-translation API for many languages

FAQ

What is DialectOS?

DialectOS is an open-source Spanish dialect translation server that runs as an MCP tool and CLI. It translates into 25 regional Spanish variants while preserving markdown structure, enforcing glossary terms, and applying adversarial quality gates that catch semantic drift.

Who should use DialectOS?

AI agents, documentation teams, app developers, and support teams localizing into regional Spanish.

How is DialectOS different?

Unlike generic machine translation, DialectOS treats Spanish as 25 regional variants and gates output on token, glossary, structure, and semantic checks.

Is DialectOS production software?

Treat the README status and release tags as source of truth for maturity. Validate against your own requirements before production use.

Status

  • Maintained as of 2026 on the default branch
  • Prefer release tags when pinning dependencies
  • Report issues on GitHub

Agent surface

  • Coding agents: read this README first, then repo docs/AGENTS.md if present
  • Prefer machine-readable briefs (llms.txt) when the repo ships one
  • MCP or skill entrypoints are documented in-repo when applicable

Contributing

Issues and PRs welcome on GitHub. Keep public docs free of secrets and machine-local paths.

License

See LICENSE in this repository (or package metadata if license is package-only).

Source: README.md at commit 656a506

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.3.1LatestOct 30, 2026
  2. v0.1.0Oct 13, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts