Skip to main content
Glama

Yomitan MCP Server

A Model Context Protocol (MCP) server that provides AI agents with direct access to your local Yomitan dictionary databases.

Overview

This MCP server connects to the Yomitan browser extension's existing Native Messaging HTTP API (typically running on localhost:19633). It allows any MCP-compatible client (like OpenClaw, Claude Desktop, or Cursor) to perform rich dictionary lookups instantly, completely offline, and without any browser automation.

Managed by GoRakuDo.

Related MCP server: anki-mcp

Features (MCP Tools)

The server exposes 6 tools:

  1. lookup — Search for a vocabulary word and return definitions, readings, and tags. (Optimized for AI context)

  2. kanji — Search for detailed information about a single Kanji character.

  3. tokenize — Parse a Japanese sentence into tokens and dictionary entries.

  4. anki_discover(New in v1.2.0) Auto-detect which Anki field markers (like {expression}, {glossary}) are valid in your specific Yomitan setup.

  5. anki_fields — Generate populated Anki flashcard fields based on your Yomitan templates.

  6. status — Check the connection status and version of your Yomitan backend.

Prerequisites

  1. Yomitan Browser Extension installed in Chrome/Firefox.

  2. Native Messaging enabled in Yomitan.

  3. Yomitan API enabled in Yomitan Settings:

    • Go to Yomitan Settings -> Advanced.

    • Enable "Yomitan API" (Ensure the server URL is http://127.0.0.1:19633).

  4. Node.js (v18+) installed.

Usage

You can run this MCP server directly using npx (no installation required):

npx yomitan-mcp-server

Usage with MCP Clients (Claude Desktop, Cursor, OpenClaw, etc.)

Add the following configuration to your MCP client's configuration file (e.g., mcp_config.json, claude_desktop_config.json):

{
  "mcpServers": {
    "yomitan-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "yomitan-mcp-server@latest"
      ]
    }
  }
}

Anki Integration

To use anki_fields effectively:

  1. Configure your Anki Note Type and field mappings in Yomitan Settings -> Anki -> "Configure Anki card format...".

  2. Use anki_discover first to see which markers (e.g., expression, reading, glossary, single-glossary-DictionaryName) are available in your setup.

  3. If you encounter HTTP 500 errors, ensure you are using the correct marker names found via anki_discover.

Security & Privacy

  • All lookups are performed entirely locally on your machine.

  • No data is sent to external servers by this MCP server.

  • The default HTTP API operates strictly on localhost.

Troubleshooting

  • Connection Refused (ECONNREFUSED): Ensure the browser with Yomitan is running. Check that "Enable Yomitan API" is turned on in the extension's Advanced Settings.

  • HTTP 500 Errors in anki_fields: This usually means a marker name is invalid or not mapped. Run anki_discover to verify your available markers.

  • Insufficient Permissions: Ensure the Native Messaging component is correctly installed for your browser. You can test this within the Yomitan Settings page under "API".


Built by GoRakuDo. Licensed under Mozilla Public License Version 2.0.

Available Tools

5 tools
anki_fieldsB

テキストからAnkiカード用のフィールドデータを生成する

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes検索・生成元テキスト
typeNoエントリのタイプterm
markersYes生成するAnkiフィールドマーカー(例: ['headword', 'reading', 'glossary'])
maxEntriesNo生成する最大エントリ数
includeMediaNoメディア(音声等)を含めるか

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on behavioral traits such as error handling, rate limits, authentication needs, or what happens if inputs are invalid. For a tool with 5 parameters and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Japanese that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to understand at a glance. Every part of the sentence earns its place by clearly conveying the core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, no output schema, no annotations), the description is minimally complete. It states what the tool does but lacks context on how it behaves, what it returns, or how to interpret results. Without annotations or an output schema, the description should provide more guidance on usage and outcomes, but it only covers the basic purpose, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain how 'text' is processed or what 'markers' represent in practice). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'テキストからAnkiカード用のフィールドデータを生成する' (Generate Anki card field data from text). It specifies the verb ('generate') and resource ('Anki card field data'), making the function unambiguous. However, it doesn't distinguish this tool from its siblings (kanji, lookup, status, tokenize), which appear to be related but serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or comparisons with sibling tools (e.g., when to use 'anki_fields' vs. 'lookup' or 'kanji'). Usage is implied only by the tool's name and description, with no explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kanjiC

漢字の詳細情報(読み、画数、意味等)を検索する

ParametersJSON Schema
NameRequiredDescriptionDefault
characterYes単一の漢字(例: 食, 𠮷)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches for kanji details but doesn't describe what happens if the input is invalid, whether it requires authentication, rate limits, or the format of the returned information. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Japanese that directly states the tool's function. It's front-loaded and wastes no words, though it could be slightly more structured for clarity in an English context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., format of details like readings or meanings), error conditions, or dependencies, which are crucial for a search tool with no structured output documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'character' fully documented in the schema as 'a single kanji character (e.g., 食, 𠮷)'. The description doesn't add any additional semantic context beyond what the schema provides, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'search for detailed information about kanji (reading, stroke count, meaning, etc.)'. It specifies the verb 'search' and resource 'kanji details', though it doesn't explicitly differentiate from sibling tools like 'lookup' or 'tokenize', which might have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention sibling tools or contexts where this tool is preferred or inappropriate, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookupC

Yomitanの辞書でterm/wordを検索し、定義・読み・タグ等を返す

ParametersJSON Schema
NameRequiredDescriptionDefault
termYes検索する語句(例: 食べる)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns definitions, readings, and tags, but doesn't cover aspects like error handling, rate limits, authentication needs, or whether it's read-only (though implied by '検索し' - search). More context on behavior would be helpful for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Japanese that covers purpose and output. It's front-loaded with the main action and resource, with no wasted words, though it could be slightly more structured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is adequate but incomplete. It explains what the tool does and returns, but lacks details on usage guidelines, behavioral traits, and error handling, which are important for a dictionary lookup tool in a multilingual context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'term' documented as '検索する語句(例: 食べる)' (term to search, e.g., '食べる'). The description adds no additional parameter details beyond what the schema provides, so it meets the baseline for high schema coverage without compensating value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('検索し' - search) and resource ('Yomitanの辞書でterm/word' - Yomitan dictionary for terms/words), and specifies what information is returned ('定義・読み・タグ等' - definitions, readings, tags, etc.). It doesn't explicitly differentiate from sibling tools like 'kanji' or 'tokenize', but the focus on dictionary lookup is specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'kanji' or 'tokenize'. The description implies usage for dictionary searches but doesn't specify contexts, prerequisites, or exclusions, leaving the agent to infer based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statusB

Yomitan APIの接続状態とバージョンを確認する

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks connection status and version, implying a read-only operation, but doesn't specify what 'connection status' entails (e.g., online/offline, latency), whether it requires authentication, rate limits, or what happens on failure. The description lacks details about the tool's behavior beyond its basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence in Japanese that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action ('確認する') and resource ('Yomitan APIの接続状態とバージョン'). Every part of the sentence contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is minimally complete. It explains what the tool does but lacks context about when to use it, what the output might contain, or behavioral details. For a status-check tool, more information about expected results or usage scenarios would improve completeness, but it's adequate for a basic operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description doesn't mention any parameters, which is appropriate since none exist. It adds no parameter semantics beyond the schema, but with 0 parameters, the baseline is 4 as the description doesn't need to compensate for missing parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '確認する' (check/verify) the '接続状態とバージョン' (connection status and version) of the 'Yomitan API'. It uses specific verbs and identifies the resource being checked. However, it doesn't explicitly differentiate from sibling tools like 'lookup' or 'tokenize', which appear to be different operations rather than status checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing, or context for usage. For example, it doesn't indicate whether this should be used before other operations or as a diagnostic tool. With sibling tools like 'lookup' and 'tokenize', there's no comparison or exclusion criteria provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tokenizeB

テキストを形態素解析し、読みと辞書エントリに分割する

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes解析する日本語テキスト
scanLengthNoスキャン長(デフォルト: 20)
parserNoパーサー(デフォルト: internal)internal

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions tokenization into readings and dictionary entries, which gives some output context, but lacks details on performance characteristics (e.g., speed, limitations), error handling, or what 'morphological analysis' entails beyond splitting. For a tool with no annotations, this is insufficient to fully understand its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Japanese that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded with the core purpose, making it easy to understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 3 parameters with full schema coverage, the description is minimally adequate. It explains what the tool does (tokenization) but lacks details on output format (e.g., structure of readings/dictionary entries), error cases, or performance limits. For a tokenization tool with no output schema, more context on return values would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (text, scanLength, parser). The description doesn't add any parameter-specific information beyond what's in the schema. It implies the 'text' parameter is for Japanese text, but this is already covered in the schema description. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'テキストを形態素解析し、読みと辞書エントリに分割する' (Tokenize text through morphological analysis, splitting into readings and dictionary entries). It specifies the verb (morphological analysis/tokenization) and resource (Japanese text), but doesn't differentiate from sibling tools like 'lookup' or 'kanji' which might have overlapping functionality with Japanese text processing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There are sibling tools like 'lookup' and 'kanji' that might handle Japanese text differently, but no explicit comparison or context for choosing this tool is given. Usage is implied (for Japanese text tokenization) but not contrasted with other options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.1
    • First observedanki_fields
    • First observedkanji
    • First observedlookup
    • First observedstatus
    • First observedtokenize

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: anki_fields generates Anki card data, kanji provides kanji details, lookup searches dictionary terms, status checks API status, and tokenize performs morphological analysis. The descriptions clearly differentiate their functions, eliminating any ambiguity.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with clear, descriptive nouns (e.g., anki_fields, kanji, lookup, status, tokenize). There are no deviations in naming style or verb usage, making the set predictable and easy to understand.

Tool Count5/5

With 5 tools, the server is well-scoped for its Japanese language learning and dictionary domain. Each tool serves a specific, essential function (e.g., dictionary lookup, kanji info, text processing, API status), and none feel redundant or missing for the apparent purpose.

Completeness4/5

The tool set covers core functionalities well: dictionary lookup (lookup), kanji details (kanji), text processing (tokenize, anki_fields), and system status (status). A minor gap might be the lack of tools for managing user data or saved entries, but the existing tools support key workflows without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables Japanese word lookup and search using the Jisho.org dictionary, providing tools to search entries and retrieve exact word definitions with JLPT levels and parts of speech.
    2
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides AI agents with local file-processing capabilities for token counting, RAG chunking, CSV/JSON conversion, QR generation, and more, while keeping documents private on the user's machine.
    7
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to create and manage Anki cards through AnkiConnect, including decks, card creation, search, updates, deletion, and mobile sync.
    MIT