NeuroDock translation MCP server — deterministic baseline analysis plus structured LLM-refinement prompts for incoming/outgoing message decoding and meeting briefing.
Project description
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.1 (developer preview, deterministic baseline).
Status
v0.0.1 implements the four tools specified Section 7 and ADR
0005-translation-tool-design.md:
| Tool | Status |
|---|---|
translate_incoming |
deterministic baseline + LLM-refinement prompt |
check_tone |
deterministic baseline + LLM-refinement prompt |
rewrite_outgoing |
deterministic baseline + LLM-refinement prompt |
brief_meeting |
deterministic 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:
- 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
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.1)
- 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.1 envelope wraps them and will collapse to the wire contract once the Phase 2 LLM-refinement flow is the default path.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file neurodock_mcp_translation-0.0.1.tar.gz.
File metadata
- Download URL: neurodock_mcp_translation-0.0.1.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f00c6ed83b64e34a3e5945785dcf9de3e518ed0c44addbfd0434d6cd6aea129d
|
|
| MD5 |
38f3859e614dbed9f0cc9bd1e1ea0836
|
|
| BLAKE2b-256 |
692ff2bd9f54aa0a35bf31beb67abfe39dc55e5db87aced3232bd0b257a4b7c2
|