MCP server for MILKEE Swiss accounting software
npm install milkee-mcpGive Claude AI direct access to your MILKEE Swiss accounting software.
Deutsche Anleitung / German Guide
MILKEE is Swiss accounting software for freelancers and small businesses:
- Invoicing - QR invoices (Swiss QR-bill standard)
- Proposals - Quotes that convert to invoices
- Bookkeeping - Double-entry accounting, VAT
- Time Tracking - Hours, timers, billable tracking
- Customers - Contact and billing management
This MCP server connects Claude to your MILKEE account, letting you ask natural questions about your business finances, create invoices, manage proposals, and more.
Works with Claude Desktop and Claude Code (CLI).
---
MILKEE | API Docs | MCP Protocol | Changelog | Build Diary
Independent community project, not an official MILKEE GmbH product. Provided "as is" without warranty. Use at your own risk.
The author (Thomas Winter) serves as an advisor to MILKEE GmbH.
MIT
---
- What You Can Do
- Report Types
- Example Prompts
- All Tools
- Setup
- Reference
---
| Ask Claude... | You Get |
|---------------|---------|
| "How is my business doing?" | Profit/loss summary, invoice status, cash position |
| "Show unpaid invoices" | List of outstanding invoices with amounts |
| "Give me a complete financial assessment" | Deep analysis with trends, top customers, expense breakdown |
| "Create an invoice for Acme Corp" | New invoice created in MILKEE |
| "Which customers owe me money?" | Overdue invoice breakdown by customer |
---
Claude generates different levels of reports depending on how you ask:
Fast overview using a single API call:
- Revenue, expenses, net profit, profit margin
- Bank balance
- Invoice counts by status
- Outstanding receivables
```
Financial Health
┌────────────────┬───────────────┐
│ Total Income │ CHF 52'275.75 │
│ Total Expenses │ CHF 19'793.32 │
│ Net Profit │ CHF 32'482.43 │
│ Profit Margin │ 62.1% │
│ Bank Balance │ CHF 12'136.35 │
└────────────────┴───────────────┘
Comprehensive analysis using multiple API calls. Everything above plus:
- Monthly revenue trends
- Top 10 customers by revenue
- Expense breakdown by category
- Balance sheet summary
- Customer concentration analysis
- Seasonality insights
`
Monthly Revenue Trend
┌──────────┬──────────┐
│ Dec 2025 │ 9'053.25 │
│ Nov 2025 │ 2'602.70 │
│ Oct 2025 │ 1'804.00 │
│ ... │ ... │
└──────────┴──────────┘
Top Customers by Revenue
┌─────────────────┬───────────────┐
│ Migros │ CHF 9'236.00 │
│ Veloblitz │ CHF 6'856.70 │
│ Bridge AG │ CHF 3'853.00 │
└─────────────────┴───────────────┘
`
---
---
Click to expand (71 tools)
- Your business overview$3
- milkee_list_invoices - List with filtering
- milkee_get_invoice - Full details
- milkee_create_invoice - Create new
- milkee_update_invoice - Modify
- milkee_delete_invoice - Delete draft
- milkee_mark_invoice_paid - Mark paid
- milkee_send_invoice - Send via email$3
- milkee_list_proposals - List quotes
- milkee_get_proposal - Full details
- milkee_create_proposal - Create new
- milkee_update_proposal - Modify
- milkee_delete_proposal - Delete
- milkee_convert_proposal_to_invoice - Convert
- milkee_send_proposal - Send via email$3
- milkee_list_customers - List with filtering
- milkee_get_customer - Full details
- milkee_create_customer - Create new
- milkee_update_customer - Modify
- milkee_delete_customer - Delete
- milkee_get_customer_statistics - Financial stats$3
- milkee_list_entries - Ledger entries
- milkee_get_entry - Entry details
- milkee_create_entry - Create entry
- milkee_update_entry - Modify
- milkee_delete_entry - Delete
- milkee_get_next_entry_number - Next number
- milkee_bulk_delete_entries - Bulk delete$3
- milkee_list_projects, milkee_get_project, milkee_create_project, milkee_update_project, milkee_delete_project, milkee_bulk_archive_projects$3
- milkee_list_tasks, milkee_get_task, milkee_create_task, milkee_update_task, milkee_delete_task$3
- milkee_list_times, milkee_get_time, milkee_create_time, milkee_update_time, milkee_delete_time
- milkee_get_timer, milkee_start_timer, milkee_stop_timer, milkee_update_timer_description, milkee_discard_timer$3
- milkee_list_products, milkee_get_product, milkee_create_product, milkee_update_product, milkee_delete_product$3
- milkee_list_accounts, milkee_get_account, milkee_create_account, milkee_update_account, milkee_delete_account$3
- milkee_list_tags, milkee_get_tag, milkee_create_tag, milkee_update_tag, milkee_delete_tag, milkee_get_tag_colors$3
- milkee_list_tax_rates, milkee_get_tax_rate$3
- milkee_list_contacts, milkee_create_contact, milkee_update_contact, milkee_delete_contact---
Setup
$3
1. Log in to MILKEE
2. Go to Settings > API
3. Generate a new API token
4. Note your Company ID from the URL (e.g.,
app.milkee.ch/companies/1234/... → ID is 1234)$3
Config file location:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.jsonFull access:
`json
{
"mcpServers": {
"milkee": {
"command": "npx",
"args": ["-y", "milkee-mcp@latest"],
"env": {
"MILKEE_API_TOKEN": "your-api-token-here",
"MILKEE_COMPANY_ID": "your-company-id-here"
}
}
}
}
`Read-only (for analysis only - no create/update/delete):
`json
{
"mcpServers": {
"milkee": {
"command": "npx",
"args": ["-y", "milkee-mcp@latest"],
"env": {
"MILKEE_API_TOKEN": "your-api-token-here",
"MILKEE_COMPANY_ID": "your-company-id-here",
"MILKEE_READ_ONLY": "true"
}
}
}
}
`Restart Claude Desktop after saving. Test with: "List my MILKEE invoices"
$3
Full access:
`bash
claude mcp add milkee -e MILKEE_API_TOKEN=your-token -e MILKEE_COMPANY_ID=your-id -- npx -y milkee-mcp@latest
`Read-only:
`bash
claude mcp add milkee -e MILKEE_API_TOKEN=your-token -e MILKEE_COMPANY_ID=your-id -e MILKEE_READ_ONLY=true -- npx -y milkee-mcp@latest
`---
Reference
$3
| Term | Meaning | Example |
|------|---------|---------|
| Company | YOUR business (the MILKEE account holder) | "Blizzard Ventures" |
| Customer | People/businesses you bill | "Acme Corp" |
- "How is my business doing?" → Your company's financials
- "Show customer statistics for Acme" → Stats about someone you invoice
$3
- API token stays on your machine
- MCP runs locally - credentials only sent to MILKEE's API
- Use read-only mode for safe analysis
$3
| Problem | Solution |
|---------|----------|
| "MILKEE_API_TOKEN required" | Check env variables in config |
| Claude doesn't show tools | Restart Claude Desktop |
| API errors | Verify token in MILKEE Settings > API |
| Stale version | Use
milkee-mcp@latest not milkee-mcp |$3
`bash
git clone https://github.com/thwinter-ch/milkee-mcp.git
cd milkee-mcp
npm install
npm run build
`Local testing:
`bash
MILKEE_API_TOKEN=xxx MILKEE_COMPANY_ID=123 node dist/index.js
`Point Claude Desktop to local build:
`json
{
"mcpServers": {
"milkee": {
"command": "node",
"args": ["/path/to/milkee-mcp/dist/index.js"],
"env": {
"MILKEE_API_TOKEN": "your-token",
"MILKEE_COMPANY_ID": "your-id"
}
}
}
}
``