Anki MCP 服务器是专为 Claude Desktop 设计的 Model Context Protocol (MCP) 服务器。它借助 AnkiConnect 与 Anki 相连,能检索带有“leech”标签的卡片,为 Claude 提供丰富的卡片数据用于分析。
git clone https://github.com/yourusername/anki-mcp-server.git
cd anki-mcp-server
npm install
npm run build
服务器可通过环境变量进行配置。复制提供的示例文件以创建自己的配置:
cp .env.example .env
| 属性 | 详情 |
|---|---|
ANKI_CONNECT_URL |
AnkiConnect 的 URL,默认为 http://localhost:8765 |
ANKI_MOCK_MODE |
是否启用 mock 模式,值为true或false,默认为false |
const { AnkiMCP } = require('anki-mcp');
// 初始化 MCP 服务器
const mcp = new AnkiMCP({
connectUrl: process.env.ANKI_CONNECT_URL,
mockMode: process.env.ANKI_MOCK_MODE === 'true'
});
// 获取所有 leech 卡片
async function getLeechCards() {
try {
const cards = await mcp.getLeechCards();
console.log('获取到的 leech 卡片:', cards);
} catch (error) {
console.error('获取卡片时出错:', error.message);
}
}
// 在卡片上添加复习标签
async function addReviewTag(cardId, customPrefix = '见直し') {
try {
await mcp.addReviewTag(cardId, customPrefix);
console.log('已为卡片', cardId, '添加复习标签');
} catch (error) {
console.error('添加标签时出错:', error.message);
}
}
// 启动服务器
async function startServer() {
try {
await mcp.start();
console.log('MCP 服务器已启动并正在监听...');
} catch (error) {
console.error('启动服务器失败:', error.message);
}
}
.env 文件在项目根目录下创建 .env 文件,并添加上述环境变量。例如:
ANKI_CONNECT_URL=http://localhost:8765
ANKI_MOCK_MODE=false
运行以下命令启动服务器:
npm start
getLeechCards 方法获取所有带有“leech”标签的卡片。addReviewTag 方法在指定卡片上添加日期戳记的复习标签。localhost 无法连接,请:
192.168.x.x 或 10.x.x.x)。.env 文件,设置 ANKI_CONNECT_URL=http://YOUR_LOCAL_IP:8765。为了在不更改实际数据的情况下进行测试,请使用 mock 模式:
.env 文件中设置 ANKI_MOCK_MODE=true 或使用提供的 .env.test 文件。npm run start:test
要在开发过程中启用热重载:
npm run dev
对于 mock 模式的开发,请运行:
npm run dev:test
本项目采用 MIT 许可证。