WaniKani

io.github.jbeshirPublished by GitHub account jbeshirv1.0.1Updated Oct 29, 2026

Read WaniKani SRS data: profile, reviews, assignments, subjects, and level progressions.

Overview

AI-generated overview

Read-only MCP server that lets an assistant query a WaniKani user's Japanese SRS profile, lesson and review schedule, assignments, subjects and level progress.

What you can do
  • Read the user's profile, level, subscription and vacation status
  • Check available lessons and reviews grouped by hour
  • List SRS assignments filtered by subject type, level, stage and availability
  • Look up radicals, kanji and vocabulary with meanings, readings and mnemonics
  • Review accuracy statistics per subject, including correct/incorrect counts and streaks
  • Retrieve level progression history with timestamps
When to use it
Useful when a learner wants an assistant to summarize their WaniKani study load, explain why items are due, look up kanji or vocabulary details, or track accuracy and level progress without opening the site.
Requirements
Runs as a local process (stdio) on the desktop; a WaniKani API token supplied in the WANIKANI_API_KEY environment variable is required, and network access to the WaniKani API is needed. Building from source requires Go; pre-built binaries and an mcpb package are offered.
Before you install
The WaniKani API token is a personal credential stored in the environment; keep it out of shared configs. All tools are read-only, so no study data is changed, but queries and results pass through the WaniKani API over HTTPS.

Installation

In SourceWeft

  1. Open WaniKani in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

wanikani-mcp

An MCP server that provides read-only access to a user's WaniKani data. WaniKani is a spaced repetition system (SRS) for learning Japanese kanji and vocabulary. This server exposes six tools that let Claude and other MCP clients query a user's profile, lesson/review schedule, SRS assignments, subject details, review statistics, and level progression history.

Key Concepts

  • SRS (Spaced Repetition System) -- WaniKani's core learning mechanism. Items progress through stages 0 (initiate) to 9 (burned) based on correct and incorrect reviews. Higher stages mean longer intervals between reviews.
  • Subjects -- The items a user learns. There are four types: radicals (building blocks), kanji (characters), vocabulary (multi-kanji words), and kana vocabulary (kana-only words). Each subject has meanings, readings, and mnemonics.
  • Assignments -- Track a user's SRS progress on each subject: current stage, when it was unlocked, started, passed, and burned.
  • Lessons -- The introduction of new subjects. A subject becomes available as a lesson when its prerequisites are met.
  • Reviews -- Periodic quizzes that test recall. Correct answers advance the SRS stage; incorrect answers regress it.
  • Levels -- A user's overall progress through WaniKani (1--60). Advancing to a new level unlocks new subjects.

Architecture

The server has three layers: an entry point that reads configuration and wires dependencies, an MCP server layer that registers tools and converts parameters, and an HTTP client that communicates with the WaniKani API.

mermaid
graph TD    MCP["MCP Client<br/>(Claude, etc.)"]    SRV["MCP Server<br/>tool registration + formatting"]    CLI["WaniKani API Client<br/>auth, pagination, typed responses"]    API["WaniKani API<br/>api.wanikani.com/v2"]
    MCP -->|"stdio JSON-RPC"| SRV    SRV --> CLI    CLI -->|"HTTPS + Bearer auth"| API

The server uses mcp-go for MCP protocol handling and stdio transport. The WaniKani API client uses Go generics (Resource[T] and Collection[T]) to provide typed access to all endpoints with automatic pagination.

Data Flow

mermaid
sequenceDiagram    participant C as MCP Client    participant S as MCP Server    participant A as WaniKani API
    C->>S: get_assignments(subjectTypes, limit, ...)    S->>A: GET /v2/assignments?subject_types=...    A-->>S: Page 1 (up to 500 items)
    opt More pages needed        S->>A: GET next_url        A-->>S: Page 2    end
    S-->>C: "Showing N of M assignment(s):" + JSON

Collection endpoints are automatically paginated. Results are capped at a configurable limit (default 500, max 10,000) and include a "Showing N of M" header so the client knows whether results were truncated.

Getting Started

Requirements

Installation

Pre-built binaries are available from Releases.

Install from source:

go install github.com/jbeshir/mcp-servers/wanikani/cmd/wanikani-mcp@latest

Or build from the repo root:

make build

Configuration

VariableRequiredDefaultDescription
WANIKANI_API_KEYYes--Bearer token from wanikani.com/settings/personal_access_tokens
WANIKANI_API_URLNohttps://api.wanikani.comBase URL override for the WaniKani API
Claude Desktop
json
{  "mcpServers": {    "wanikani": {      "command": "/path/to/wanikani-mcp",      "env": {        "WANIKANI_API_KEY": "your-api-token"      }    }  }}
Claude Code
claude mcp add wanikani -e WANIKANI_API_KEY=your-api-token /path/to/wanikani-mcp

Tools

ToolDescriptionParameters
get_userGet the authenticated user's profile, including level, subscription, and vacation status--
get_summaryGet available lessons and reviews grouped by hour--
get_assignmentsGet SRS assignments tracking progress on subjects through SRS stagessubjectTypes, levels, srsStages, availableBefore, availableAfter, immediatelyAvailableForReview, immediatelyAvailableForLessons, limit
get_subjectsGet radicals, kanji, and vocabulary with meanings, readings, and mnemonicstypes, levels, slugs, ids, limit
get_review_statisticsGet review accuracy statistics per subject, including correct/incorrect counts and streakssubjectTypes, subjectIds, percentagesGreaterThan, percentagesLessThan, limit
get_level_progressionsGet the user's progression history through WaniKani levels with timestampslimit

All tools are read-only. Collection tools accept a limit parameter (default: 500, max: 10,000). Filter parameters that accept multiple values use comma-separated strings (e.g. "radical,kanji").

Source: wanikani/README.md at commit 27dc1b2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v1.0.1LatestOct 29, 2026
  2. v1.0.0Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts