mcpField
N
NeuroDock Translation

NeuroDock Translation

Local
neurodock.orgCommunication18Updated 18w ago

About NeuroDock Translation

NeuroDock Translation is an MCP server for analyzing message tone and ambiguity, rewriting replies, and summarizing meetings. Its deterministic English-only baseline works without an LLM; an MCP client can optionally use its prompts for refinement.

Key features

  1. 01Analyze incoming message subtext and ambiguity
  2. 02Check tone with word-list heuristics
  3. 03Rewrite outgoing replies
  4. 04Brief meetings with transcript-anchored quotes
  5. 05Offer optional LLM refinement prompts

Use cases

  1. 01Interpreting ambiguous incoming messages
  2. 02Revising a reply for tone
  3. 03Preparing a brief from a meeting transcript

MCP support

Exposes `translate_incoming`, `check_tone`, `rewrite_outgoing`, and `brief_meeting` as MCP tools. The client may use deterministic results alone or send refinement prompts to its configured LLM.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"tlennon-ie-neurodock-mcp-translation": {
"command": "uvx",
"args": [
"neurodock-mcp-translation"
]
}
}
}
Run commanduvx neurodock-mcp-translation

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypineurodock-mcp-translation0.3.0

Tools

4

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
textstringYes
channelanyNo
reader_contextanyNo
thread_contextanyNo
target_languageanyNo

Details

From the project 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:

ToolStatus
translate_incomingdeterministic baseline + LLM-refinement prompt
check_tonedeterministic baseline + LLM-refinement prompt
rewrite_outgoingdeterministic baseline + LLM-refinement prompt
brief_meetingdeterministic baseline + verbatim-anchor enforcement

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:

{
  "deterministic_analysis": {
    /* v0.1.0 output shape, populated heuristically */
  },
  "prompt_for_llm_refinement": {
    "role": "user",
    "content": "<rendered prompt template>",
    "output_schema_ref": "packages/mcp-translation/schemas/<tool>.schema.json"
  },
  "eval_corpus_slice": "packages/evals/corpora/translation/<slice>.jsonl"
}

The caller's MCP client (Claude Desktop, Claude Code, a custom MCP host) can:

  1. 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.
  2. Refine via its own LLM — feed prompt_for_llm_refinement.content to the caller's configured model (Claude, GPT, local Llama) and ask for a JSON response conforming to the schema at output_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

uv run neurodock-mcp-translation

The server speaks the MCP stdio transport.

Smoke test:

uv run python -c "from neurodock_mcp_translation import server; print(server.app.name)"
# neurodock-mcp-translation

Development

uv sync --all-packages --all-extras
uv run pytest packages/mcp-translation/tests/ -v
uv run ruff check packages/mcp-translation/
uv run ruff format --check packages/mcp-translation/
uv run mypy --strict packages/mcp-translation/src/

Known limitations (v0.0.2)

  • No language packs. The deterministic heuristics are English-only. BCP-47 target_language is accepted but only passed through to the prompt.
  • No model_provenance from a real LLM. The deterministic analysis sets mode="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_slice paths are recorded on every response but the slices themselves are owned by eval-curator and 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.