Everything stays on your machine. Yans only listens on your own computer, so nobody else can reach it.
docker run -d --name yans -p 127.0.0.1:7377:7377 -v ~/.yans:/data --restart unless-stopped ghcr.io/wavekat/yans:latestCheck it works: open localhost:7377/healthz. You should see {"ok":true,...}.
Your data lives in the ~/.yans folder. Keep 127.0.0.1: in the port mapping: without it, Docker shows Yans to your whole network.
Add Yans to your AI app as an MCP server at http://localhost:7377/mcp.
Claude Code:
claude mcp add --scope user --transport http yans http://localhost:7377/mcpClaude desktop app: open ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows (create it if it does not exist). Add Yans, keeping any servers already listed:
{
"mcpServers": {
"yans": {
"command": "docker",
"args": ["exec", "-i", "yans", "yans-stdio"]
}
}
}Then restart the Claude desktop app. The yans container must be running.
Then ask your AI to start a practice session, or to fix a draft.
Get the newest version and start it again:
docker pull ghcr.io/wavekat/yans:latest
docker stop yans && docker rm yans
docker run -d --name yans -p 127.0.0.1:7377:7377 -v ~/.yans:/data --restart unless-stopped ghcr.io/wavekat/yans:latestYour data is kept. Yans makes a backup before it upgrades its database; the last 5 backups are in ~/.yans/backups.
docker ps, and see errors with docker logs yans.which docker in a terminal and use that full path as command.docker stop yans && docker rm yans
rm -rf ~/.yansYou can also ask your AI to delete a single entry, or all your Yans data.