mcpField
K
Kani MCP Server

Kani MCP Server

本地服务
github.com科研与教育01 周前更新

关于 Kani MCP Server

Kani MCP Server 是面向 WaniKani 用户的只读 MCP 服务,可通过官方 API 查询进度与学习数据。它在本地通过 stdio 运行,不存储数据,也不会修改账户。

主要功能

  1. 01查询用户资料与学习概况
  2. 02筛选作业和词条列表
  3. 03查看复习历史与正确率
  4. 04读取学习笔记和同义词
  5. 05查看等级与重置历史
  6. 06按类型和 ID 查询资源

适用场景

  1. 01查看即将到来的课程和复习
  2. 02按等级查找汉字作业
  3. 03找出复习正确率较低的词条
  4. 04读取已保存的笔记和同义词

MCP 相关

通过工具向 MCP 客户端开放 WaniKani 账户、进度和参考数据,使用官方 API v2,且仅提供只读访问。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"alexxanddr-kani": {
"command": "npx",
"args": [
"-y",
"kani-mcp-server"
],
"env": {
"WANIKANI_API_TOKEN": "<WANIKANI_API_TOKEN>",
"WANIKANI_API_BASE_URL": "<WANIKANI_API_BASE_URL>"
}
}
}
}
启动命令npx -y kani-mcp-server
需要配置的环境变量
WANIKANI_API_TOKEN密钥Read-only WaniKani API v2 personal access token
WANIKANI_API_BASE_URLWaniKani API v2 base URL

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmkani-mcp-server0.1.4

工具

12

收录的工具列表 · 更新于 6 天前

此工具无需参数。

详细介绍

Kani MCP Server

一个小型、只读的 Model Context Protocol 服务,通过官方 API v2 让 MCP 客户端访问用户的 WaniKani 学习进度和 WaniKani 参考数据。

它可以回答以下问题:

  • 今天有哪些即将到来的复习和课程?
  • 指定等级分配了哪些汉字?
  • 哪些学习项目的复习准确率最低?
  • 我保存了哪些备注或同义词?

该服务通过 stdio 在本地运行。它不会存储数据、提供 HTTP 服务或修改 WaniKani。

要求

  • Node.js 18 或更高版本
  • 具有只读权限的 WaniKani 个人访问令牌,可在 WaniKani API Tokens 中创建

请妥善保管令牌。它可以访问账户和学习数据。

安装

最简单的 MCP 配置是使用 npx 直接运行已发布的包:

{
  "mcpServers": {
    "wanikani": {
      "command": "npx",
      "args": ["-y", "kani-mcp-server@latest"],
      "env": {
        "WANIKANI_API_TOKEN": "your-read-only-token"
      }
    }
  }
}

或者,全局安装可执行文件:

npm install --global kani-mcp-server
kani-mcp-server

更改配置后,请重启 MCP 客户端。如有可用的安全密钥功能,请优先使用它,而不要将令牌写入 JSON 文件。

从源代码运行

git clone https://github.com/Alexxanddr/kani-mcp-server.git
cd kani-mcp-server
npm ci
cp .env.example .env
# Edit .env and set WANIKANI_API_TOKEN.
npm run build
node --env-file=.env dist/index.js

若要为源代码检出版本配置 MCP 客户端,请替换路径和令牌:

{
  "mcpServers": {
    "wanikani": {
      "command": "node",
      "args": ["/absolute/path/to/kani-mcp-server/dist/index.js"],
      "env": {
        "WANIKANI_API_TOKEN": "your-read-only-token"
      }
    }
  }
}

进程通过 stdin/stdout 使用 MCP 通信,因此启动后终端没有输出属于正常情况。

工具

工具用途
get_user用户资料、等级、偏好设置和订阅状态
get_summary接下来 24 小时内可进行的课程和复习
list_assignments按学习项目、等级、SRS 阶段或状态筛选分配项目
list_subjects部首、汉字、词汇和假名词汇
list_review_statistics按学习项目统计准确率和错误答案总数
list_reviews已完成的复习记录
list_study_materials个人备注以及释义/读音同义词
list_level_progressions等级进度记录
list_resets账户重置记录
list_spaced_repetition_systemsSRS 阶段定义
list_voice_actors发音配音演员元数据
get_resource按类型和数字 ID 获取一个受支持的资源

集合工具每次返回一页 API 数据。使用 WaniKani 集合分页数据中的 page_after_id 或 page_before_id 继续获取。数组会作为 API 预期的逗号分隔筛选条件发送。

提示词示例:

Show my WaniKani level and the reviews due in the next 24 hours.
List my level 10 kanji assignments and explain their current SRS stages.
Find review statistics below 70%, then fetch the matching subjects.

有关确切的输入和输出,请参阅 MCP 合约。

配置

变量必需含义
WANIKANI_API_TOKEN是WaniKani API v2 个人 bearer 令牌
WANIKANI_API_BASE_URL否API 根地址;默认为 https://api.wanikani.com/v2

更改基础 URL 会将 bearer 令牌发送到该主机。远程覆盖地址必须使用 HTTPS;测试和本地开发可使用 localhost HTTP。

开发

npm ci
npm run check
npm pack --dry-run
  • npm run dev:通过 stdio 直接运行 TypeScript
  • npm test:运行单元测试和 MCP 合约测试
  • npm run type-check:检查 TypeScript,不生成文件
  • npm run build:在 dist/ 中创建捆绑的可执行文件

修改公开工具前,请阅读 CONTRIBUTING.md、架构和测试。

故障排除

  • WANIKANI_API_TOKEN is required:在 MCP 客户端的 env 块中传入该变量,或使用 --env-file=.env 启动 Node。
  • 401 Unauthorized:检查令牌;如果令牌可能已泄露,请重新创建。
  • 429 Too Many Requests:等待 WaniKani 的速率限制重置,并缩小请求集合的范围。
  • 响应过大:添加筛选条件并分页,而不是请求范围过大的学习项目或复习记录。
  • 客户端显示已断开:使用绝对脚本路径,运行 npm run build,并确认客户端的 PATH 中包含 Node 18+。

限制

  • 只读:本项目有意不提供开始作业、提交复习、修改用户设置和编辑学习材料的功能。
  • 不提供自动多页聚合、缓存、资源或提示词。
  • API 响应对象会原样传递,因此上游新增的内容无需发布新版本即可显示。

许可证和分发

本项目采用 MIT License,并以 kani-mcp-server 的名称发布到公共 npm registry。GitHub releases 会通过 npm Trusted Publishing 发布对应版本的软件包;一次性设置和发布流程请参阅发布说明。

WaniKani 是 Tofugu LLC 的商标。本独立项目与 WaniKani 或 Tofugu 无关联,也未获得其认可或赞助。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。