返回市场
ANKI-MCP

ANKI-MCP

作者:arielbk9 星标更新:2025-10-24

项目介绍

🧠 Anki MCP

NPM 包 anki-mcp 许可证: MIT <br /> <a href="https://glama.ai/mcp/servers/@arielbk/anki-mcp"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=3487329496,306609156&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Anki MCP 服务器" /> </a>

通过人工智能提升你的 Anki 闪卡体验!这个 MCP (模型上下文协议) 服务器连接了你的 Anki 闪卡集合与像 Claude 这样的 AI 助手,使你可以自然地讨论学习材料。

🚀 你能做什么?

想象一下有一个知道你整个闪卡集合的 AI 导师,并且可以:

📚 互动学习

  • “测试我三天没看过的日语词汇”
  • “测试我医学套牌中的难题”
  • “显示我最近遇到困难的卡片”

智能内容创作

  • “创建关于光合作用并带有图表的闪卡”
  • “将这章 PDF 转换为空间重复卡片”
  • “从我的讲座笔记中生成填空卡片”

🔍 强大的分析

  • “我在哪些主题上遇到的最大困难?”
  • “显示我过去一个月的学习模式”
  • “不同类型的卡片的保留率是多少?”

🎯 批量操作

  • “给我的化学卡片打上‘考试准备’标签”
  • “将保留率低的卡片移动到强化复习套牌中”
  • “查找并修复跨套牌的重复卡片”

🎯 特性

  • 🎯 智能工具设计:专为 AI 代理设计的直观高级工具
  • 💬 自然对话:像与学习伙伴一样与 Claude 讨论你的闪卡
  • ⚡ 高效快速:高效的运算不会拖慢你的 AI 助手
  • 📦 批量操作:通过简单的命令一次更新数千张卡片
  • 📊 学习洞察:深入分析你的学习进度和模式
  • 🎨 丰富的媒体支持:完全支持图片、音频和其他媒体在你的卡片中
  • 🔍 强大的搜索:通过自然语言利用 Anki 的高级搜索语法
  • 🔒 坚固可靠:全面的类型安全 TypeScript 和错误处理

🛠 技术栈

  • Node.js:运行时环境(需要 18+ 版本)
  • TypeScript:类型安全和开发者体验
  • MCP SDK:模型上下文协议实现
  • yanki-connect:🙏 完全类型化的同构 AnkiConnect API 客户端
  • tsup:快速的 TypeScript 打包器
  • PNPM:高效的包管理器

特别感谢 yanki-connect 库提供的强大 AnkiConnect 接口,使其集成成为可能!

📋 先决条件

1. 安装 Anki

如果你还没有安装,请下载并安装 Anki

2. 安装 AnkiConnect 插件

  1. 打开 Anki
  2. 转到 工具插件
  3. 点击 获取插件...
  4. 输入代码:2055492159
  5. 重启 Anki

📋 版本要求:此服务器需要 AnkiConnect 版本 25.2.25.0 或更高版本(发布于 2025-02-25)以实现完全兼容。大多数功能在旧版本中也能工作,但我们建议更新以获得最佳体验。

3. 配置 AnkiConnect(可选)

AnkiConnect 开箱即用,但你可以自定义设置:

  1. 转到 工具插件
  2. 选择 AnkiConnect 并点击 配置
  3. 默认设置对大多数用户来说应该已经足够

🚀 快速开始

选项 1:与 Claude Desktop 结合使用(推荐)

  1. 安装包

    npm install -g @arielbk/anki-mcp
    
  2. 配置 Claude Desktop

    编辑你的 Claude Desktop 配置文件:

    macOS~/Library/Application Support/Claude/claude_desktop_config.json Windows%APPDATA%\Claude\claude_desktop_config.json

    添加以下配置:

    {
      "mcpServers": {
        "anki": {
          "command": "anki-mcp",
          "args": []
        }
      }
    }
    
  3. 重启 Claude Desktop

  4. 开始使用!

    • 确保 Anki 正在运行并且启用了 AnkiConnect
    • 向 Claude 提问:“展示我的 Anki 套牌”“给我出 5 张卡片”

💡 小贴士:你可以通过向 Claude 提问简单的问题来测试你的设置,例如 “我有多少个 Anki 套牌?”“我最大的套牌里有什么?”

选项 2:开发设置

  1. 克隆仓库

    git clone https://github.com/arielbk/anki-mcp.git
    cd anki-mcp
    
  2. 安装依赖

    pnpm install
    
  3. 构建项目

    pnpm build
    
  4. 测试服务器

    # 使用 MCP 检查器测试功能
    pnpm inspect
    

选项 3:与其他 MCP 客户端结合使用

此服务器适用于任何 MCP 兼容客户端。你也可以使用它与:

  • MCP 检查器:交互式调试工具
  • Cline:用于 AI 编码的 VS Code 扩展
  • 自定义 MCP 客户端:使用 MCP SDK 构建自己的客户端

对于 stdio 传输,运行:

node dist/index.js

对于本地 HTTP(流式 HTTP)传输,运行:

node dist/index.js --http --host=127.0.0.1 --port=3000
# MCP 端点位于 http://127.0.0.1:3000/mcp

支持流式 HTTP 的客户端可以直接连接。旧版 SSE 客户端可能仍然可以通过客户端侧回退连接。

🎮 使用示例

一旦与 Claude Desktop 配置好,你可以进行自然对话,如:

📖 学习会话

你: “我明天有一场日语考试。你能测试我一周没复习的平假名片吗?”

Claude: 我会找到你需要复习的平假名片并开始一个测试会话...

📝 内容创作

你: “创建关于二战主要战役的闪卡,包括日期和重要性。”

Claude: 我会创建涵盖关键二战战役的综合闪卡...

📊 学习分析

你: “我在医学术语套牌上的表现如何?展示我薄弱的地方。”

Claude: 让我分析你在医学术语套牌上的表现...

🏷️ 组织

你: “给所有关于心血管系统的卡片打上‘心脏病学’标签,并将它们移到我的 MCAT 准备套牌中。”

Claude: 我会帮你组织这些卡片...

🔧 可用工具

服务器提供了 7 个直观的工具,涵盖了你需要的一切:

📝 管理闪卡

创建、更新、删除和搜索你的闪卡。非常适合内容创作、批量更新和组织。

🎯 学习会话

运行交互式测验会话,管理卡片调度,跟踪哪些卡片需要复习。

📚 管理套牌

创建和组织套牌,移动卡片,配置套牌设置。

📊 获取分析

深入了解你的学习统计数据、复习历史和学习模式。

🎨 管理模型

自定义笔记类型,添加字段,修改模板,美化你的卡片。

🔧 Anki 操作

处理同步、媒体文件、导入/导出和其他实用操作。

🖼️ 获取媒体文件

从你的 Anki 收集中检索媒体文件(图片、音频等)。AI 助手可以直接分析图片(尽管它们不会在 UI 中显示)。

💡 小贴士:许多操作支持分页以防止上下文窗口过载。在处理大量结果集时使用 limitoffset 参数。

🛠 开发

# 在开发模式下运行,自动重新加载
pnpm dev

# 检查代码
pnpm lint

# 格式化代码
pnpm format

# 使用 MCP 检查器测试
pnpm inspect

🔧 配置

AnkiConnect 设置

服务器默认连接到 localhost:8765 上的 AnkiConnect。如果你自定义了 AnkiConnect 配置,可能需要调整连接设置。

重要:确保 Anki 正在运行并且已安装 AnkiConnect 插件。如果 AnkiConnect 不可用,服务器将无法连接。

💡 注意:底层的 yanki-connect 库支持在 macOS 上自动启动 Anki,但此功能目前未在 MCP 服务器配置中暴露。你需要手动启动 Anki。

Claude Desktop 高级配置

对于高级用户,你可以传递额外参数:

{
  "mcpServers": {
    "anki": {
      "command": "anki-mcp",
      "args": ["--verbose"],
      "env": {
        "ANKI_CONNECT_HOST": "localhost",
        "ANKI_CONNECT_PORT": "8765"
      }
    }
  }
}

故障排除

常见问题:

  • “无法连接到 AnkiConnect”:确保 Anki 正在运行并且已安装 AnkiConnect 插件
  • “没有找到套牌”:确保你在 Anki 中至少有一个套牌
  • Claude 没有响应:在更改配置后重启 Claude Desktop
  • 权限错误:检查全局 npm 安装是否正确,使用 npm list -g @arielbk/anki-mcp

🤝 贡献

我们欢迎贡献!请:

  1. 分叉仓库
  2. 创建一个功能分支
  3. 进行你的更改
  4. 如果适用,添加测试
  5. 提交拉取请求

📜 许可证

MIT - 详情见 LICENSE 文件。

🙏 致谢


通过 AI 助手的对话提升你的闪卡体验!🚀