"Six months ago, everyone was talking about MCPs. And I was like, screw MCPs. Every MCP would be better as a CLI."
— Peter Steinberger, Founder of OpenClaw Watch on YouTube (~2:39:00) | Lex Fridman Podcast #491
A production-ready command-line interface for the Billingo API v3. Manage invoices, partners, products, and bank accounts for Hungarian businesses directly from your terminal.
Disclaimer: This is an unofficial CLI tool and is not affiliated with, endorsed by, or supported by Billingo.
- Invoices — Create, list, send, and manage invoices
- Partners — Manage customers and suppliers
- Products — Maintain product catalog
- Bank Accounts — Manage payment accounts
- Organization — View organization details and supported currencies
- JSON output — All commands support
--jsonfor scripting
MCP servers are complex, stateful, and require a running server process. A CLI is:
- Simpler — Just a binary you call directly
- Composable — Pipe output to
jq,grep,awk, and other tools - Scriptable — Use in shell scripts, CI/CD pipelines, cron jobs
- Debuggable — See exactly what's happening with
--jsonflag - AI-friendly — AI agents can call CLIs just as easily as MCPs, with less overhead
npm install -g @ktmcp-cli/billingohuConfigure your Billingo API key:
billingohu config set --api-key YOUR_API_KEYGet your API key from app.billingo.hu/api
# Set API key
billingohu config set --api-key <key>
# Show current config
billingohu config show# List invoices
billingohu invoices list
billingohu invoices list --type invoice --payment-method transfer
# Get invoice details
billingohu invoices get <invoice-id>
# Create invoice
billingohu invoices create --data '{...}'
# Send invoice via email
billingohu invoices send <invoice-id> --emails "client@example.com"
# Delete invoice
billingohu invoices delete <invoice-id># List partners
billingohu partners list
# Get partner details
billingohu partners get <partner-id>
# Create partner
billingohu partners create --data '{"name":"Acme Corp","email":"contact@acme.com"}'
# Update partner
billingohu partners update <partner-id> --data '{...}'
# Delete partner
billingohu partners delete <partner-id># List products
billingohu products list
# Get product details
billingohu products get <product-id>
# Create product
billingohu products create --data '{"name":"Service","net_unit_price":10000,"currency":"HUF"}'
# Update product
billingohu products update <product-id> --data '{...}'
# Delete product
billingohu products delete <product-id># List bank accounts
billingohu bank-accounts list
# Get account details
billingohu bank-accounts get <account-id>
# Create bank account
billingohu bank-accounts create --data '{...}'# Show organization details
billingohu organization show
# List supported currencies
billingohu organization currenciesAll commands support --json for machine-readable output:
# List invoices as JSON
billingohu invoices list --json
# Pipe to jq for filtering
billingohu invoices list --json | jq '.[] | select(.payment_status == "paid")'
# Get partner details
billingohu partners get <id> --json# First, create a partner
PARTNER_ID=$(billingohu partners create \
--data '{"name":"Acme Corp","email":"billing@acme.com","city":"Budapest"}' \
--json | jq -r '.id')
# Create invoice
billingohu invoices create --data '{
"partner_id": '$PARTNER_ID',
"type": "invoice",
"currency": "HUF",
"items": [
{
"name": "Consulting Services",
"net_unit_price": 100000,
"quantity": 1
}
]
}'
# Send invoice
billingohu invoices send <invoice-id> --emails "billing@acme.com"billingohu invoices list --json | jq '.[] | select(.payment_status != "paid") | {id, invoice_number, partner_name, total_gross}'Issues and pull requests are welcome at github.com/ktmcp-cli/billingohu.
MIT — see LICENSE for details.
Part of the KTMCP CLI project — replacing MCPs with simple, composable CLIs.