{
  "markdown": "# Spendlog\n\n**Cost & expense tracking for solo entrepreneurs, right inside Claude Code. No apps. No spreadsheets. No account.**\n\nTrack what your business spends, manage budgets, write invoices — all in natural language. Your data stays 100% local in SQLite. Nothing leaves your machine.\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/spendlog\"><img src=\"https://img.shields.io/npm/v/spendlog?color=6366f1&label=npm\" alt=\"npm version\" /></a>\n  <a href=\"https://www.npmjs.com/package/spendlog\"><img src=\"https://img.shields.io/npm/dm/spendlog?color=6366f1&label=downloads\" alt=\"npm downloads\" /></a>\n  <a href=\"https://github.com/makz81/spendlog/actions/workflows/ci.yml\"><img src=\"https://github.com/makz81/spendlog/actions/workflows/ci.yml/badge.svg\" alt=\"CI\" /></a>\n  <img src=\"https://img.shields.io/badge/tools-38-34d399\" alt=\"38 MCP tools\" />\n  <img src=\"https://img.shields.io/badge/tests-382%20passing-brightgreen\" alt=\"382 tests\" />\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue\" alt=\"MIT License\" /></a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/makz81/spendlog/main/docs/demo_1.png\" alt=\"Spendlog monthly summary in Claude\" width=\"600\" />\n</p>\n\n### Works with\n\nClaude Code | Claude Desktop | VS Code | Cursor\n\n### Quick Start\n\n```bash\nnpx spendlog\n```\n\nOr one-click install:\n\n[![Install in VS Code](https://img.shields.io/badge/Install_in-VS_Code-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=spendlog&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22--package%3Dspendlog%22%2C%22spendlog-mcp%22%5D%7D)\n[![Install in Cursor](https://img.shields.io/badge/Install_in-Cursor-000000?style=flat-square&logoColor=white)](https://cursor.com/en/install-mcp?name=spendlog&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIi0tcGFja2FnZT1zcGVuZGxvZyIsInNwZW5kbG9nLW1jcCJdfQ==)\n\nThe installer auto-configures Claude Desktop and Claude Code. Restart Claude, then try:\n\n> \"Track 50€ for hosting\"\n\nThat's it. Requires Node.js 20+.\n\n## Why Spendlog?\n\n- **Zero context-switching** — log costs while you build, right where you already work\n- **Local-first** — all data in `~/.spendlog/spendlog.db`, no account, no cloud\n- **Natural language** — no forms, no menus, just tell Claude what you spent\n- **38 tools** — invoicing, budgets, recurring expenses, CSV export, multi-project tracking\n- **Multilingual** — English and German (EN/DE), with i18n ready for more\n\n## Examples\n\n**Tracking:**\n```\nYou: \"29€ for ChatGPT subscription\"\nClaude: Expense saved: 29.00 € — Category: IT & Software\n\nYou: \"Export 2025 for my accountant\"\nClaude: 247 transactions written to ~/spendlog-export-2025.csv\n```\n\n**Invoices:**\n```\nYou: \"Create invoice for TechCorp, web development, 8h at 95€/h\"\nClaude: Invoice #2026-004 created — 760.00 €\n\nYou: \"Mark it as paid\"\nClaude: Invoice #2026-004 marked as paid, income recorded.\n```\n\n**Analysis:**\n```\nYou: \"How much did I spend on software this quarter?\"\nClaude: IT & Software: 287.00 € (12 transactions) — 23% of total expenses\n\nYou: \"Compare January vs February\"\nClaude: Expenses up 15%. Biggest increase: Marketing (+120€)\n```\n\n## Tools\n\n38 tools across 9 categories:\n\n| Category | Tools |\n|----------|-------|\n| **Transactions** | `add_expense` `add_income` `list_transactions` `update_transaction` `delete_transaction` |\n| **Analysis** | `get_summary` `get_category_breakdown` `compare_periods` `get_tax_summary` |\n| **Invoices** | `create_invoice` `list_invoices` `get_invoice` `mark_invoice_sent` `mark_invoice_paid` `delete_invoice` `duplicate_invoice` |\n| **Budgets** | `set_budget` `get_budget_status` `list_budgets` `update_budget` `delete_budget` |\n| **Recurring** | `create_recurring` `list_recurring` `delete_recurring` `process_recurring` |\n| **Projects** | `create_project` `list_projects` `rename_project` `delete_project` |\n| **Categories** | `list_categories` `add_category` `delete_category` |\n| **Export** | `export_transactions` `export_invoices` `export_for_tax_advisor` |\n| **Settings** | `get_profile` `set_profile` `get_notifications` |\n\n## Configuration\n\n<details>\n<summary>Manual setup (if the installer didn't work)</summary>\n\n**Claude Desktop** — edit your config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"spendlog\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"--package=spendlog\", \"spendlog-mcp\"]\n    }\n  }\n}\n```\n\n**Claude Code:**\n\n```bash\nclaude mcp add spendlog -- npx -y --package=spendlog spendlog-mcp\n```\n\n</details>\n\n### Environment variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `SPENDLOG_LANGUAGE` | `en` or `de` | `en` |\n| `SPENDLOG_DATA_DIR` | Data directory path | `~/.spendlog` |\n| `DATABASE_PATH` | Full path to SQLite database | `$SPENDLOG_DATA_DIR/spendlog.db` |\n| `SPENDLOG_PROJECT` | Default project for all transactions | none |\n\n## Privacy\n\nAll data stays on your machine, in a local SQLite file. No account, no cloud, no telemetry — nothing is ever sent anywhere.\n\n**Note:** Spendlog is a cost tracker, not accounting software. Use it for your own insights, not official bookkeeping or tax filing.\n\n## Development\n\nTypeScript (strict), Vitest for tests, TypeORM + SQLite for storage.\n\n```bash\ngit clone https://github.com/makz81/spendlog.git\ncd spendlog\nnpm install\nnpm run dev       # MCP server with watch mode\nnpm run test      # 382 tests\nnpm run typecheck # type check (no emit)\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details and how to add new tools.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 5572,
  "sha": "989fce850d6c06447408b28fa3f97162c30665e07b4f300d0913635295f92654",
  "repo_slug": "makz81/spendlog",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_makz81_spendlog_9cc2e621/readme"
}