The settlement day for everything you subscribe to — a self-hosted, AI-native subscription ledger with multi-currency, shared plans, reminders and a built-in MCP server.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Track what you pay, when it renews, and who owes you. Calends brings subscriptions, shared plans and prepaid balances into one private, single-owner ledger, with an optional read-only public page and AI access through MCP.
Want a look first? Try the live demo.
Deploy to Cloudflare, add a long random SETUP_TOKEN secret to the Worker, then open its URL, enter the token and set your password. To deploy from source, see the Cloudflare guide.
curl -fsSL https://raw.githubusercontent.com/imetn/calends/main/docker/compose.prebuilt.yml -o compose.yml
docker compose up -d
docker compose logs calends
Open http://localhost:8787/, enter the setup token from the logs and set your password.
On Debian or Ubuntu with systemd:
curl -fsSL https://calends.date/install.sh | sudo bash
Calends starts on 127.0.0.1:8787; point your own reverse proxy at it. Run the same command to upgrade.
For upgrades, HTTPS, configuration and other options, see the self-hosting guide.
Ask “What renews next week?”, “How much did I spend this year?” or “Netflix went up to $17.99 from today.” Calends provides 36 tools over a stateless MCP endpoint at /mcp using Streamable HTTP.
On the AI access page (/connect), create a read-only or read/write token, then connect your client. Opening /mcp in a browser takes you to this page; MCP clients use the /mcp endpoint:
Claude Code
claude mcp add --transport http calends https://your-domain/mcp --header "Authorization: Bearer <token>"
Codex
export CALENDS_TOKEN='<token>'
codex mcp add calends --url https://your-domain/mcp --bearer-token-env-var CALENDS_TOKEN
Keep CALENDS_TOKEN available in the environment that launches Codex. Tools cover subscriptions, spending, trends, receivables and insights, plus changes to prices, plans, status and payments. Every write tool supports dry_run; AI access can be turned off in Settings.
Bug reports, translations and pull requests are welcome. See CONTRIBUTING.md for local setup, checks and contribution guidelines.
Start with the architecture and code standards before changing a subsystem. Coding agents use AGENTS.md; CLAUDE.md imports the same instructions.
Built with React 19, Vite, HeroUI / React Aria, shadcn/ui and Cloudflare Workers + D1 (SQLite). Billing, exchange rates and other domain logic are shared between the browser and Worker in shared/.
Translations live in shared/locales/<locale>/<namespace>.json, with English and Simplified Chinese as the source languages.
Calends were the first day of every Roman month, when accounts were settled and debts called in. It is also where the word calendar comes from.
Calends is open source under the MIT License; see LICENSE. You may use, modify and redistribute it, including commercially, provided you retain the copyright and license notices in copies or substantial portions of the software. If you fork Calends, please use a distinct name and credit Calends as the upstream source so users can distinguish your version from this project.
The Latin letters and numerals use Xiaomi's MiSans Latin, bundled unmodified in app/public/fonts/ under the MiSans license; it is not covered by the MIT License and may not be modified or redistributed on its own.