# Manilo MCP Server Official Model Context Protocol (MCP) server for [Manilo](https://manilo.app) (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](https://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](https://api.manilo.app/.well-known/oauth-authorization-server)), RFC 9728 ([protected resource metadata](https://api.manilo.app/.well-known/oauth-protected-resource)) | | 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 ```json { "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-Authenticate` with `resource_metadata` for automatic discovery - Data is stored on Google Cloud (United States) — Firestore and Cloud Storage - Security contact: [security.txt](https://api.manilo.app/.well-known/security.txt) (RFC 9116) · security@manilo.app - [Privacy Policy](https://manilo.app/privacy) · [Terms of Service](https://manilo.app/terms) ## Links - [Manilo website](https://manilo.app) · [Integrations guide](https://manilo.app/integrations) - [iOS app on the App Store](https://apps.apple.com/app/id6761738170) - [Web dashboard](https://dashboard.manilo.app) - [REST API reference](https://manilo.app/api-v1) · [llms.txt](https://api.manilo.app/llms.txt) - Support: support@manilo.app