Skip to main content
Glama
sandraschi

Japanophile MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
jp_utilsA

Japan-locale utilities: kana_convert | era_to_year | year_to_era.

kana_convert: text=kana string, target=romaji|hiragana|katakana. Romaji is standard Hepburn (gojuon + digraphs + sokuon doubling + chouonpu vowel repeat) — see caveats in the conversion docstring. era_to_year: era=meiji|taisho|showa|heisei|reiwa, era_year=N -> western year. year_to_era: year=western year -> {era, era_year} (year-granularity; see _ERA_TABLE note on transition-year handling).

rememberA

Review support over your own JLPT answer history: streak | due.

streak: consecutive days (ending today) with >=1 jlpt/answer logged for session_id. due: question_ids answered at least once but never correctly — a simple missed-question queue, NOT a full SM-2/FSRS spaced-repetition scheduler (see PRD.md open question on SRS algorithm choice; this reads the same data/progress.db answers table jlpt/answer writes to).

crossconnectB

Fleet crossconnects: speak | voices | library_search | media_search. Each proxies a sibling MCP server's REST API (speech-mcp :10909, calibre-mcp :10720, plex-mcp :10740 by default, override via SPEECH_MCP_URL/CALIBRE_MCP_URL/ PLEX_MCP_URL). Peer offline returns a fail() with a start hint, not a traceback — see PHILE_PATTERN.md crossconnects section.

speak: text=... plays via speech-mcp's TTS on ITS OWN speaker (agent voice output), not returned audio. Defaults provider=gemini (noticeably better than Windows SAPI); pass provider="windows" if Gemini isn't configured on speech-mcp. library_search: query and/or tag against Sandra's Calibre library. media_search: query (+ optional media_type) against her Plex library.

kanjiB

Kanji dictionary: lookup | search | by_jlpt | by_grade | by_radical | random.

lookup: query=single kanji char. search: query=English meaning fragment. by_jlpt: level=N5..N1. by_grade: grade=1..8. by_radical: radical=char. random: optional level filter.

jlptB

JLPT quiz: next | answer | progress.

next: random unseen question for level (N5..N1, falls back to any level). answer: grade question_id with letter; records to progress store. progress: session score summary.

vocabB

Vocabulary: search | by_jlpt | examples. Needs the big kanji.db (135MB, fetched).

search: expression/reading/translation fragment. by_jlpt: jlpt_vocabulary level. examples: query against the 278k-row examples table (Japanese sentence, English translation, linked words) — vendored with kanji.db but previously unqueried.

knowledgeC

Knowledge box: list | get. collection=culture (default, 29 history/travel/food pages) or collection=language (grammar/vocabulary/keigo/exams/materials study pages — same vendored assets/language/ the webapp Language tab reads).

japanophile_helpB

List tools, data status, and next steps for agents and IDEs.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a clearly separate domain: quiz, kanji, vocabulary, knowledge, utilities, review, fleet proxies, and help. Even where subcommands like 'search' or 'by_jlpt' reappear, their target resources are explicit and non-overlapping.

Naming Consistency4/5

Tool names are short lowercase domain labels with consistent subcommands, which is a recognizable and predictable pattern. Minor deviations like jp_utils and japanophile_help using underscores while others do not prevent a perfect score.

Tool Count5/5

8 tools is well within the ideal range, and each tool bundles several related subcommands without creating namespace sprawl. Every tool earns its place in the overall Japan-study and utility workflow.

Completeness4/5

The core loop of learning kanji/vocabulary, taking JLPT quizzes, reviewing mistakes, and accessing reference material is well covered. Minor gaps exist: the review tool is deliberately not a full spaced-repetition system, and grammar material is only available as static knowledge pages rather than an interactive lookup.

Maintenance

ActivityMaintained
ResponsivenessNo issues