Tools
Current public tool catalog for Jupid hosted MCP.
All tools are scoped to the authorized Jupid user. Search tools return bounded results with totals and links back to the app. Detail tools require stable IDs taken from search results.
Conventions used across all tools:
- Dates are ISO
YYYY-MM-DDstrings. Agents should resolve "last month" or "Q1" into explicit dates before calling. - Amounts are signed dollars: negative for expenses, positive for inflows.
limitaccepts 1–50 and defaults to 20.- Account numbers are masked; raw provider payloads and other users' data are never returned.
| Tool | What it does |
|---|---|
getProfile | Profile, company summary, and data coverage |
listAccounts | Connected data sources and accounts |
listCategories | Available classification categories |
searchTransactions | Search and filter transactions |
getTransaction | Detail for one transaction |
searchCounterparties | Search vendors, clients, and other counterparties |
getCounterparty | Detail for one counterparty |
getCashflowReport | Cash-flow by period, category, counterparty |
getPnlReport | Schedule C P&L report |
listOutstandingIssues | Open questions that need user context |
answerOutstandingIssue | Save an answer to one open issue (write) |
getAgentConnectionInfo | MCP setup details for agent clients |
getBillingStatus | Basic billing status |
Profile and accounts
getProfile
- Purpose: get the current Jupid profile, company summary, and data coverage.
- Inputs: none.
- Output: user and company summary, connected data counts, transaction date range, pending count, and app link.
listAccounts
- Purpose: list connected data sources and accounts.
- Inputs: optional
includeInactive(boolean, defaultfalse). - Output: connections, account names, masked account numbers, statuses, balances, sync timestamps, totals, and app links.
Example questions:
- "What data is connected to Jupid?"
- "Which accounts are active?"
- "When did my accounts last sync?"
Categories
listCategories
- Purpose: list the classification categories available to the user.
- Inputs: none.
- Output: enabled public classification ontologies and category nodes with paths, names, descriptions, and codes.
This tool is read-only. It does not expose category editing or direct recategorization.
Example questions:
- "What categories does Jupid use?"
- "Which categories exist for meals or software?"
Transactions
searchTransactions
- Purpose: search and filter transactions.
- Inputs, all optional:
query(string) — free-text match on transaction text.dateFrom,dateTo(ISO date; date-onlydateTois inclusive).dateField—"primary","authorized", or"processed".amountFrom,amountTo(signed dollars: negative for expenses).categoryPath(structured path fromlistCategories).counterpartyId,accountIds(IDs from other tools).needsAttention(boolean).limit(1–50, default 20).
- Output: bounded transaction results with category and counterparty names, filing status, context narrative, totals, and per-transaction app links.
getTransaction
- Purpose: get detail for one transaction.
- Inputs: required
transactionId(fromsearchTransactionsresults). - Output: transaction detail, notes, fee and net amounts when present, categories, context narrative, and app link.
Example questions:
- "Show transactions with Stripe last quarter."
- "Find expenses over $500 that need attention."
- "Show me the details of that $1,200 Stripe charge."
For vendor drill-downs, use searchCounterparties first, then call
searchTransactions with the returned counterpartyId.
Counterparties
searchCounterparties
- Purpose: search vendors, clients, investors, contractors, and other counterparties.
- Inputs: optional
query(string),relationshipandtype(enums listed in the tool schema),limit(1–50, default 20). - Output: bounded counterparty results, relationship and type fields, transaction stats, enrichment status, confidence level, totals, and links.
getCounterparty
- Purpose: get detail for one counterparty.
- Inputs: required
counterpartyId(fromsearchCounterpartiesresults). - Output: public counterparty metadata, narrative, sources, matching rules, stats, recent transactions, and app link.
Example questions:
- "Who are our investors?"
- "List contractors."
- "What do we know about Anthropic?"
Reports
getCashflowReport
- Purpose: get filed cash-flow by period, category tree, and counterparty.
- Inputs:
- Required
startDateandendDate(ISO date). dateField—"authorized_at"(default) or"processed_at".periodGrouping—"quarter","month"(default),"week", or"day".periodLimit(default 12).- Optional category filters (
categoryNames,categoryPaths),ontologyId/ontologyKey, andcounterpartyIds.
- Required
- Output: basis metadata, summary totals, periods, full category tree, counterparty attribution, and app link.
getPnlReport
- Purpose: get a Schedule C P&L report (pinned to the
tax_us_schedule_contology). - Inputs: required
startDateandendDate; optionaldateField,periodGrouping,periodLimit, and category filters — same formats asgetCashflowReport. - Output: revenue, COGS, gross profit, operating expenses, net profit, margins, periods, deductible category tree, and app link.
Example questions:
- "Compare cash flow this month vs last month."
- "Generate a P&L for Q1."
- "Who are my top paying clients this year?"
Outstanding issues
listOutstandingIssues
- Purpose: list open questions that need user context.
- Inputs: optional
objectType—"transaction","counterparty", or"company"— andlimit. - Output: open issue IDs, object summaries, question text, answer options when present, totals, and app links.
answerOutstandingIssue
- Purpose: save an explicit answer to one open issue.
- Inputs: required
hookId(the issue ID returned bylistOutstandingIssues) andanswer(string); optionalselectedOption. - Output: status only.
answerOutstandingIssue is the only write-capable MCP tool. It only saves
an answer for an existing open issue; the answer goes through Jupid's normal
processing. It does not directly recategorize rows or edit categories.
Example questions:
- "What still needs my review?"
- "Answer this issue: it was a business lunch with a client."
Setup and billing
getAgentConnectionInfo
- Purpose: get setup details for connecting external AI agents.
- Inputs: none.
- Output: MCP URL, transport, auth mode, Codex config, Cursor config, and app setup link.
getBillingStatus
- Purpose: get basic billing status.
- Inputs: none.
- Output: paid flag, subscription status, period timestamps, price ID when present, and billing page link.
Billing changes must be made in the Jupid web app. MCP can report status and return a link; it cannot change plans, cards, invoices, or payment methods.
Example questions:
- "How do I connect Jupid to Codex?"
- "What is my billing status?"
- "Where do I manage billing?"
Not available yet
Jupid MCP does not currently expose direct recategorization, category editing, CSV or file upload, account sync triggers, direct billing changes, invoice tools, or tax-report tools.