MODEL CONTEXT PROTOCOL · STDIO · LOCAL PROCESS

Eighteen strict tools. One local localisation harness for coding agents.

The STDIO server runs beside your repository and exposes project inspection, locale validation, crawling, extraction, translation checks, persisted evidence and reports. The complete scan-to-repair loop shipped in this MVP is the canonical AtlasPay fixture workflow; arbitrary repository repair is not implemented or implied here.

Setup

pnpm install
pnpm build:packages

Then register the server with your client. Transport: spawned STDIO process. Server entry: packages/mcp/dist/bin.js.

{
  "mcpServers": {
    "bhashafix": {
      "command": "node",
      "args": ["packages/mcp/dist/bin.js"]
    }
  }
}

The surface

18 tools, 4 resources and 5 prompts, listed from the recorded tools/list response.

Scope is explicit. Project utilities operate on validated input; scan creation, deterministic repair and identical-predicate verification are fixture-scoped in this release. The labels below separate those capabilities.

Tools
bhashafix_inspect_projectproject utility · Inspect framework and localisation infrastructure without executing project scripts.
bhashafix_list_localesproject utility · Validate and describe BCP 47 locales using platform standards.
bhashafix_crawl_routesproject utility · Crawl a URL under the BhashaFix URL and SSRF policy.
bhashafix_extract_stringsproject utility · Extract visible strings and context from supplied HTML.
bhashafix_create_scanAtlasPay fixture · Create a validated request for the bundled atlaspay-demo target. Arbitrary project targets are not accepted by this MVP tool.
bhashafix_run_scanAtlasPay fixture · Execute a previously created AtlasPay fixture request and persist its deterministic evidence.
bhashafix_scan_projectAtlasPay fixture · Run the canonical AtlasPay fixture matrix. This is not a generic repository scan implementation.
bhashafix_get_scanpersisted demo evidence · Read a locally persisted scan by explicit ID. The current end-to-end producer is the AtlasPay fixture workflow.
bhashafix_list_issuespersisted demo evidence · List evidence-backed issues from an explicit persisted scan produced by the fixture workflow.
bhashafix_get_issuepersisted demo evidence · Read one issue from an explicit persisted fixture scan and scan ID.
bhashafix_check_translationproject utility · Run deterministic placeholder and optional glossary checks.
bhashafix_generate_virtual_previewproject utility · Generate a protected deterministic specimen for a sandboxed synthetic localisation preview.
bhashafix_suggest_translationproject utility · Provider-routed linguistic operation. Returns an honest unavailable result when no provider is configured.
bhashafix_generate_translationproject utility · Provider-routed linguistic operation. Returns an honest unavailable result when no provider is configured.
bhashafix_prepare_repairAtlasPay fixture · Prepare a diff for selected AtlasPay fixture issue IDs. The repair planner is confined to the demo data allowlist.
bhashafix_apply_repairAtlasPay fixture · Apply a reviewed AtlasPay fixture diff. Dry run is the default; mutation requires the exact prepared diff hash.
bhashafix_verify_repairAtlasPay fixture · Rerun the canonical AtlasPay predicates after a fixture repair and return the recorded verification status.
bhashafix_generate_reportpersisted demo evidence · Generate portable reports for an explicit persisted scan. Current recorded end-to-end evidence is fixture-scoped.
Resources
bhashafix://project/configBhashaFix project config · text/plain
bhashafix://project/glossaryBhashaFix project glossary · text/plain
bhashafix://project/brand-voiceBhashaFix brand voice · text/plain
bhashafix://project/translation-memoryBhashaFix translation memory · text/plain
Prompts
localise_projectInspect the project, identify source and target locales, extract strings, then generate only provider-backed translations and verify the rendered result.
audit_localisationRun deterministic localisation checks first, then separate model-assisted findings by confidence and human-review requirement.
repair_verified_issuesPrepare a repair for explicit verified issue IDs, inspect the unified diff, apply only after confirmation, then rerun identical predicates.
review_translation_qualityReview meaning, formality, brand voice and context. Treat subjective findings as recommendations with confidence, not facts.
prepare_release_reportVerify blocking issues, source-locale regression, accessibility and diff policy before generating the release report.

A recorded session

8 calls against a spawned server and the bundledatlaspay-demo target, published under /evidence/mcp/. This is fixture evidence, not evidence that the repair tools can patch an arbitrary repository. Each file holds the result payload that call returned; request arguments that were not recorded are not reconstructed below.

  1. tools/listList the tools the server exposes
    Result payload
    tools18resources4prompts5
    Verification status
    this call does not report a verification
  2. bhashafix_inspect_projectInspect the project
    Recorded parameters
    projectRoot<PROJECT_ROOT>
    Result payload
    frameworknextjssupportsupportedscripts discovered41commandsRequireApprovaltrue
    Verification status
    this call does not report a verification
  3. bhashafix_create_scanCreate a scan
    Recorded parameters
    targetatlaspay-demomodeliverequestedLocalesar-SA · de-DE · ja-JP · hi-INrequestedRoutes/ · /pricing · /dashboard · /checkout · /settings
    Result payload
    scanIdscan_8e2be01b06024151bad13509f8af04aacreatedAt2026-08-03T13:33:57.516ZstatuscreatedexecutionStartedfalsecoveragePolicyThe bundled deterministic run executes the complete canonical AtlasPay matrix.
    Verification status
    this call does not report a verification
  4. bhashafix_run_scanRun it
    Recorded parameters
    scanIdscan_8e2be01b06024151bad13509f8af04aa
    Result payload
    originGUIDED_DEMOstatuscompleted_with_warningsstartedAt → completedAt2026-08-03T13:33:57.573Z → 2026-08-03T13:33:57.710ZroutesDiscovered/ · /pricing · /dashboard · /checkout · /settingslocalesTestedhi-IN · de-DE · ar-SA · he-IL · ja-JP · zh-Hans-CN · th-TH · fr-FR · es-MX · en-GBviewportsmobile 390×844 · tablet 768×1024 · desktop 1440×900themeslight · darkissues10engineVersion0.2.0
    Issue IDs returned
    BF-VIS-HI-001BF-VIS-DE-002BF-LOC-AR-003BF-RTL-HE-004BF-I18N-JA-005BF-FONT-ZH-006BF-VIS-TH-007BF-I18N-FR-008BF-LING-ES-009BF-META-EN-010
    Verification status
    this call does not report a verification
  5. bhashafix_list_issuesRead the verified issues
    Result payload
    issues10blocking10rulesvertical-clipping · cta-overflow · wrong-direction · rtl-icon-order · raw-translation-key · font-coverage · line-breaking · placeholder-mismatch · glossary-violation · wrong-page-lang
    Issue IDs returned
    BF-VIS-HI-001BF-VIS-DE-002BF-LOC-AR-003BF-RTL-HE-004BF-I18N-JA-005BF-FONT-ZH-006BF-VIS-TH-007BF-I18N-FR-008BF-LING-ES-009BF-META-EN-010
    Verification status
    this call does not report a verification
  6. bhashafix_prepare_repairPrepare a repair (dry run)
    Recorded parameters
    filesapps/demo-target/data/layout.json · apps/demo-target/data/locale-state.json · apps/demo-target/data/translations.json
    Result payload
    dryRuntrueappliedfalseunifiedDiff64 diff lines recorded
    Artifacts touched
    apps/demo-target/data/layout.jsonapps/demo-target/data/locale-state.jsonapps/demo-target/data/translations.json
    Verification status
    this call does not report a verification
  7. bhashafix_apply_repairApply the approved issue IDs
    Recorded parameters
    filesapps/demo-target/data/layout.json · apps/demo-target/data/locale-state.json · apps/demo-target/data/translations.json
    Result payload
    dryRunfalseappliedtruerollbackRoot<PROJECT_ROOT>\.bhashafix\rollback\scan_8e2be01b06024151bad13509f8af04aaunifiedDiff64 diff lines recorded
    Artifacts touched
    apps/demo-target/data/layout.jsonapps/demo-target/data/locale-state.jsonapps/demo-target/data/translations.json<PROJECT_ROOT>\.bhashafix\rollback\scan_8e2be01b06024151bad13509f8af04aa
    Verification status
    this call does not report a verification
  8. bhashafix_verify_repairRerun the identical predicates
    Recorded parameters
    scanIdscan_8e2be01b06024151bad13509f8af04aa
    Result payload
    verifiedAt2026-08-03T13:33:57.827ZbaselineBlocking10finalBlocking0sourceLocaleRegressionPASSnewBlockingIssues0notMeasuredconsoleErrorDelta · accessibilityRegression · diffWithinPolicy
    Verification status
    verified with warnings

Guardrails