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 token - Receive 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 dependencies - Server 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 -111PythonMIT 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 -547TypeScriptMIT License
- AsecurityAlicenseAqualityA bridge between Unity and AI assistants that enables AI to interact with Unity game environments through a standardized interface for code execution, scene analysis, and runtime debugging.Last updated -3202TypeScriptMIT License
- -securityAlicense-qualityA middleware system that connects large language models (LLMs) with various tool services through an OpenAI-compatible API, enabling enhanced AI assistant capabilities with features like file operations, web browsing, and database management.Last updated -3PythonMIT License