Anki最简单、最稳定的MCP服务器
   
Mousetail的目标是成为将Anki连接到LLM的最简单、最可靠的方法。它不需要任何插件,只需安装anki和您想连接到甲板的LLM即可。
运行服务器很简单:
uvx mousetail有关与Claude Code、Claude Desktop和其他LLM工具集成的详细说明:
特性
- 最小化 -支持核心anki操作:创建、读取、更新和删除
- 稳定 -直接使用anki的稳定pylibapi,无需插件或deps
- 简单 -无需配置,自动发现您的Anki收藏
用例
有选择地将你在与法学硕士的对话中学到的东西牢记在心
“根据我们的谈话创建一个平台,这样我就不会忘记关键细节”
使用LLM与您的甲板互动
“创建一张牌-什么是系数?创建一张卡-id这个多项式中的第一个系数”
使用LLM清理甲板
“检查我的法语发音板是否正确,并纠正任何错误、拼写错误或错误”
同步中
Mousetail支持将您的Anki收藏与AnkiWeb或自托管同步服务器同步。这允许您在不同设备之间保持收藏同步。
快速开始
与AnkiWeb同步(保存凭据以备将来同步):
> "Save my AnkiWeb credentials: username is myuser@example.com and password is mypassword"
> "Sync my collection with AnkiWeb"凭证管理
Mousetail将凭据安全地存储在系统的凭据管理器中:
- macOS: 钥匙串
- 窗户: 凭据管理器
- Linux: 特勤局(GNOME钥匙圈、KWallet等)
可用的凭证工具:
save_sync_credentials-安全保存用户名/密码load_sync_credentials-加载已保存的凭据delete_sync_credentials-删除已保存的凭据
同步选项
这 sync_collection 工具支持:
- AnkiWeb同步 (默认)-将端点留空
- 自托管服务器 -提供自定义端点URL(例如。,
https://sync.example.com) - 媒体同步 -默认启用,包括图像和音频文件
- 仅收藏同步 -设置
sync_media: false跳过媒体
例子
首次使用AnkiWeb进行设置:
> "Save my sync credentials for AnkiWeb - username: user@example.com, password: mypass123"
> "Sync my collection"使用自托管服务器:
> "Save my sync credentials - username: john, password: secret, endpoint: https://sync.myserver.com"
> "Sync my collection"不保存凭据的一次性同步:
> "Sync my collection with AnkiWeb using username user@example.com and password mypass123"仅收藏同步(跳过媒体):
> "Sync my collection but don't sync media files"配置
您可以在中设置默认同步端点 config.json:
{
"sync": {
"endpoint": "https://sync.example.com"
}
}离开 endpoint 作为 null 默认情况下使用AnkiWeb。
重要说明
- 先关闭Anki: 如果Anki应用程序正在运行,同步将失败
- 媒体同步: 媒体同步速度较慢,使用更多带宽,但可确保图像/音频同步
- 冲突: 如果发生冲突,请先尝试从Anki桌面同步以解决冲突
- 安全: 凭据从不以纯文本形式存储,而是保存在系统的安全凭据存储中
自托管同步服务器设置
要与自己的服务器同步,请执行以下操作:
- 设置一个 Anki同步服务器
- 在服务器上配置凭据(使用环境变量,如
SYNC_USER1=user:password) - 将您的凭据与服务器端点一起保存在Mousetail中
- 同步正常
有关同步服务器的详细设置,请参阅 Anki官方文件.
重要说明
如何访问收藏
MCP服务器在其标准位置找到Anki集合:
- macOS:
~/Library/Application Support/Anki2/[Profile]/collection.anki2 - Linux:
~/.local/share/Anki2/[Profile]/collection.anki2 - 窗户:
%APPDATA%\Anki2\[Profile]\collection.anki2
您不需要配置路径-服务器会自动发现可用的集合,这可以使用配置进行自定义。
配置
服务器可以通过以下方式进行定制 config.json 文件。请参阅 使用指南 用于配置选项。
发展
地方发展设置
使用Claude Code在本地开发和测试Mousetail:
- 克隆存储库:
git clone https://github.com/listfold/mousetail.git
cd mousetail- 安装依赖项:
uv sync- 配置克劳德代码:
该项目包括 .mcp.json 配置MCP服务器以进行本地开发的文件:
{
"mcpServers": {
"mousetail": {
"type": "stdio",
"command": "uv",
"args": ["run", "python", "-m", "mousetail.mcp.stdio_server"],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}- 重新启动Claude代码:
配置就绪后,重新启动Claude Code以加载MCP服务器。
- 验证服务器:
- 使用 /context 在Claude Code中查看可用的MCP工具 - mousetail服务器应与所有可用工具(list_collections、create_note、sync_collection等)一起出现
- 测试同步功能:
- 测试前关闭Anki桌面应用程序 - 测试证书管理: save_sync_credentials, load_sync_credentials, delete_sync_credentials - 测试同步: sync_collection 使用您的AnkiWeb凭据或自托管服务器
核心目标
编写Mousetail是因为所有现有的MCP Anki工具都依赖于 AnkiConnect 插件。
AnkiConnect是Anki的HTTP服务器,它最初是为了支持连接浏览器扩展而创建的,比如 约米坎 安基。对于MCP开发,这是不必要的,并且会带来问题:
- 引入了复杂性,例如Anki的专用HTTP服务器占用了一个端口
- 引入风险,例如,如果AnkiConnect API发生变化或出现错误,MCP工具将中断
- 引入了一个额外的步骤,例如,所有当前的MCP工具都需要安装AnkiConnect插件
Mousetail有一个更简单的方法。它直接与Anki的 pylib这是一个稳定的API,是Anki核心的一部分,因此它不受任意或频繁更改的影响,也不需要任何第三方插件。
因为它优先考虑简单性,所以mousetail将比其他替代品更稳定。权衡的是,Mousetail永远不会与Anki UI集成。也可以合理地假设Mousetail只适用于托管(同一系统)LLM工具和Anki平台。
建筑文件
该项目使用Sphinx和Furo主题从Python文档字符串生成文档。
- 安装文档依赖项:
uv pip install ".[docs]"- 构建文档:
uv run python -m sphinx -b html docs docs/_build/html- 查看文档:
打开 docs/_build/html/index.html 在您的浏览器中。
每次向主分支推送时,文档都会自动构建并部署到GitHub Pages。
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
