mcpserver.lol
registry/mcp-server-auth
Connection check verified live · 26h ago

mcp-server-auth

Capture receipts, scan Gmail, analyze spending, and create reviewed reports from AI assistants.

Tools 59
GitHub stars
Installs / wk 193
Licence
Transport streamable-http, stdio
Last checked 26h ago

Tools & capabilities

59 tools

Read from the running server on 26h ago.

add_cash_expense taxtipcitydate*notestotal* +6
Add an expense without a receipt, or record money a client provided in advance for expenses. Writes directly to the user's expense spreadsheet after confirmation. For an ordinary e…
add_income tagdatefeesnotesamount*source* +6
Log an income entry manually (cash, check, Stripe payout, etc.). Writes to the Income tab of the user's expense spreadsheet. Useful for income that isn't auto-detected from Gmail o…
add_income_from_csv tagconfirmcsvTextbulkNoterowEditspreviewId +4
Import income from a CSV/TSV/text export (Stripe, PayPal, Square, Cash App, Venmo, OnlyFans, Patreon, Clips4Sale, Ko-fi, Gumroad, Etsy, Uber/Lyft/DoorDash driver exports, bank stat…
add_income_from_file tagphotoconfirmbulkNotemimeTyperowEdits +5
Import income from an attached screenshot, image (JPEG, PNG, WebP, HEIC/HEIF), or PDF (payment screenshots, wallet apps, payout or bank statements; max 10 MB). This is a two-step t…
add_mileage_entry tagcitydatenotespurpose*category +3
Log a business mileage trip in ExpenseBot. Useful for realtors, consultants, contractors, and anyone who drives for work. Requires the user to have configured their mileage rate (c…
check_compliance read-only reportId*userRequest*
Use only when the user explicitly asks to check an existing report for compliance issues such as missing business purpose or policy violations. Creating a report, excluding Persona…
check_feature read-only feature*
Check whether ExpenseBot supports a specific feature ('does ExpenseBot support X', 'can it integrate with Y'). Searches the public knowledge base and returns a confidence-scored an…
check_tax_deductibility read-only query*categorymerchant
Look up whether a specific expense type or purchase is tax-DEDUCTIBLE (business write-off rules) based on the user's country/jurisdiction. This is a deductibility *advice* tool — u…
correct_expenses can modify data undochangestatusconfirmselectionoperationId*
Safely correct the category, business purpose, or explicit attendees on an exact bounded set of recorded expenses. Examples: 'categorize these as Travel', 'add Client kickoff dinne…
create_client_invoice can modify data confirmTaxoperationIdpreparationId*
Create the exact invoice previously returned by prepare_client_invoice. This is a confirmed write: it revalidates the report snapshot and client identity, creates a private editabl…
create_report tagstitledateRangeshareWithcategoriesexcludedTags +3
Create an expense report from a clear date, client, project, trip, category, or merchant request. Tags are ExpenseBot's grouping layer for clients, projects, project codes, and tri…
export_report read-only reportId*
Get a short-lived direct PDF download for one exact authorized expense report, plus the exact highlighted in-app report link. Use the in-app report for CSV, XLSX, receipt ZIP (when…
fetch read-only id*
Fetch full details for a specific item returned by `search`. The id encodes the item type: • 'expense:<rowNumber>' — e.g., 'expense:42' for row 42 of the user's Expenses tab •…
fix_compliance can modify data value*action*reportId*
Bulk-fix compliance issues in a report (e.g., apply the same business purpose to all flagged expenses).
get_accounting_integration_status read-only provider*reportId
Check whether an accounting destination is connected and read-only setup state for the owner. Returns the selected organization/company/business, stored connection state, rollout s…
get_accounting_push_status read-only provider*reportId*
Read the authoritative posting and reconciliation status for one ExpenseBot report at an accounting destination. Use after a timeout or uncertain response before considering any re…
get_client_advance_balances read-only clientNameclientEmail
Read the same per-client advance balances shown in ExpenseBot's Client advances section. Use for questions like 'how much of Acme's advance remains?', 'which client floats are stil…
get_client_invoice read-only invoiceIdclientEmailinvoiceNumber
Get the full financial and delivery summary for one issued client invoice, including subtotal, markup, tax, advance applied, balance due, dates, status, source report, and private…
get_credits_refunds read-only limitdateRangeclientEmail
List card refunds, cashback/rewards, and statement credits that ExpenseBot has already recorded — either as negative expenses or matched against the original charge. Examples: 'did…
get_deep_analytics read-only query*dateRange
Run deeper, multi-step analytics on the user's expenses. Use for explanatory questions like 'why did my spending increase' or 'compare Q1 vs Q2'. Takes 10-30 seconds (runs as a bac…
get_expense_by_id read-only expenseIdrowNumber
Fetch a single expense row by its sheet row number or by its ExpenseBot expenseId (the exact Receipt ID in Column Q). Returns the row's headers + values + a labeled {header → value…
get_expense_splits read-only limitdateRangeonlySplitreceiptIdclientEmail
Show how an expense was split across categories, clients, properties, or business vs personal portions. Returns the single parent payment with its nested allocation lines — split l…
get_income_summary read-only querygroupBydateRangeincomeTagPrefix
Get income totals, breakdowns, and analytics from the Income tab. Covers Schedule C / T2125 income, Schedule B drill-in (interest, dividends, tax refunds, security deposits), renta…
get_last_receipt_result read-only submissionIdwithinSeconds
Check the authoritative final outcome of a receipt image/PDF batch submitted with submit_receipt. After submit_receipt returns submissionId, call this tool with that exact ID using…
get_mileage_summary read-only querygroupBydateRange
Mileage analytics — totals, breakdowns by month / client / purpose / category, plus deduction framing (cents-per-mile or cents-per-km × distance, country-aware IRS / CRA rates). Ex…
get_monthly_books_review read-only periodclientEmail
Month-end summary of the user's books for one calendar month: income recorded, money spent, net, top spending categories and merchants, plus alerts for anything unusual that month.…
get_per_tag_pnl read-only querydateRangetagPrefix
Per-tag P&L — revenue, cost, profit, and margin grouped by tag (per-client, per-property, per-event, per-realtor-deal). Requires both income AND expense rows to be tagged with matc…
get_pnl read-only querydateRangeclientEmail
Compute Profit & Loss (P&L / net income / margin) by combining the Income tab with expense tabs. Examples: 'am I profitable this year', 'P&L for Q1', 'net income last quarter', 'wh…
get_recent_activity read-only limitactionIdsinceDays
Show what the user (or their AI assistants) has recently done in ExpenseBot via this MCP server: which tools were called, when, with what arguments, and whether they succeeded. Thi…
get_report_details read-only reportId*clientEmailuserRequest*
Get full details of a specific expense report including all expenses, totals, and compliance status. Use only when the user explicitly asks to inspect an existing report's details.…
get_scan_status read-only
Check the authoritative status of the user's Gmail receipt scans. Returns the active scan lock, the same live phase and item progress shown by ExpenseBot's in-app status pill, queu…
get_spending_summary read-only querymetricgroupBydateRangecategoriesclientEmail
Summarize the user's recorded expenses with totals and breakdowns by category, merchant, month, tag, source, or payment method. Supports date ranges, period comparisons, and total,…
get_spreadsheet_url read-only
Return the user's master ExpenseBot Google Sheet plus authenticated ExpenseBot workspace links, each with a label and a description of when to use it. Use this when the user asks t…
get_subscription_audit read-only focusquerydateRange
Subscription audit — wraps the Subscription Auditor engine to find recurring charges, duplicates, price increases, and trial-conversion suspects in the user's expenses. Examples: '…
get_trip_suggestions read-only limitclientEmail
Show ExpenseBot's current high-confidence Trip Intelligence proposals from Review Expenses. Read-only: never groups, tags, creates reports, or writes to the spreadsheet. Each propo…
group_expenses can modify data undogroupstatusconfirmselectionoperationId* +6
Group an exact set of recorded expenses for a client, project, trip, job, or other user-named purpose. Examples: 'group my Mexico meals for client Rob', 'put these Vegas expenses u…
list_categories read-only
List the user's configured expense categories and billing accounts. Use this BEFORE calling tools that need a category (add_cash_expense, add_mileage_entry, create_report) so you p…
list_client_invoices read-only limitstatusclientNameclientEmail
List the user's issued client invoices (accounts receivable) — who owes them money, how much, and when it is due. Examples: 'which invoices are outstanding', 'what does Acme still…
list_income_categories read-only
List ExpenseBot's fixed income tax categories. Unlike Expense Accounts, these are not user-configured. Use this BEFORE calling add_income so you pass an exact canonical category in…
list_reports read-only pagelimitfilterclientEmail
List the user's expense reports with pagination. Filter by status (All, Draft, Submitted, Shared). Each exact report includes its app, Bill Client, and accounting handoff URLs. Use…
list_tags read-only
List the user's configured groups. ExpenseBot stores clients, projects, project codes, properties, and trips as tags (for example 'Client: Acme', 'Vegas Trip', or 'Property: 123 Ma…
mark_client_invoice_paid can modify data paidViapaidDate*invoiceId*paidAmount
Mark an issued client invoice as paid after explicit confirmation. Requires a strict calendar-valid paidDate in YYYY-MM-DD format. This updates the accounts-receivable invoice reco…
parse_expense read-only text*
Parse a natural language expense description into structured fields. Does NOT add the expense — just returns the parsed fields for review. Example: "Lunch at Chipotle $15.50 today"…
prepare_client_invoice taxPctreportId*taxLabelissueDate*markupPctclientName* +8
Prepare a client invoice from a saved ExpenseBot report without creating it. Reads canonical report rows, allocates a unique invoice number, verifies the client ledger identity and…
process_gmail_receipts emailIds*accountEmail
Process specific Gmail emails as receipts. Pass Gmail message IDs and they'll be converted to PDF, extracted by AI, and added to the user's expense spreadsheet. Max 25 emails per r…
request_accounting_integration packageName*
Request support for an accounting package only after checking ExpenseBot's reviewed direct and import-file destinations and finding no matching package. Do not use this for a liste…
scan_gmail endDatestartDateaccountEmaillookbackDays
Trigger a background Gmail scan to discover and process receipt emails from the last ~60 days (default). Runs asynchronously — returns immediately, user gets an email summary when…
scan_gmail_years years*accountEmailconfirmStart
Scan one or more COMPLETED PRIOR years of the user's Gmail for receipts (e.g. years:[2023] or years:[2020,2021,2022]). Long-running background job: the first eligible year starts i…
search read-only query*
Search the user's ExpenseBot data — expenses, reports, and knowledge base. Returns matching items with id, title, and url. Use the returned id with the `fetch` tool to get full det…
search_expenses read-only tagslimitquerycursordateRangemaxAmount +5
Search and filter the user's expenses. Returns matching expense rows from their spreadsheet. Filter by category, merchant, date range, amount, or tags. Results are paginated: when…
search_knowledge read-only limitquery*fullAnswer
Search ExpenseBot's complete product and help knowledge base. Use this before guessing when the user asks how a feature works, what ExpenseBot supports, or needs setup, billing, Gm…
send_report_to_accounting modeconfirmprovider*reportIdproposalIdforceRepush +3
Review and then post an ExpenseBot report to the owner's accounting destination. STEP 1: call with provider, reportId, and optional mode/mappings, without confirm. The server reads…
share_report can modify data reportId*recipients*recipientRole
Share one existing expense report after confirmation. Default to reviewer: they can open and edit that report's Google Sheet, inspect receipts, comment, approve, or request changes…
submit_receipt tagnotephotofilenamemimeTypeuploadRef +3
Submit a photo or PDF of a receipt for processing. Covers requests phrased as 'log this', 'log this receipt', 'save this receipt', 'expense this', or 'add this to my expenses', inc…
trace_document read-only dayslimitqueryoutcomethreadIdmessageId +1
Trace what happened to a specific receipt, invoice, forwarded email, Gmail receipt, or PDF in ExpenseBot processing. Use when the user asks where a document went, why it did not sh…
update_expense can modify data fields*confirmexpenseId*
Update a single existing expense row's category, tag, merchant, or business purpose (e.g. 'recategorize expense X to Meals' or 'tag it Client – Acme'). Identify it only by the exac…
whatif_afford read-only deltaMonthly*
Can I afford $X/month? Recomputes the user's Safe Monthly Draw (how much they can safely pay themselves) with an added recurring monthly cost, and returns a yes/tight/no verdict pl…
whatif_client read-only mode*clientName*
What if a client pays late or leaves? mode='late30' shifts that client's OPEN invoice amounts out of the near-term expectation (they still owe it, it's just not landing this month)…
whatif_tax_setaside read-only
What should I set aside for taxes? Surfaces the same monthly tax set-aside estimate already computed for Safe Monthly Draw — wiring, not new math. Flat-rate estimate (default 30%)…