Skip to main content
Glama
chadlis

ynab-mcp

by chadlis

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoHost to bind HTTP server to (only when MCP_TRANSPORT=http)0.0.0.0
PORTNoPort to bind HTTP server to (only when MCP_TRANSPORT=http)8000
YNAB_TOKENYesYour YNAB Personal Access Token from https://app.ynab.com/settings/developer
MCP_TRANSPORTNoTransport mode; set to 'http' for HTTP hostingstdio
YNAB_BUDGET_IDNoOptional budget ID; if empty, uses YNAB's last-used budget

Capabilities

Features and capabilities supported by this server

CapabilityDetails
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

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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