
NeuroDock Translation
io.github.tlennon-iePublished by GitHub account tlennon-iev0.3.0Updated Oct 24, 2026
Decode subtext, tone, and ambiguity in messages; rewrite outgoing replies; brief meetings.
Overview
Lets an assistant decode tone, ambiguity and subtext in messages, rewrite outgoing replies, and brief meetings using deterministic heuristics plus optional…
- What you can do
- Provides four tools: translate_incoming, check_tone, rewrite_outgoing and brief_meeting. Each returns a deterministic heuristic analysis (ambiguity patterns, word-list tone scoring, speaker-prefix transcript partitioning) plus a rendered prompt the caller's own model can use to refine the result. brief_meeting enforces that quoted spans match the transcript verbatim and raises VERBATIM_ANCHOR_FAILED otherwise.
- When to use it
- Useful when an assistant needs help interpreting ambiguous or emotionally loaded messages, drafting replies, or summarizing meeting transcripts. It works without any connected LLM, and stays vendor-neutral when one is available.
- Requirements
- Runs locally over stdio as the PyPI package neurodock-mcp-translation, started with uvx or uv run. No accounts, API keys, environment variables or headers are declared. Desktop only; no web executable. Transcripts over 200k characters must be chunked by the caller.
Installation
In SourceWeft
- Open NeuroDock Translation in the dashboard and add it to a workspace.
- 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
neurodock-mcp-translation
Communication and translation tools as an MCP server. Shares its schemas and
prompt library with @neurodock/extension-browser (Phase 2).
Version: 0.0.2 (developer preview, deterministic baseline).
Status
v0.0.x implements the four tools specified in ADR 0005 — translation tool design:
Design framing: deterministic baseline + optional LLM refinement
Per ADR 0005 §1, this server contains no LLM SDK (no anthropic, no
openai, no ollama import). The substrate is provider-agnostic by
construction. Each tool returns an envelope of the shape:
The caller's MCP client (Claude Desktop, Claude Code, a custom MCP host) can:
- Use the deterministic analysis alone — useful when no LLM is
available, when latency matters, or when the user has not yet configured a
provider. The deterministic baseline already detects common ambiguity
patterns (
circle back,let's revisit,next week), scores tone on simple word-list heuristics, and partitions meeting transcripts via speaker-prefix and regex matching. - Refine via its own LLM — feed
prompt_for_llm_refinement.contentto the caller's configured model (Claude, GPT, local Llama) and ask for a JSON response conforming to the schema atoutput_schema_ref. Replace the deterministic analysis with the refined object before rendering to the user.
This makes the server useful without a connected LLM and vendor-neutral when one is connected.
Verbatim-anchor enforcement (brief_meeting)
brief_meeting.ambiguous_items[].quoted_span.text MUST equal
input.transcript[start_char:end_char]. The server validates this on every
response (including its own deterministic output) and raises
VERBATIM_ANCHOR_FAILED rather than fabricating ambiguity that is not in the
transcript. This is anti-hallucination armour required by plan.md §7.
References
- Spec: Section 7.
- Tool design rationale:
docs/decisions/0005-translation-tool-design.md. - Authoritative schemas:
packages/mcp-translation/schemas/.
Running
The server speaks the MCP stdio transport.
Smoke test:
Development
Known limitations (v0.0.2)
- No language packs. The deterministic heuristics are English-only. BCP-47
target_languageis accepted but only passed through to the prompt. - No
model_provenancefrom a real LLM. The deterministic analysis setsmode="unknown"on every response; a connected LLM client is responsible for setting this in the refined response. - No eval-corpus integration yet. The
eval_corpus_slicepaths are recorded on every response but the slices themselves are owned byeval-curatorand land in Phase 2. - No streaming. Long meeting transcripts (>200k chars) must be chunked by the caller.
- The four schemas under
schemas/are the v0.1.0 wire contract; the v0.0.2 envelope wraps them and will collapse to the wire contract once the Phase 2 LLM-refinement flow is the default path.
Source: packages/mcp-translation/README.md at commit 2d9cac6
Tools
0Version history
1- v0.3.0LatestSep 16, 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