MCP server for analyzing Japanese text with morphological analysis
The server provides 13 Japanese text analysis tools with complete input schemas and descriptions in Japanese. However, the definitions exhibit systematic issues that prevent a higher score: (1) Tool names are inconsistent in clarity, some use action verbs clearly (count_text_chars, extract_verbs) but others are vague or compound (analyze_text, analyze_file, analyze_pos_distribution, analyze_sentence_structure, analyze_formality_level); (2) Descriptions are translated from Japanese and occasionally lack specificity about when to use a tool vs. a similar one (e.g., analyze_text vs. analyze_file vs. analyze_sentence_structure); (3) Parameter descriptions are minimal and lack guidance on edge cases, format constraints, or dependencies; (4) Output schemas are not documented in the source code, tools return hardcoded text responses without visible structured output schemas; (5) Error handling is basic (try/catch returns error.message) and does not classify errors or guide recovery; (6) No security considerations visible (file path handling does have some validation logic for Windows/WSL conversion, but no sanitization against path traversal beyond basic checks). The server performs a single, well-scoped domain (Japanese NLP) but lacks the polish and rigor expected of production-grade agent tools. Per-tool scores average 58 across 13 tools.
ファイル内のテキストを形態素解析し、詳細な言語分析結果を返します。テキストファイル、JSONファイル、CSVファイルに対応します。
テキストの敬語の使用と丁寧さのレベルを分析します。
テキストの品詞分布を分析し、各品詞の出現頻度を円グラフ形式で表示します。
各文の構造を分析し、主語、述語、修飾句などの要素を識別します。
日本語テキストを形態素解析し、詳細な言語分析結果を返します。品詞、文字種、敬語、句読点などを分析します。
2つのテキストを形態素解析して比較し、共通する単語、異なる単語、語彙の豊かさなどを分析します。
テキストの文字数を計測します。改行とスペースを除外した実質的な文字数を返します。
テキストの単語数を計測します。言語を指定して、英語はスペース区切り、日本語は形態素解析を使用します。
Output schemas are not documented or visible in source code. Tools appear to return plain-text responses (e.g., 'テキストの文字数: 42文字') with no structured field definitions. LLMs cannot parse expected output fields or plan downstream tool chains.
Tool names are ambiguous or non-specific. 'analyze_text', 'analyze_file', 'analyze_pos_distribution', 'analyze_sentence_structure', 'analyze_formality_level' all use the generic 'analyze_' prefix, making it unclear to an LLM which to call for a specific task. Lack verb-noun specificity required by pattern:tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
日本語テキストの各文字の読み方(ひらがな、カタカナ、ローマ字)を推定して表示します。
テキストから形容詞を抽出し、基本形を表示します。
テキストから名詞句(名詞とそれに関連する修飾語)を抽出します。
テキストから助詞を抽出し、使用頻度を分析します。
テキストから動詞を抽出し、基本形と活用形を表示します。
Parameter descriptions lack actionable constraints and format guidance. For example, 'language' in count_text_words says '言語の指定 (en: 英語, ja: 日本語) デフォルト: en' which mentions examples but does not declare an enum. 'reading_type' in detect_reading should declare enum(hiragana, katakana, romaji) explicitly. LLMs cannot reliably infer valid options from inline examples.
Error handling is minimal. Tools catch exceptions and return 'エラーが発生しました: {error.message}' with no recovery guidance, error classification, or actionable next steps. Per pattern:recovery-guide, errors should tell the LLM what to do next.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) visible in schema registration. All tools are marked READ_ONLY risk in the metadata, but this is not reflected in tool definitions or protocol communication. Per current MCP spec, tools should carry these hints for agent planning.
Descriptions are in Japanese only. While this may be appropriate for a Japanese-focused tool, lack of English descriptions and tooltips makes tool selection and debugging harder for non-Japanese speakers managing the server.