Anki卡片服务器

Yanki MCP Server是一个实现Model Context Protocol的服务器,用于连接本地运行的Anki应用,提供卡片复习和创建功能。

  • by htlin222
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 htlin222/yanki-mcp-server

使用说明

Yanki MCP服务器(又一个Anki MCP服务器)

一种模型上下文协议服务器实现,连接到本地运行的Anki,提供卡片查看和创建。这是一把叉子 scorzeth/anki mcp服务器 具有基于日期的组织功能。

可作为npm包使用: MCP 服务器

此服务器旨在与 Anki桌面应用程序 和那个 Anki Connect 插件。

在使用之前,请确保已安装该附加组件。

资源

  • anki://search/deckcurrent
    • 返回当前牌组中的所有牌
    • 等价于 deck:current 在安基
  • anki://search/isdue
    • 退回正在复习和学习的卡片,等待学习
    • 等价于 is:due 在安基
  • anki://search/isnew
    • 返回所有看不见的卡片
    • 等价于 is:new 在安基

工具

  • 更新卡

    • 将具有给定卡ID的卡标记为已回答,并给它们一个介于1(再次)和4(轻松)之间的轻松评分
    • 输入:
      • answers (array):对象数组 cardId (数字)和 ease (数字)字段
  • add_card

    • 在日期结构的卡片组中创建新卡片(格式: DECK::YYYY::MM::DD)
    • 输入:
      • front (string):卡片正面
      • back (string):卡片背面
  • get_due_card

    • 返回n张当前到期待审核的卡片
    • 输入:
      • num (number):卡片数量
  • 获取新卡

    • 从new返回n张卡
    • 输入:
      • num (number):卡片数量

安装与使用

您可以在不通过npx安装的情况下使用此软件包:

npx yanki-mcp-server

或者全局安装:

npm install -g yanki-mcp-server
yanki-server

发展

克隆存储库并安装依赖项:

git clone https://github.com/htlin222/yanki-mcp-server.git
cd yanki-mcp-server
npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

在开发过程中直接运行服务器:

npm run dev

配置

要与Claude Desktop一起使用,请添加服务器配置:

在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "yanki-mcp-server": {
      "command": "npx",
      "args": ["yanki-mcp-server"],
      "env": {
        "DECK": "Default"
      }
    }
  }
}

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。

基于日期的卡组织

此服务器使用基于日期的结构而不是传统的基于主题的组织自动组织新卡片。当您创建新卡时,它将以以下格式添加到卡组中:

DECK::YYYY::MM::DD

哪里:

  • DECK 是基本甲板名称(默认值:“00_Inbox”或通过环境变量配置)
  • YYYY 是4位数的年份
  • MM 是2位数的月份
  • DD 是2位数的一天

基于日期的组织的好处

  1. 轻松整理:卡片按创建日期自动组织,无需手动分类
  2. 时间上下文:审查在特定时间段内创建的卡片(例如,在课程或项目期间)
  3. 自然间隔重复:当你学习概念时,卡片自然会分组
  4. 省时的:无需花时间决定每张卡属于哪个类别
  5. 军事单位历史档案:查看您随时间推移的学习历程

配置

您可以通过设置 DECK MCP服务器配置中的环境变量:

"env": {
  "DECK": "YourCustomDeckName"
}

如果未指定,则默认为“00_Inbox”。

更新日志

1.0.5 (2025-05-31)

  • 完全删除了所有控制台输出和日志记录功能
  • 通过消除所有非必要输出简化代码库
  • 确保100%干净的MCP协议通信,没有多余的输出
  • 删除了与日志记录相关的所有文件系统操作

1.0.4 (2025-05-31)

  • 修复了在文件系统根创建日志目录路径的关键问题
  • 改进的日志记录系统,具有强大的错误处理和回退机制
  • 确保日志始终相对于当前工作目录创建
  • 为日志记录添加了无声故障,以防止在日志记录失败时破坏MCP协议

1.0.3 (2025-05-31)

  • 通过将所有控制台输出重定向到日志文件,修复了MCP通信协议问题
  • 添加了基于文件的日志记录系统,保留了所有调试和状态信息
  • 日志存储在 logs 具有基于日期的文件名的目录
  • 确保干净的stdout通信,以符合MCP JSON-RPC协议