Manilo
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
Links
README
From the repo.
Manilo MCP Server
Official Model Context Protocol (MCP) server for Manilo (formerly Ledgy) — a multi-currency expense tracker where you talk to your money. Connect Claude, ChatGPT, Cursor, or any MCP-compatible client and log, query, and edit your expenses, budgets, and accounts in plain English.
[!NOTE] Manilo MCP is a hosted service — there is nothing to install or self-host. This repository is its public documentation. Full setup guide: manilo.app/integrations.
Endpoint
| Server URL | https://api.manilo.app/mcp |
| Legacy URL | https://api.ledgy.app/mcp — still served; existing connections keep working, no need to reconnect |
| Transport | HTTP SSE, stateless mode |
| Auth | OAuth 2.1 + PKCE (S256, mandatory) |
| Client registration | Dynamic (RFC 7591) — no manual client_id |
| Discovery | RFC 8414 (authorization server metadata), RFC 9728 (protected resource metadata) |
| Sign-in | Apple, Google, or email |
| Access | Manilo Cloud subscription — 7-day free trial |
Quick start
Claude (claude.ai and Claude Desktop)
Settings → Connectors → Add custom connector → Name: Manilo → Server URL: https://api.manilo.app/mcp → Add → sign in with Apple, Google, or email.
ChatGPT (Plus / Pro / Business)
Manilo is listed in the ChatGPT Apps directory. To add it manually instead:
Settings → Apps → Advanced settings → Developer mode (on) → Create → Name: Manilo → MCP Server URL: https://api.manilo.app/mcp → Authentication: OAuth → Create → sign in.
Cursor / Windsurf / other MCP clients
{
"mcpServers": {
"manilo": {
"url": "https://api.manilo.app/mcp"
}
}
}
Dynamic Client Registration is supported — the client registers itself on first connect.
What you can do
- "Log $12.50 coffee at Blue Bottle yesterday"
- "How much did I spend on groceries this month?"
- "Here's my bank statement — import it" (PDF, CSV, or a screenshot)
- "Move 200 EUR from Cash to Savings"
- "Set a 400 EUR monthly budget for eating out"
Tools (35)
| Group | Tools |
|---|---|
| Transactions | get_transactions, get_transaction, upsert_transactions, delete_transactions, aggregate_transactions |
| Accounts | list_accounts, upsert_accounts, delete_accounts, get_account_balance, adjust_account_balance, reconcile_account, transfer_between_accounts |
| Categories | list_categories, upsert_categories, delete_categories, upsert_category_groups, delete_category_groups |
| Budgets | list_budgets, upsert_budgets, delete_budgets |
| Groups (shared ledgers) | list_groups, upsert_groups, delete_groups |
| Tags | list_tags, upsert_tags, delete_tags |
| Recurring | list_recurring_transactions, upsert_recurring_transactions, delete_recurring_transactions |
| Receipts | upload_receipt, download_receipt |
| Currency | convert_currency — live ECB FX rates |
| User & misc | get_user_profile, update_user_settings, list_supported_icons |
Sharing in Manilo decides visibility, not ownership: members of a shared group (household, trip, flat) see the same transactions while ownership stays personal.
Privacy & security
- OAuth 2.1 with PKCE; on 401 the server returns
WWW-Authenticatewithresource_metadatafor automatic discovery - Data is stored on Google Cloud (United States) — Firestore and Cloud Storage
- Security contact: security.txt (RFC 9116) · security@manilo.app
- Privacy Policy · Terms of Service
Links
Config for your environment
Use the endpoint URL below in your config. No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "https://api.manilo.app/mcp"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.