anki-mcp-server
The anki-mcp-server is a TypeScript-based MCP server designed to integrate with Anki via the AnkiConnect plugin. It represents resources such as decks and note models using URIs and provides tools for creating and managing notes. This enhances Anki's functionality and enables efficient workflows.
GitHub Stars
71
User Rating
Not Rated
Favorites
0
Views
19
Forks
11
Issues
6
Installation
Difficulty
IntermediateEstimated Time
10-20 minutes
Requirements
Node.js: 18.0.0以上npm: 8.0.0以上+1 more
Installation
Installation
Prerequisites
Please specify required software and versions:Node.js: 18.0.0 or higher
npm: 8.0.0 or higher
Claude Desktop: Latest version
Installation Steps
1. Clone Repository
bash
git clone https://github.com/CamdenClark/anki-mcp-server
cd anki-mcp-server
2. Install Dependencies
bash
npm install
3. Configure Claude Desktop
Editclaude_desktop_config.json to add the MCP server:
json
{
"mcpServers": {
"anki-mcp": {
"command": "node",
"args": ["d:\anki-mcp-server\build\index.js"]
}
}
}
4. Start Server
bash
npm start
Troubleshooting
Common Issues
Issue: Server won't start Solution: Check Node.js version and reinstall dependencies. Issue: Not recognized by Claude Desktop Solution: Verify configuration file path and syntax.Configuration
Configuration
Basic Configuration
Claude Desktop Setup
Edit~/.config/claude-desktop/claude_desktop_config.json (macOS/Linux) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
json
{
"mcpServers": {
"anki-mcp": {
"command": "node",
"args": ["d:\anki-mcp-server\build\index.js"]
}
}
}
Environment Variables
Set the following environment variables as needed:bash
export API_KEY="your-api-key"
export DEBUG="true"
Advanced Configuration
Security Settings
Store API keys in environment variables or secure configuration files
Set appropriate file access permissions
Adjust logging levels
Performance Tuning
Configure timeout values
Limit concurrent executions
Set up caching
Configuration Examples
Basic Configuration
json
{
"mcpServers": {
"anki-mcp": {
"command": "node",
"args": ["d:\anki-mcp-server\build\index.js"]
}
}
}
Examples
Examples
Basic Usage
Here are basic usage examples for the MCP server:Using with Claude Desktop
1Verify MCP Server Startup
Open Claude Desktop and confirm that the configuration has been loaded correctly.
2Execute Basic Commands
Available tools from this MCP server:
- listDecks: Get names of all decks
- listModels: Get names of all note models
Programmatic Usage
javascript
// JavaScript example (Node.js)
const { MCPClient } = require('@modelcontextprotocol/client');
const client = new MCPClient();
await client.connect();
// Execute tool
const result = await client.callTool('listDecks', {});
console.log(result);
Advanced Examples
Automation Script
bash
#!/bin/bash
Batch processing example
for file in *.txt; do
mcp-tool process "$file"
done
API Integration
python
Python example
import requests
import json
def call_mcp_tool(tool_name, params):
response = requests.post(
'http://localhost:3000/mcp/call',
json={
'tool': tool_name,
'parameters': params
}
)
return response.json()
Usage example
result = call_mcp_tool('listDecks', {})
print(result)
Use Cases
Building an application that retrieves and displays a list of Anki decks to users.
Providing an interface for users to create new notes by retrieving note models.
Creating a batch processing script to add multiple notes at once.
Developing a tool that analyzes Anki data and outputs results in JSON format.