Add your description here
Project description
genanki-mcp
Automated Anki deck generation service built with genanki and the Model Context Protocol (MCP).
Focuses on dependable deck creation, strict media sandboxing, and keeping the workflow lean—nothing more.
Highlights
- Streamable MCP HTTP tool that plugs into any MCP-compliant client
- Agents can craft rich CSS templates and embed media assets safely
- Temporary download links (default expiry 600 seconds) for
.apkgretrieval - Media path sandbox prevents out-of-scope file access and orphaned assets
Project Layout
anki_mcp/
├── anki_tools/ # genanki utility wrapper
│ └── genanki_tool.py
├── server/ # MCP + HTTP entrypoints
│ ├── anki_models.py # Pydantic request/response models
│ └── anki_server.py # FastMCP / Starlette server
├── temp_anki_decks/ # Temporary .apkg exports
├── .envexample # Environment variable template
├── pyproject.toml # uv / pip project definition
└── uv.lock
Quick Start
git clone https://github.com/Epiphany-0312/genanki-mcp.git
cd genanki-mcp
Requirements
- Python ≥ 3.13
- Dependency management via uv (recommended) or
pip
Install Dependencies
# With uv (recommended)
uv sync
# Or with pip
python -m venv .venv
.venv\Scripts\activate # PowerShell
pip install -r requirements.txt
Configure Environment Variables
Duplicate .envexample to .env and adjust as needed.
| Variable | Description | Default |
|---|---|---|
PORT |
Uvicorn/FastMCP listening port | 10099 |
SREVERIP |
Public IP/host used to compose download links | 127.0.0.1 |
TOKEN |
Optional bearer token protecting tool access | (empty) |
If TOKEN is omitted, the service skips authentication. Set it in production environments.
Run the Service
uv run python -m server.anki_server
# or
python -m server.anki_server
FastMCP exposes the tool at http://0.0.0.0:<PORT>/anki and temporary downloads at http://0.0.0.0:<PORT>/downloads.
Usage
Connect with any MCP-capable client. By default the MCP endpoint listens on http://127.0.0.1:10099/anki.
Cherry Studio example configuration and workflow:
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_epiphany_0312_anki_mcp-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_epiphany_0312_anki_mcp-0.1.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d9a723ad950bb872a98335b549820b7be1c97be9cd9dc75f02225be6ac32b3d
|
|
| MD5 |
b4ad6d91c138582e5c9e8b03bde6bc8e
|
|
| BLAKE2b-256 |
598a0c9ff81a647539ba2078e8e3a468e3c60afbb1998af5306fbcc3e3e37546
|
File details
Details for the file iflow_mcp_epiphany_0312_anki_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_epiphany_0312_anki_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db655e1508e796a1b925e013aeb0b60ee7cd9a059dfcc332f39e46aa0e7a426a
|
|
| MD5 |
71351f219511da1d908c935eb780203c
|
|
| BLAKE2b-256 |
d04923653643aa32b5dba03e7375355e1b3086f8aaf5ec6289a3f62dc334bb39
|