NeuroDock Translation について
NeuroDock Translationは、メッセージのトーンや曖昧さの分析、返信の書き換え、会議の要約を行うMCPサーバーです。英語のみの決定論的な基本機能はLLMなしで動作し、MCPクライアントからプロンプトを使った任意の改善もできます。
主な機能
- 01受信メッセージの含意と曖昧さを分析
- 02単語リストのヒューリスティックでトーンを確認
- 03送信する返信を書き換え
- 04文字起こしの引用を保って会議を要約
- 05任意のLLM改善用プロンプトを提供
活用シーン
- 01曖昧な受信メッセージの解釈
- 02返信のトーンの調整
- 03会議の文字起こしから要約を作成
MCP 対応
`translate_incoming`、`check_tone`、`rewrite_outgoing`、`brief_meeting`の4つのMCPツールを公開します。クライアントは決定論的な結果だけを使うことも、改善用プロンプトを設定済みのLLMに渡すこともできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | はい | |
| channel | any | いいえ | |
| reader_context | any | いいえ | |
| thread_context | any | いいえ | |
| target_language | any | いいえ |
詳細
neurodock-mcp-translation
MCP サーバーとしてのコミュニケーションおよび翻訳ツールです。スキーマと
プロンプトライブラリを @neurodock/extension-browser と共有します(Phase 2)。
バージョン: 0.0.2(開発者プレビュー、決定論的ベースライン)。
ステータス
v0.0.x では、ADR 0005 — 翻訳ツールの設計で指定された4つのツールを実装しています。
| ツール | ステータス |
|---|---|
translate_incoming | 決定論的ベースライン + LLM による改良プロンプト |
check_tone | 決定論的ベースライン + LLM による改良プロンプト |
rewrite_outgoing | 決定論的ベースライン + LLM による改良プロンプト |
brief_meeting | 決定論的ベースライン + 原文アンカーの強制 |
設計方針:決定論的ベースライン + オプションの LLM による改良
ADR 0005 §1 に従い、このサーバーには LLM SDK が含まれていません(anthropic、openai、
ollama のインポートはありません)。基盤は設計上、プロバイダーに依存しません。
各ツールは次の形式のエンベロープを返します。
{
"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"
}
呼び出し元の MCP クライアント(Claude Desktop、Claude Code、カスタム MCP ホスト)は、次のことができます。
- 決定論的な分析のみを使用する — LLM が利用できない場合、レイテンシが重要な場合、またはユーザーがまだプロバイダーを設定していない場合に便利です。決定論的ベースラインでは、一般的な曖昧さのパターン(
circle back、let's revisit、next week)の検出、単純な単語リストに基づくヒューリスティックによるトーンのスコアリング、話者の接頭辞と正規表現による会議の文字起こしの分割をすでに行います。 - 独自の LLM で改良する —
prompt_for_llm_refinement.contentを呼び出し元で設定したモデル(Claude、GPT、ローカルの Llama)に渡し、output_schema_refのスキーマに準拠する JSON 応答を要求します。ユーザーに表示する前に、決定論的な分析を改良後のオブジェクトに置き換えます。
これにより、このサーバーは LLM に接続しなくても有用であり、LLM に接続した場合も ベンダーに依存しません。
原文アンカーの強制(brief_meeting)
brief_meeting.ambiguous_items[].quoted_span.text は
input.transcript[start_char:end_char] と一致しなければなりません。サーバーは
自身の決定論的な出力を含むすべての応答でこれを検証し、文字起こしに存在しない曖昧さを捏造するのではなく、
VERBATIM_ANCHOR_FAILED を発生させます。これは plan.md §7 で求められている
ハルシネーション防止のための防護策です。
参考資料
- 仕様:セクション 7。
- ツール設計の根拠:
docs/decisions/0005-translation-tool-design.md。 - 正式なスキーマ:
packages/mcp-translation/schemas/。
実行方法
uv run neurodock-mcp-translation
このサーバーは MCP の stdio トランスポートを使用します。
スモークテスト:
uv run python -c "from neurodock_mcp_translation import server; print(server.app.name)"
# neurodock-mcp-translation
開発
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/
既知の制限事項(v0.0.2)
- 言語パックはありません。決定論的ヒューリスティックは英語のみを対象とします。BCP-47 の
target_languageは受け付けますが、プロンプトに渡すだけです。 - 実際の LLM による
model_provenanceはありません。決定論的な分析ではすべての応答でmode="unknown"が設定されます。接続された LLM クライアントは、改良後の応答でこれを設定する必要があります。 - eval-corpus との連携はまだありません。
eval_corpus_sliceのパスはすべての応答に記録されますが、 スライス自体はeval-curatorが管理し、Phase 2 で追加されます。 - ストリーミングには対応していません。長い会議の文字起こし(20万文字超)は、呼び出し元が分割する必要があります。
schemas/配下の4つのスキーマは v0.1.0 のワイヤー契約です。v0.0.2 の エンベロープはこれらをラップしており、Phase 2 の LLM 改良フローがデフォルトの経路になった時点で、 ワイヤー契約に統合されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。