ynab-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Host to bind HTTP server to (only when MCP_TRANSPORT=http) | 0.0.0.0 |
| PORT | No | Port to bind HTTP server to (only when MCP_TRANSPORT=http) | 8000 |
| YNAB_TOKEN | Yes | Your YNAB Personal Access Token from https://app.ynab.com/settings/developer | |
| MCP_TRANSPORT | No | Transport mode; set to 'http' for HTTP hosting | stdio |
| YNAB_BUDGET_ID | No | Optional budget ID; if empty, uses YNAB's last-used budget |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ynab_list_budgetsA | List the YNAB budgets accessible with this token, with their currency. Returns for each budget: id, name, currency iso_code, last modified date. Useful to grab a specific budget_id (otherwise use "last-used" elsewhere). |
| ynab_list_accountsA | List a budget's accounts with their balance (converted to currency units). Returns: id, name, type, on_budget (bool), current balance, closed flag. |
| ynab_list_categoriesA | List category groups and their categories, with budgeted / activity / balance. Each category: id, name, budgeted, activity, balance (all in currency units). Needed to grab a category_id before creating/categorizing a transaction. |
| ynab_list_payeesA | List a budget's payees, paginated. Returns id + name. Useful to find the id of a recurring merchant. |
| ynab_list_transactionsA | List a budget's transactions, with filters and pagination. Filter by account OR by category (not both, per the API), by date (since_date) and by type (uncategorized / unapproved). Amount is in currency units (negative = expense). Returns id, date, payee_name, amount, category_name, memo, approved, cleared. |
| ynab_create_transactionA | Create a transaction in an account. The amount is given in normal currency units (e.g. -12.50 for a 12.50 expense); conversion to milliunits is automatic. Returns the new id. |
| ynab_update_transactionA | Partially update a transaction (categorize, approve, fix a memo…). Only the provided fields change. Typical case: assign category_id + approved=true to an imported, uncategorized transaction. |
| ynab_get_budget_monthA | Budget summary for a month: to be budgeted, income, budgeted, activity, age of money. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chadlis/ynab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server