whooing-mcp
v0.3.2
Published
MCP server for Whooing (후잉) personal finance — queries and entry creation for spending, transactions, budgets, and balance sheets
Downloads
40
Maintainers
Readme
whooing-mcp
MCP server for Whooing (후잉) personal finance — queries and entry creation for spending, transactions, balance sheets, and accounts.
Setup
1. Get API Credentials
- Go to Whooing App Settings
- Note your
app_id,token, andsignature - Find 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).
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 |
|------|-------------|------------|
| whooing_pl | Profit & loss (spending/income by category) | start_date?, end_date?, section_id? |
| whooing_entries | Transaction list with account names | start_date?, end_date?, limit?, section_id? |
| whooing_balance | Balance sheet (assets, liabilities, capital) | start_date?, end_date?, section_id? |
| whooing_accounts | Full account list | section_id? |
| whooing_sections | List all sections (가계부) | (none) |
| whooing_add_entry | Create a new transaction entry | entry_date, l_account_id, r_account_id, item, money, memo?, section_id? |
| whooing_update_entry | Update an existing entry | entry_id, entry_date, l_account_id, r_account_id, item, money, memo?, section_id? |
| whooing_delete_entry | Soft-delete an entry (zero out) | entry_id, section_id? |
- Dates use
YYYYMMDDformat. Default: current month (1st to today). section_iddefaults toWHOOING_SECTION_IDenv var.- Write tools resolve account types automatically from the account cache. Use
whooing_accountsto look up account IDs first. - Delete uses soft-delete (sets amount to 0 and prefixes item with [삭제]) due to a Whooing API limitation.
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
