Whooing MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Whooing MCP Show my spending by category for this month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
whooing-mcp
MCP server for Whooing (후잉) personal finance — manage transactions, view spending, balance sheets, budgets, and more.
Setup
1. Get API Credentials
Go to Whooing App Settings
Note your
app_id,token, andsignatureFind your
section_idfrom the API or URL
2. Configure Environment
export WHOOING_APP_ID=3
export WHOOING_TOKEN=your_token
export WHOOING_SIGNATURE=your_signature
export WHOOING_SECTION_ID=your_section_idOr create a .env file (see .env.example).
Related MCP server: t212-mcp-server
Usage
stdio mode (Claude Code, Claude Desktop)
npx whooing-mcpHTTP mode (daemon)
npx whooing-mcp --http --port 8182Claude Code config (~/.mcp.json)
{
"mcpServers": {
"whooing": {
"command": "npx",
"args": ["whooing-mcp"],
"env": {
"WHOOING_APP_ID": "3",
"WHOOING_TOKEN": "...",
"WHOOING_SIGNATURE": "...",
"WHOOING_SECTION_ID": "..."
}
}
}
}Claude Desktop config
{
"mcpServers": {
"whooing": {
"command": "npx",
"args": ["whooing-mcp"],
"env": {
"WHOOING_APP_ID": "3",
"WHOOING_TOKEN": "...",
"WHOOING_SIGNATURE": "...",
"WHOOING_SECTION_ID": "..."
}
}
}
}Tools
Tool | Description | Parameters |
| Profit & loss (spending/income by category) |
|
| Transaction list with account names; supports client-side filters |
|
| Search-focused transaction lookup |
|
| Single transaction lookup by ID |
|
| Find likely duplicate transactions in a date range |
|
| Account-focused transaction summary |
|
| Balance sheet (assets, liabilities, capital) |
|
| Budget status |
|
| Full account list |
|
| List all sections (가계부) | (none) |
| Daily income/expense overview by month |
|
| Month-by-month income, expense, net amount, and transaction count |
|
| Saved frequent transaction templates |
|
| Recent unique items for autocomplete (60 days) |
|
| Create a new transaction entry |
|
| Create multiple transaction entries |
|
| Update an existing entry |
|
| Delete an entry |
|
Dates use
YYYYMMDDformat. Default: current month (1st to today).Calendar months use
YYYYMMformat. Default: current month.whooing_entriesfilters are applied after fetching the date-range results from Whooing. Use a largerlimitwhen searching busy periods.whooing_search_entriesuses Whooing's server-side filters first (item,memo, account, amount range) and paginates with themaxcursor when needed.account_namematches account titles case-insensitively, soaccount_name: "Game"can narrow results to a game expense category without looking up its account ID first.When
account_namematches multiple accounts, search tools split the query per account so each request can still use Whooing's server-side account filter.min_moneyandmax_moneyfilterwhooing_entriesby amount.queryandkeywordsmatch against bothitemandmemo;item_containsandmemo_containstarget one field.itemandmemopass through Whooing's raw search syntax. Use these for exact item matches,*wildcards, item detail parentheses, memo AND terms, and!exclusions.sort_columnacceptsentry_date,item,money,total,l_account_id, orr_account_id;sort_orderacceptsdescorasc.Entry-list date ranges are validated before calling Whooing because
entries.jsonsupports at most one year per request.For efficient broad searches, prefer
item_contains,memo_contains, account filters, and amount filters over generickeywords;queryis optimized as server-side item-or-memo search.whooing_duplicate_candidatesgroups entries with the same date, amount, accounts, and item; setinclude_memoto make memo part of the duplicate key. Use account/item/amount filters to keep duplicate scans efficient.whooing_account_activityaccepts eitheraccount_idoraccount_nameand summarizes only matching entries.Search tools cap internal Whooing requests with
max_api_callsto stay within API rate guidance.whooing_account_activityalso tries Whooing's account-specific aggregate APIs for daily changes, item totals, and client totals.whooing_monthly_summaryusesreport_summary.jsonwithrows_type=monthfor direct monthly income/expense totals.whooing_bulk_add_entriesvalidates account IDs for each row before creating it and reports partial failures.section_iddefaults toWHOOING_SECTION_IDenv var.Write tools resolve account types automatically from the account cache. Use
whooing_accountsto look up account IDs first.
Running as a daemon (macOS launchd)
Create ~/Library/LaunchAgents/com.whooing.mcp.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.whooing.mcp</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/npx</string>
<string>whooing-mcp</string>
<string>--http</string>
<string>--port</string>
<string>8182</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>WHOOING_APP_ID</key><string>3</string>
<key>WHOOING_TOKEN</key><string>YOUR_TOKEN</string>
<key>WHOOING_SIGNATURE</key><string>YOUR_SIGNATURE</string>
<key>WHOOING_SECTION_ID</key><string>YOUR_SECTION_ID</string>
<key>PATH</key><string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>
</dict>
<key>KeepAlive</key><true/>
<key>RunAtLoad</key><true/>
<key>StandardOutPath</key><string>/tmp/whooing-mcp.log</string>
<key>StandardErrorPath</key><string>/tmp/whooing-mcp.err</string>
</dict>
</plist>chmod 600 ~/Library/LaunchAgents/com.whooing.mcp.plist
launchctl load ~/Library/LaunchAgents/com.whooing.mcp.plistDevelopment
git clone https://github.com/jmjeong/whooing-mcp.git
cd whooing-mcp
npm install
npm run build
node dist/cli.jsLicense
MIT
Available Tools
18 toolswhooing_account_activityARead-only
Summarize activity for one account in a date range, including totals, frequent items, and recent matching entries.
Inputs: start_date, end_date, section_id, account_id, +6 more.
whooing_accountsARead-only
Get the full list of accounts (assets, liabilities, income, expenses, capital)
Inputs: section_id.
whooing_add_entryA
Create a new transaction entry in Whooing (e.g. expense, income). Use whooing_accounts first to look up account IDs.
Inputs: entry_date (required), l_account_id (required), r_account_id (required), item (required), +3 more.
whooing_balanceARead-only
Get balance sheet (assets, liabilities, capital) as of a date range
Inputs: start_date, end_date, section_id.
whooing_budgetBRead-only
Get budget status (expenses) for a date range. Dates use YYYYMM (month) format.
Inputs: start_date, end_date, section_id.
whooing_bulk_add_entriesA
Create multiple transaction entries in Whooing. Use whooing_accounts first to look up account IDs.
Inputs: entries (required), section_id.
whooing_calendarARead-only
Get daily income/expense overview for a month. Shows per-day transaction counts, income, and expenses.
Inputs: start_month, end_month, section_id.
whooing_delete_entryA
Delete a transaction entry from Whooing. Use whooing_entries to find the entry_id first.
Inputs: entry_id (required), section_id.
whooing_duplicate_candidatesARead-only
Find likely duplicate transactions in a date range by grouping same date, amount, accounts, and item.
Inputs: start_date, end_date, section_id, limit, +19 more.
whooing_entriesBRead-only
Get transaction entries (individual transactions with account names) for a date range
Inputs: start_date, end_date, section_id, limit, +17 more.
whooing_entry_detailARead-only
Get one transaction entry by entry_id. Use this before updating or deleting when you already know the ID.
Inputs: entry_id (required), section_id.
whooing_frequent_itemsBRead-only
List frequently used transactions (templates for quick entry). Returns saved transaction templates organized by slots.
Inputs: section_id.
whooing_latest_itemsARead-only
Get recent unique transaction items from the past 60 days. Useful for autocomplete suggestions when adding new entries.
Inputs: section_id.
whooing_monthly_summaryARead-only
Get month-by-month income, expense, net amount, and transaction count for a month range.
Inputs: start_month, end_month, section_id.
whooing_plARead-only
Get profit & loss summary (spending and income by category) for a date range
Inputs: start_date, end_date, section_id.
whooing_search_entriesARead-only
Search transactions with query, account, amount, and date filters. Prefer this for natural-language find/search requests.
Inputs: start_date, end_date, section_id, limit, +17 more.
whooing_sectionsARead-only
List all sections (가계부) in the Whooing account
Inputs: no named parameters.
whooing_update_entryA
Update an existing transaction entry in Whooing. Use whooing_entries to find the entry_id, and whooing_accounts to look up account IDs.
Inputs: entry_id (required), entry_date (required), l_account_id (required), r_account_id (required), +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Each tool has a clear and distinct purpose, such as adding an entry vs. searching entries vs. getting accounts. There is minimal overlap, and descriptions help differentiate similar tools like 'entries' and 'search_entries'.
Most tools follow a consistent 'whooing_verb_noun' pattern (e.g., whooing_add_entry, whooing_delete_entry). However, a few tools like 'whooing_accounts' and 'whooing_budget' omit the verb, which is a minor inconsistency but still understandable.
With 18 tools, the server covers a comprehensive set of operations for personal finance management without being overwhelming. Each tool serves a necessary function, and the count is well-scoped for the domain.
The tool surface provides full lifecycle coverage: listing accounts, creating/reading/updating/deleting entries, balance sheets, profit/loss, budgets, calendar views, duplicate detection, and search. No obvious gaps exist for typical personal finance tracking.
Maintenance
Related MCP Connectors
Ask your AI about your own accounts, debts, budgets and goals. OAuth sign-in, read-only by default.
AI accounting: ask about your live AccountsOS books in plain English. Read-only tools for transactions, cash balances, invoices, bills, VAT, filing deadlines and reports across 32 countries. OAuth sign-in; free 14-day trial at accounts-os.com.
Read-only personal finance for AI agents: budgets, receipts, net worth, bills. OAuth 2.1.
Read-only access to your own bank, card and brokerage accounts for Claude, ChatGPT and other AI agents: balances, transactions, spending, subscriptions, cashflow and investment holdings. It can never move money.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to Monarch Money financial data, enabling AI assistants to analyze transactions, budgets, and cashflow.4MIT
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to Trading 212 accounts, enabling AI assistants to retrieve portfolio positions, account summaries, instrument data, and transaction history.32 npm5MIT
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to Kledo accounting data, enabling listing and searching of invoices, contacts, products, and running financial reports through natural language.20 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to self-hosted cash-flow forecasts, balances, transactions, and credit-card data, letting AI clients answer spending and upcoming-obligation questions without modifying financial settings.MIT