Provides the web service framework for HTTP mode access to the WaniKani MCP functionality.
Supports containerized deployment of the WaniKani MCP server with environment configuration.
Used for storing user data, learning metrics, and authentication information, enabling persistent tracking of WaniKani learning progress across sessions.
Recommended deployment platform for hosting the WaniKani MCP server, with specific deployment instructions provided.
WaniKani MCP Server
A production-ready MCP (Model Context Protocol) server that connects AI assistants like Claude Code to WaniKani learning data. Get real-time progress updates, identify problem items, and manage your Japanese learning workflow through natural conversation.
✨ Quick Start
For Users with Claude Code
Set up the MCP server connection:
Verify connection: Run
claude mcp list
- wanikani should show as "connected"Register your WaniKani account:
Start learning:
For Developers
🎯 What This Does
Real Learning Integration: Your AI assistant can now see your actual WaniKani progress and help with personalized study strategies.
Architecture Overview
Core Features:
Live Status: Current level, lesson count, review count, next review time
Leech Detection: Identifies consistently difficult items for focused practice
Background Sync: Keeps data fresh automatically (every 30 minutes)
Multi-User: Secure per-user authentication with MCP API keys
Example Conversations:
🔧 MCP Tools & Resources
Tools (Actions)
register_user
: Connect your WaniKani account securelyget_status
: Current level, lessons, reviews, next review timeget_leeches
: Items that need extra practice (wrong >3 times)sync_data
: Manual data refresh from WaniKani
Resources (Data Access)
user_progress
: Detailed statistics and learning metricsreview_forecast
: Timeline of upcoming review sessionsitem_database
: Searchable collection of your WaniKani items
🚀 Deployment Options
Render (Recommended)
Fork this repository
Connect to Render:
Create new Web Service from your fork
Environment:
DATABASE_URL
(PostgreSQL connection string)Build:
uv install
Start:
uv run python -m wanikani_mcp.http_server
Run migrations:
uv run alembic upgrade head
Local Development
Container (Podman/Docker)
🔐 Security & Authentication
Two-Tier Security:
WaniKani API Token: Your personal WaniKani API key (from wanikani.com/settings/personal_access_tokens)
MCP API Key: Generated server key for Claude Code authentication
Registration Flow:
Get your WaniKani API token from https://www.wanikani.com/settings/personal_access_tokens
Use
register_user
tool with your WaniKani tokenReceive MCP API key for all future requests
MCP API key authenticates you for
get_status
,get_leeches
,sync_data
Privacy: Each user's data is completely isolated. MCP API keys are securely generated and hashed.
⚙️ Configuration
Environment Variables (copy .env.example
to .env
):
MCP Server Configuration (for Claude Code):
Method 1: JSON Configuration (Recommended)
Method 2: Manual Configuration
Important:
Must specify
cwd
(working directory) for the server to find dependenciesServer uses file logging to avoid interfering with stdio MCP communication
Run
uv install
first to ensure dependencies are available
🧑💻 Development
Code Quality:
Database Management:
Tech Stack:
Framework: FastAPI + Python MCP SDK
Database: PostgreSQL + SQLModel ORM
Background Jobs: APScheduler
Package Manager: uv
Containerization: Podman
Deployment: Render
🤝 Production Checklist
Before deploying:
PostgreSQL database configured
Environment variables set
Database migrations applied
Rate limiting configured
Monitoring/logging enabled
SSL/TLS certificates in place
Backup strategy implemented
📈 Monitoring
Health Check Endpoint: GET /health
Metrics: Built-in logging for sync operations, API calls, and errors
Database: Monitor connection pool, query performance, storage usage
📄 License
See LICENSE for details.
🙏 Acknowledgments
WaniKani: For providing the excellent Japanese learning platform and API
Anthropic: For the MCP specification and Claude Code integration
Python MCP SDK: For the foundational MCP implementation
This server cannot be installed
A bridge that provides AI assistants with access to WaniKani user data and functionality, enabling them to retrieve learning progress, identify difficult items, and offer personalized Japanese language learning assistance.
Related MCP Servers
- AsecurityAlicenseAqualityBridges YouTube API and AI assistants, enabling video analysis by downloading and processing closed captions to create summaries of YouTube videos.Last updated -112MIT License
- -securityAlicense-qualityThis server implementation allows AI assistants to interact with Asana's API, enabling users to manage tasks, projects, workspaces, and comments through natural language requests.Last updated -42MIT License
- -securityAlicense-qualityA lightweight bridge enabling AI agents to perform real-world tasks on Android devices such as app navigation, UI interaction, and automated QA testing without requiring computer-vision pipelines or preprogrammed scripts.Last updated -52MIT License
- -securityFlicense-qualityA bridge that enables controlling Unity Editor through natural language commands via AI assistants, allowing users to create materials, build projects, manage scenes, and configure settings without manual interaction.Last updated -63