Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Era Context MCP connector

OAuth 2.1/DCR Accounting & FinanceAIProductivity

Connect to Era Context MCP. Access personal finance data including transactions, accounts, spending insights, and AI-powered financial knowledge from Era.

Era Context MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'eracontextmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Era Context MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'eracontextmcp_accounts__list_financial_accounts',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • **Update transactions ** — Bulk-update up to 100 transactions: set category, description, merchant name, or review status
  • **Search transactions ** — Search and filter transactions by merchant name, description, amount range, category, date range, and direction (debit/credit)
  • Links transactions manage transfer — List, confirm, or reject system-detected transfer pairs between transactions (e.g
  • Tags transactions manage transaction — Create, list, update, delete, assign, or remove user-defined tags on transactions
  • Transaction transactions manage manual — Create, update, or delete transactions on a manual account
  • Categories transactions manage — Create, update, hide, delete, merge, or reorder spending categories

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

eracontextmcp_accounts__check_account_balance # Get the current and available balance for a specific account, including credit limit if applicable. Requires an account_group_key from List Financial Accounts. 1 param

Get the current and available balance for a specific account, including credit limit if applicable. Requires an account_group_key from List Financial Accounts.

Name Type Required Description
account_group_key string required The account group projection key. Obtain from accounts__list_financial_accounts (the account_group_key field).
eracontextmcp_accounts__list_financial_accounts # List all linked accounts (bank, credit card, investment, manual) with balances and the account_group_key values used by other tools. 1 param

List all linked accounts (bank, credit card, investment, manual) with balances and the account_group_key values used by other tools.

Name Type Required Description
include_hidden boolean optional Set to true to also show accounts the user has chosen to hide. Default: false (only visible accounts).
eracontextmcp_accounts__manage_account # Create, update, delete, or set the balance of a manually tracked account. Use action to specify the operation; amount must be a positive integer with a separate direction field. 12 params

Create, update, delete, or set the balance of a manually tracked account. Use action to specify the operation; amount must be a positive integer with a separate direction field.

Name Type Required Description
action string required What to do: 'create' adds a new manual account, 'update' changes account properties (account_name applies to any account type; other fields are manual-only), 'delete' soft-deletes a manual account and its transactions, 'set_balance' records a balance snapshot on a manual account.
account_group_key string optional The account group projection key identifying the account. Required for update, delete, and set_balance. Obtain from accounts__list_financial_accounts (the account_id field).
account_name string optional The user-supplied display name (e.g., "Home Mortgage", "Savings Jar"). Required for create. On update, applies to any account type — manual or connected — and writes a user-layer override that surfaces as the effective name; the institution-supplied name is preserved underneath. Mutually exclusive with 'clear_account_name'.
account_number_mask string optional Partial account number (last 4 digits). Do NOT supply the full account number. On update: manual accounts only.
account_type string optional The account type classification. Required for create (manual). On update: manual accounts only — supplying this for a connected account is rejected.
amount_minor_units integer optional The balance amount in integer minor units (e.g., 150050 for $1,500.50, or 1000 for 1000 JPY). Required for set_balance. Positive = asset; negative = liability.
as_of_date string optional As-of date for the balance record in ISO 8601 format (e.g., "2026-04-15"). Defaults to today if not specified. Optional, set_balance only.
balance_currency string optional ISO 4217 currency for the balance (required for set_balance).
clear_account_name boolean optional On update: set to true to remove a previously applied user account-name override, reverting the display name to the institution-supplied value (or empty when no provider name exists). Mutually exclusive with 'account_name'. Account-type-agnostic.
currency string optional ISO 4217 currency for the account (required for create).
initial_balance_minor_units integer optional Starting balance in integer minor units (e.g., 150050 for $1,500.50, or 1000 for 1000 JPY). Positive = asset; negative = liability. Optional, create only.
institution_name string optional Institution name for display and fingerprint matching (e.g., "Chase", "Fidelity"). On update: manual accounts only.
eracontextmcp_accounts__set_account_visibility # Show or hide an account in the dashboard without disconnecting it — the account continues to sync. 2 params

Show or hide an account in the dashboard without disconnecting it — the account continues to sync.

Name Type Required Description
account_group_key string required The account group projection key. Obtain from accounts__list_financial_accounts (the account_group_key field).
visible boolean required Set to true to show the account (Owner scope) or false to hide it (UserExcluded scope).
eracontextmcp_accounts__toggle_balance_backfill # Enable balance history derivation from transaction data, or disable it to revert to snapshot-only balances. 2 params

Enable balance history derivation from transaction data, or disable it to revert to snapshot-only balances.

Name Type Required Description
account_group_key string required The account group projection key identifying the target account group. Obtain from accounts__list_financial_accounts (the account_id field). Must be a manual account.
enable boolean required Set to true to enable balance derivation from transaction history. Set to false to disable and revert to snapshot-only balance behavior.
eracontextmcp_billing__cancel_subscription # Two-step cancellation: first call returns a confirmation key; second call with that key executes the cancellation. 2 params

Two-step cancellation: first call returns a confirmation key; second call with that key executes the cancellation.

Name Type Required Description
reason string required Why the user wants to cancel. Summarize their stated reason concisely.
confirmation_key string optional The confirmation key from the first call. Omit on first call to receive a key; pass it on the second call to execute the cancellation.
eracontextmcp_billing__get_current_plan # Get the user's active plan tier, billing period, feature entitlements, and usage against plan limits. 0 params

Get the user's active plan tier, billing period, feature entitlements, and usage against plan limits.

eracontextmcp_billing__list_plans # List all available subscription plans with pricing, billing periods, and plan identifiers needed for the upgrade tool. 1 param

List all available subscription plans with pricing, billing periods, and plan identifiers needed for the upgrade tool.

Name Type Required Description
product_key string optional Which product to explore plan options for (e.g., 'hub', 'quant'). Defaults to 'hub' if omitted.
eracontextmcp_billing__uncancel_subscription # Reverse a pending subscription cancellation before it takes effect, optionally with a winback discount. 1 param

Reverse a pending subscription cancellation before it takes effect, optionally with a winback discount.

Name Type Required Description
apply_coupon boolean optional Whether to apply the 50% off winback coupon during the uncancel. Defaults to true. Set to false if the user does not want the discount.
eracontextmcp_billing__upgrade # Upgrade to a higher tier or different billing period. Use billing__list_plans first to get valid plan identifiers. 6 params

Upgrade to a higher tier or different billing period. Use billing__list_plans first to get valid plan identifiers.

Name Type Required Description
billing_period string required How often to bill: 'monthly', 'quarterly', or 'yearly'.
target_plan string required Which plan to subscribe to (e.g., 'organize', 'automate', 'optimize'). Use billing__list_plans to see available plans.
client_reference_id string optional Optional client reference ID for referral attribution. Passed through to Stripe unchanged.
coupon_id string optional Optional Stripe coupon ID from Rewardful for referral discounts. Ignored when a promotion code is also provided.
product_key string optional Which product to upgrade (e.g., 'hub', 'quant'). Defaults to 'hub' if omitted.
promotion_code string optional Optional promotion code to apply a discount at checkout (e.g., 'SAVE50'). Omit to let the user enter one manually.
eracontextmcp_connections__connect_bank_account # Start a bank account connection flow via Plaid or a direct integration and return a redirect URL for the user to complete. 2 params

Start a bank account connection flow via Plaid or a direct integration and return a redirect URL for the user to complete.

Name Type Required Description
assistant_name string optional Your name or the name of the AI assistant being used (e.g. 'Claude', 'ChatGPT'). This helps personalize the connection experience for the user.
connection_id string optional Optional existing connection ID for reconnection flows. Provide this to reconnect a stale or broken connection instead of creating a new one. Get connection IDs from the accounts listing.
eracontextmcp_connections__disconnect_institution # Permanently remove a linked institution connection and unlink all associated accounts. Get the connection_id from accounts__list_financial_accounts. 1 param

Permanently remove a linked institution connection and unlink all associated accounts. Get the connection_id from accounts__list_financial_accounts.

Name Type Required Description
connection_id string required The connection ID of the institution to disconnect. Obtain from accounts__list_financial_accounts (the connection_id field on account entries).
eracontextmcp_help__get_help # Get help content for a specific topic: getting_started, connecting_accounts, what_can_i_ask, privacy_and_security, or troubleshooting. Topic is required. 1 param

Get help content for a specific topic: getting_started, connecting_accounts, what_can_i_ask, privacy_and_security, or troubleshooting. Topic is required.

Name Type Required Description
topic string required The help topic to retrieve. Use 'getting_started' for first-time users, 'connecting_accounts' for account linking guidance, 'what_can_i_ask' for example prompts, 'privacy_and_security' for data handling details, or 'troubleshooting' for common issues.
eracontextmcp_insights__analyze_spending # Break down spending into ranked groups by category, merchant, account, or time period — each with amount, percentage, and transaction count. Supports drill-down: call with group_by=category first, then again with a specific category and group_by=merchant. 8 params

Break down spending into ranked groups by category, merchant, account, or time period — each with amount, percentage, and transaction count. Supports drill-down: call with group_by=category first, then again with a specific category and group_by=merchant.

Name Type Required Description
account_group_key string optional Filter to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category string optional Filter to a specific category name for drill-down. For example, first call with group_by='category' to find 'Daily living' is the top category, then call again with category='Daily living' and group_by='merchant' to see which merchants drove that spending.
group_by string optional How to group the spending: 'category' (e.g., Groceries, Transportation), 'merchant' (e.g., Amazon, Starbucks), 'account' (by bank account), 'week' or 'month' (spending over time).
include_subcategories boolean optional When true and group_by is 'category', groups results by parent category with subcategory breakdown
period string optional Time range for the breakdown. Use 'custom' with period_start/period_end for a specific date range.
period_end string optional Custom end date (YYYY-MM-DD). Used when period is 'custom'.
period_start string optional Custom start date (YYYY-MM-DD). Used when period is 'custom'.
top_n integer optional How many groups to return, ranked by spending amount (highest first). Default: 10.
eracontextmcp_insights__compare_spending_periods # Compare spending between two time periods side-by-side, returning the dollar and percentage change per group. 5 params

Compare spending between two time periods side-by-side, returning the dollar and percentage change per group.

Name Type Required Description
account_group_key string optional Filter to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category string optional Filter to a specific category name to compare only that category's spending between the two periods.
group_by string optional How to break down the comparison: 'total' shows one overall comparison, 'category' compares each spending category, 'merchant' compares each merchant.
period_a string optional The first time period to compare (shown as the 'current' or 'newer' period in the results).
period_b string optional The second time period to compare against (shown as the 'baseline' or 'older' period).
eracontextmcp_insights__forecast_spending # Project end-of-period spending based on current pace and historical patterns. 2 params

Project end-of-period spending based on current pace and historical patterns.

Name Type Required Description
account_group_key string optional Limit the projection to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field). Omit to project across all accounts.
period string optional The time period to project spending for. 'this_month' is most common.
eracontextmcp_insights__get_cash_flow # Get multi-period income vs. spending totals broken down by week or month, showing net cash flow per period. 3 params

Get multi-period income vs. spending totals broken down by week or month, showing net cash flow per period.

Name Type Required Description
account_group_key string optional Filter to a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field). Omit to see cash flow across all accounts.
granularity string optional Whether to show cash flow by 'week' or 'month'.
num_periods integer optional How many periods to include (e.g., 6 months, 12 weeks). Default: 6, max: 12.
eracontextmcp_insights__get_daily_financial_summary # Get a day-by-day breakdown of spending and income totals for a specific month, optionally filtered to one category. 3 params

Get a day-by-day breakdown of spending and income totals for a specific month, optionally filtered to one category.

Name Type Required Description
category_key string optional Optional fcat_* category key to filter daily totals by a specific category. Omit to get unfiltered totals.
month integer optional Month number (1-12). Defaults to the current month.
year integer optional Year of the month to query. Defaults to the current year.
eracontextmcp_knowledge__confirm_or_reject_inference # Accept or dispute an AI-inferred financial fact. When rejecting, optionally provide the user's correct value. 4 params

Accept or dispute an AI-inferred financial fact. When rejecting, optionally provide the user's correct value.

Name Type Required Description
action string required The action to take: 'confirm' to accept the inferred value, or 'reject' to dispute it.
slug string required The slug of the inferred assertion to confirm or reject. Get assertion slugs from knowledge__get_financial_context_and_overview.
corrected_value string optional The user's corrected value when rejecting an inference (e.g., the system inferred '$5,000/mo' but the user's actual income is '$8,500/mo'). Only used when action is 'reject'.
instance_id string optional Instance identifier for repeatable assertions. Only needed when multiple instances exist for the same slug.
eracontextmcp_knowledge__defer_question # Skip a question permanently or snooze it to resurface after a specified number of days. 4 params

Skip a question permanently or snooze it to resurface after a specified number of days.

Name Type Required Description
action string required The action to take: 'skip' to decline the question, or 'snooze' to defer it for a number of days.
question_slug string required The slug of the question to skip or snooze. Get available slugs from knowledge__get_pending_questions.
pack_slug string optional The question pack slug containing this question. Defaults to 'financial-profile-v1' if omitted.
snooze_days integer optional Number of days to snooze the question (required when action is 'snooze'). The question will be re-surfaced after this many days.
eracontextmcp_knowledge__forget # Delete a stored financial fact from the user's profile. Use when the user wants to clear an incorrect or outdated answer. 3 params

Delete a stored financial fact from the user's profile. Use when the user wants to clear an incorrect or outdated answer.

Name Type Required Description
slug string required The slug of the fact to retract. Get assertion slugs from knowledge__get_financial_context_and_overview.
instance_id string optional Instance identifier for repeatable assertions. Only needed when multiple instances exist for the same slug.
pack_slug string optional The question pack slug for flow progress recalculation when retracting an answer to a prompted question. Defaults to 'financial-profile-v1' if omitted.
eracontextmcp_knowledge__get_financial_context_and_overview # Get the user's complete financial context — facts, goals, account summary, net worth, monthly spending, top categories, and pending personalization questions. Call this first for comprehensive context. 4 params

Get the user's complete financial context — facts, goals, account summary, net worth, monthly spending, top categories, and pending personalization questions. Call this first for comprehensive context.

Name Type Required Description
category string optional Filter assertions to a specific category (e.g., 'financial', 'preferences', 'goals'). Omit to return all categories.
pack_slug string optional The question pack slug for completion progress data. Defaults to 'financial-profile-v1' if omitted.
status string optional Filter assertions by lifecycle status: 'active' (current facts), 'superseded' (replaced by newer facts), 'retracted' (withdrawn), or 'draft' (not finalized). Omit to return only active assertions.
tags array optional Filter assertions to those matching specific tags (e.g., ['tax-relevant']). Omit to return all assertions regardless of tags.
eracontextmcp_knowledge__get_pending_questions # Get unanswered personalization questions with display text, answer type, and criticality. High-criticality questions unlock additional features. 2 params

Get unanswered personalization questions with display text, answer type, and criticality. High-criticality questions unlock additional features.

Name Type Required Description
max_count integer optional Maximum number of questions to return. Defaults to 5 if omitted.
pack_slug string optional The question pack slug to retrieve questions from. Defaults to 'financial-profile-v1' if omitted.
eracontextmcp_knowledge__recall_history # Get the full change history for a specific financial fact, including all past values and timestamps. 2 params

Get the full change history for a specific financial fact, including all past values and timestamps.

Name Type Required Description
slug string required The slug of the fact to retrieve history for. Get assertion slugs from knowledge__get_financial_context_and_overview.
instance_id string optional Instance identifier for repeatable assertions. Only needed when multiple instances exist for the same slug.
eracontextmcp_knowledge__remember # Store a financial fact, preference, or goal. Populate exactly one typed value field matching the answer_type (text, number, money, date, or boolean). 18 params

Store a financial fact, preference, or goal. Populate exactly one typed value field matching the answer_type (text, number, money, date, or boolean).

Name Type Required Description
answer_type string required The structural type. For prompted questions, use the answer_type from knowledge__get_pending_questions.
slug string required The machine-readable identifier. For prompted questions, use the slug from knowledge__get_pending_questions.
boolean_value boolean optional Boolean value for boolean answer type.
category string optional The logical grouping category. Auto-derived for prompted questions; required for ambient facts.
confidence string optional How certain the system is about this fact: 'definitive' (user explicitly stated), 'confirmed' (inferred and user confirmed), 'inferred' (agent derived, not yet confirmed), or 'observed' (computed from data). Defaults to 'definitive' if omitted.
date_value string optional Date value for date answer type (YYYY-MM-DD).
instance_id string optional Instance identifier for repeatable facts that can have multiple values (e.g., 'checking-1', 'savings-2' for account-related facts). Omit for single-value facts.
modality string optional The nature of the assertion: 'definite' (a stated fact), 'aspirational' (a goal or intention), or 'conditional' (contingent on something). Defaults to 'definite' if omitted.
money_periodic_value object optional Periodic money value for money-periodic answer type (amount + currency + frequency).
money_relative_value object optional Relative money value for money-relative answer type (amount + currency + direction).
money_value object optional Money value for money answer type.
numeric_value number optional Numeric value for number and scale answer types.
pack_slug string optional Question pack slug for flow tracking. Defaults to 'financial-profile-v1'.
source string optional How this fact was captured: 'prompted' (user answered a question), 'conversational' (discovered during chat), 'inferred' (derived by agent), 'observed' (computed from data), or 'imported' (external source). Defaults to 'conversational' if omitted.
tags array optional Optional tags for additional categorization (e.g., ['tax-relevant', 'high-priority']).
text_value string optional String value for text, text-multiline, single-select, multi-select (comma-separated), country (ISO alpha-2), and region answer types.
valid_time string optional When this fact became true in the user's life (YYYY-MM-DD). Omit if the fact has no specific start date.
valid_until string optional When this fact should be considered stale and re-asked (YYYY-MM-DD). Omit if the fact does not expire.
eracontextmcp_knowledge__show_question_ui # Render an interactive prompt for a specific pending question, including answer constraints and suggested presentation format. 2 params

Render an interactive prompt for a specific pending question, including answer constraints and suggested presentation format.

Name Type Required Description
question_slug string required The slug of the question to present as a visual form. Get available slugs from knowledge__get_pending_questions.
pack_slug string optional The question pack slug containing this question. Defaults to 'financial-profile-v1' if omitted.
eracontextmcp_referral__get_dashboard_sso # Get a single-sign-on URL for the user's referral dashboard without a separate login. 0 params

Get a single-sign-on URL for the user's referral dashboard without a separate login.

eracontextmcp_referral__get_referral_stats # Get referral performance stats: invites sent, conversions, and earnings. 0 params

Get referral performance stats: invites sent, conversions, and earnings.

eracontextmcp_referral__join_referral_program # Enroll the user in the referral program and create their affiliate profile. 0 params

Enroll the user in the referral program and create their affiliate profile.

eracontextmcp_referral__switch_referral_campaign # Switch the user's active referral campaign to a different slug. 1 param

Switch the user's active referral campaign to a different slug.

Name Type Required Description
slug string required The campaign slug to switch to. Valid values: 'invite' or 'creator'.
eracontextmcp_transactions__import_csv_transactions # Import transactions from a CSV export of Monarch, Copilot, YNAB, Mint, or Wells Fargo. Use preview_only=true to validate before committing. 4 params

Import transactions from a CSV export of Monarch, Copilot, YNAB, Mint, or Wells Fargo. Use preview_only=true to validate before committing.

Name Type Required Description
account_group_key string required The account group projection key of the manual account to import into. Obtain from accounts__list_financial_accounts (the account_id field). Must be a manual account.
csv_content string required The complete CSV text content (including header row). Pass the raw CSV as a string — do NOT base64-encode, MCP is text-native.
format string optional Optional format hint to bypass auto-detection. Supported values: "monarch", "copilot", "ynab", "mint", "wellsfargo", "chase", "bankofamerica", "amex", "schwab". If omitted, format is auto-detected from the CSV header row.
preview_only boolean optional When true, parse and validate the CSV but do not write transactions. Returns per-row validation verdicts (valid/invalid + reason). Default: false.
eracontextmcp_transactions__list_recurring_charges # List detected recurring charges (subscriptions, bills, income) with merchant, amount, and frequency. 2 params

List detected recurring charges (subscriptions, bills, income) with merchant, amount, and frequency.

Name Type Required Description
active_only boolean optional When true (default), only shows recurring items that have appeared within the last 60 days. Set to false to also include items that may have stopped.
type string optional Filter by type: 'subscription' (Netflix, Spotify, etc.), 'bill' (rent, utilities, etc.), 'income' (salary, freelance, etc.), or 'all' for everything.
eracontextmcp_transactions__list_spending_categories # Get the full category tree with fcat_* keys, icons, and spending types. Call this to discover valid category keys for other tools. 0 params

Get the full category tree with fcat_* keys, icons, and spending types. Call this to discover valid category keys for other tools.

eracontextmcp_transactions__list_transactions # Paginated chronological list of transactions with optional filters for date, account, category, tags, and review status. For keyword searches, use search_transactions instead. 10 params

Paginated chronological list of transactions with optional filters for date, account, category, tags, and review status. For keyword searches, use search_transactions instead.

Name Type Required Description
account_group_key string optional Filter to transactions from a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category_key string optional Filter to transactions with this fcat_* category projection key. Get category keys from transactions__list_spending_categories. When combined with include_children=true, includes transactions from all subcategories.
from_date string optional Start date for transaction range (YYYY-MM-DD). Defaults to all available transaction history.
include_children boolean optional When true and category_key is set, includes transactions from the parent category and all its subcategories. Use this for parent category transaction counts.
page integer optional Page number (1-based)
page_size integer optional Number of transactions per page (max 100)
review_status string optional Filter to transactions by their review status. System rules like anomaly detection and bounced payment detection automatically flag transactions as 'needs_review'.
rule_ids array optional Rule projection keys (e.g. ["frul_abc"]). Only transactions matched by at least one of these rules are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get rule keys from transactions__manage_automation_rules with 'list' action.
tag_keys array optional Tag projection keys (e.g. ["ftag_abc"]). Only transactions with at least one of these tags are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get tag keys from transactions__manage_transaction_tags with 'list_tags' action.
to_date string optional End date for transaction range (YYYY-MM-DD). Defaults to today.
eracontextmcp_transactions__manage_automation_rules # Create, list, update, delete, or enable rules that auto-categorize or tag matching transactions. Supports per-transaction and pattern-detection (transfer/recurring) rules. 21 params

Create, list, update, delete, or enable rules that auto-categorize or tag matching transactions. Supports per-transaction and pattern-detection (transfer/recurring) rules.

Name Type Required Description
action string required What to do. Create adds a new rule, list shows existing rules, update changes a rule's conditions or actions, delete removes a rule permanently, enable/disable turns a rule on or off without deleting it, preview tests filters against recent transactions without saving anything.
actions array optional What to do with matching transactions (required for create and update). You can combine multiple actions. For category, merchant rename, description, review status, hide, and transfer actions, only the highest-priority rule's action applies. Tag actions (add/remove) always apply from all matching rules.
application_scope string optional Determines which transactions this rule applies to. Prospective applies only to new transactions going forward. Retroactive applies only when explicitly re-running against existing transactions. Both (default) does both.
applies_from string optional Only apply this rule to transactions dated on or after this date (YYYY-MM-DD). Omit to apply to transactions of any date.
applies_to string optional Only apply this rule to transactions dated on or before this date (YYYY-MM-DD). Omit to apply to transactions of any date.
apply_retroactively boolean optional Whether to immediately apply the rule to the user's existing transactions. Default: true — all matching transactions are updated right away. When updating an existing rule, the old matches are undone first and the new definition is applied fresh. Set to false only if the user explicitly asks for the rule to apply to future transactions only.
description string optional An optional note explaining what this rule does or why it was created.
filters array optional Conditions that determine which transactions this rule matches (required for create and update). When multiple filters are provided at the top level, ALL must match (AND logic). Use 'or' type filters to match ANY of several conditions.
include_inactive boolean optional When listing rules, set to true to also include disabled rules. Default: false (only active rules are shown).
pattern_spec object optional The pattern detection specification. Required for pattern-scope rules. Supports four types: pair_match (transfer detection between accounts), frequency_threshold (counting occurrences in a window), recurring_group (periodic merchant charge detection), and statistical_anomaly (z-score anomaly detection).
priority integer optional Rules with higher priority numbers are evaluated first. When two rules could both set a category (or merchant name, etc.) on the same transaction, the higher-priority rule wins. Default: 0.
revert_retroactively boolean optional When deleting or disabling a rule, whether to undo the changes it previously made to transactions (e.g., remove the category it assigned, remove tags it added). Default: false — previous changes are left in place. Set to true for a clean undo so the user's transactions return to their state before the rule existed.
rule_key string optional The unique key of an existing rule. Required for update, delete, enable, and disable. Get this from the 'list' action response.
rule_name string optional A short, descriptive name for the rule (e.g., 'Categorize Uber as Transportation'). Required for create and update.
rule_scope string optional The rule scope: 'transaction' (default) evaluates filters against each individual transaction. 'pattern' evaluates a pattern specification against a time-windowed batch of transactions.
trigger_mode string optional When to trigger pattern evaluation. Defaults to 'on_batch_complete' for pattern rules, 'on_each_transaction' for transaction rules.
user_overrides object optional Optional overrides for library rule parameters. Must match the rule's pattern_spec type (e.g. pair_match overrides for a pair_match rule). Library rules cannot be created or deleted, but their behavior can be customized using this field on update.
version integer optional The current version number of the rule, used to prevent conflicting edits. REQUIRED for update, delete, enable, and disable. Get this value from the 'list' action response. If someone else changed the rule since you last read it, the operation will fail with a conflict error — re-read the rule and retry.
window_days integer optional How many days to look back when searching for matching patterns. Required for pattern-scope rules. Must be between 1 and 365.
window_exclude_trigger_account boolean optional When true, transactions from the same account as the trigger are excluded from the window query. Useful for transfer detection to avoid self-matching.
window_lookahead_days integer optional How many days to look ahead when searching for matching patterns. Default: 0 (no lookahead).
eracontextmcp_transactions__manage_categories # Create, update, hide, delete, merge, or reorder spending categories. New categories require a parent_category_key and URL-safe slug. 14 params

Create, update, hide, delete, merge, or reorder spending categories. New categories require a parent_category_key and URL-safe slug.

Name Type Required Description
action string required What to do. Create adds a new custom category, update changes display properties, hide/unhide controls visibility, delete removes a user-created category, merge_categories combines multiple into one.
apply_retroactively boolean optional When true, retroactively re-evaluates transactions (up to 12 months) after mapping rules are created. Defaults to true.
assignment_eligibility string optional Controls whether the AI agent can auto-assign transactions to this category. Optional.
category_key string optional The category key to operate on. Required for update, hide, unhide, delete. For merge_categories this is the target category key.
description string optional A description of what this category covers. Optional.
display_order integer optional Display order within sibling group. Optional.
icon_name string optional A single UTF emoji character used as the category icon in the UI (e.g. "🏠", "💰"). Optional.
merge_source_keys array optional Category keys to merge into the target. Required for merge_categories. These categories will be hidden.
name string optional The display name for the category. Required for create, optional for update (null = unchanged).
parent_category_key string optional The parent category key (fcat_*) under which to create the new category. Required for create.
reorder_entries array optional List of {category_key, display_order} pairs. Required for reorder.
slug string optional A unique URL-safe slug for the new category (lowercase alphanumeric and hyphens, 2-50 chars). Required for create.
source_system_keys array optional System category keys (fcat_*) whose transactions should be routed to this new category. Used with create and merge_categories. Each source gets a mapping rule.
spending_type string optional Spending classification for budgeting and analytics. Optional.
eracontextmcp_transactions__manage_manual_transaction # Create, update, or delete transactions on a manual account. Amount must be a positive integer; use direction=outflow or inflow. Currency is required for create. 3 params

Create, update, or delete transactions on a manual account. Amount must be a positive integer; use direction=outflow or inflow. Currency is required for create.

Name Type Required Description
account_group_key string required The account group projection key shared by all operations. Obtain from accounts__list_financial_accounts (the account_id field). Must be a manual account.
operations array required Array of transaction operations to execute sequentially. Each has its own action and fields.
preview_only boolean optional When true, parse and validate all operations but do not write anything. Returns per-operation validation verdicts (valid/invalid + reason). Default: false.
eracontextmcp_transactions__manage_transaction_tags # Create, list, update, delete, assign, or remove user-defined tags on transactions. version is required for update and delete. 11 params

Create, list, update, delete, assign, or remove user-defined tags on transactions. version is required for update and delete.

Name Type Required Description
action string required What to do: 'create_tag' makes a new tag, 'list_tags' shows all tags, 'get_tag' gets details for one tag, 'update_tag' changes a tag's name or appearance, 'delete_tag' removes a tag, 'assign_tags' attaches a tag to specific transactions, 'remove_tags' detaches a tag from specific transactions.
color string optional A hex color code for the tag's visual appearance (e.g., '#FF5733'). Optional.
display_name string optional The name shown to the user (e.g., 'Business Trip'). Optional when creating (defaults to the tag name). Required when updating. Maximum 50 characters.
icon string optional An icon name for the tag's visual appearance. Optional.
include_deleted boolean optional When listing tags, set to true to also include previously deleted tags. Default: false.
name string optional The tag name (required for create_tag). Spaces are replaced with hyphens and text is lowercased to create a stable identifier (e.g., 'Business Trip' becomes 'business-trip'). Maximum 50 characters.
tag_key string optional The tag's unique identifier (required for get_tag, update_tag, delete_tag, assign_tags, remove_tags). Get this from create_tag or list_tags responses.
tag_type string optional Whether this tag was created by the user ('user', default) or by an automation rule ('auto').
transaction_ids array optional The transaction group IDs (utgr_*) to tag or untag. REQUIRED for assign_tags and remove_tags. Get these from transactions__list_transactions or transactions__search_transactions responses. Up to 100 per call.
type_filter string optional When listing tags, only show tags of this type. Optional.
version integer optional The current version number of the tag, used to prevent conflicting edits. REQUIRED for update_tag and delete_tag. Get this from list_tags or get_tag responses.
eracontextmcp_transactions__search_transactions # Search and filter transactions by merchant name, description, amount range, category, date range, and direction (debit/credit). Returns matching transactions with total count and sum — no arithmetic needed. Use for targeted questions like 'how much did I spend at Starbucks?', 'what was that $50 charge?', or 'show me all refunds this month'. Supports free-text search so exact merchant names are not required. Use category_slug with a parent category (e.g., 'daily-living') to search across all subcategories (Groceries, Dining out, etc.). For browsing recent activity chronologically, prefer transactions__list_transactions instead. Session context from knowledge__get_financial_context_and_overview enriches these results with the user's profile, goals, and preferences. 17 params

Search and filter transactions by merchant name, description, amount range, category, date range, and direction (debit/credit). Returns matching transactions with total count and sum — no arithmetic needed. Use for targeted questions like 'how much did I spend at Starbucks?', 'what was that $50 charge?', or 'show me all refunds this month'. Supports free-text search so exact merchant names are not required. Use category_slug with a parent category (e.g., 'daily-living') to search across all subcategories (Groceries, Dining out, etc.). For browsing recent activity chronologically, prefer transactions__list_transactions instead. Session context from knowledge__get_financial_context_and_overview enriches these results with the user's profile, goals, and preferences.

Name Type Required Description
account_group_key string optional Filter to transactions from a specific account. Pass the account group projection key from accounts__list_financial_accounts (the account_group_key field).
category string optional Filter to a specific category name (e.g., 'Groceries', 'Transportation').
category_key string optional Filter to transactions with this fcat_* category projection key. Get category keys from transactions__list_spending_categories. When combined with include_children=true, includes transactions from all subcategories.
category_slug string optional Filter by category using a slug (e.g., 'daily-living', 'groceries'). When a parent category slug is used (e.g., 'daily-living'), automatically includes all subcategories (Groceries, Dining out, etc.).
direction string optional Filter by money direction: 'debit' for money going out (purchases, payments), 'credit' for money coming in (income, refunds), or 'all' for both.
include_children boolean optional When true and category_key is set, includes transactions from the parent category and all its subcategories. Use this for parent category transaction counts.
limit integer optional Maximum number of transactions to return (1-50). The response also includes total_results count and sum even if the limit clips the list.
max_amount number optional Maximum transaction amount.
min_amount number optional Minimum transaction amount. Use negative values for charges/debits (e.g., -100 finds charges of $100 or more).
period string optional Time range to search within. Use 'custom' with period_start/period_end for a specific date range.
period_end string optional Custom end date (YYYY-MM-DD). Used when period is 'custom'.
period_start string optional Custom start date (YYYY-MM-DD). Used when period is 'custom'.
query string optional Free-text search across merchant name and description. Exact merchant names are not required — partial matches work (e.g., 'star' matches 'Starbucks').
review_status string optional Filter to transactions by their review status. System rules like anomaly detection and bounced payment detection automatically flag transactions as 'needs_review'.
rule_ids array optional Rule projection keys (e.g. ["frul_abc"]). Only transactions matched by at least one of these rules are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get rule keys from transactions__manage_automation_rules with 'list' action.
sort_by string optional How to order the results: by 'date' (newest first), 'amount', or 'merchant' name.
tag_keys array optional Tag projection keys (e.g. ["ftag_abc"]). Only transactions with at least one of these tags are returned. Maximum 50 items; requests with more than 50 items are rejected with an error. Get tag keys from transactions__manage_transaction_tags with 'list_tags' action.
eracontextmcp_transactions__update_transactions # Bulk-update up to 100 transactions: set category, description, merchant name, or review status. Use clear_* fields to revert overrides to automatic values. 9 params

Bulk-update up to 100 transactions: set category, description, merchant name, or review status. Use clear_* fields to revert overrides to automatic values.

Name Type Required Description
transaction_ids array required IDs of the transactions to update (up to 100 at once). Get these from transactions__list_transactions or transactions__search_transactions.
category_key string optional The category to assign to these transactions. Call transactions__list_spending_categories first to get valid category keys.
clear_category boolean optional Remove the user's manual category choice, reverting to the automatically detected category.
clear_description boolean optional Remove the user's custom description, reverting to the original description from the bank.
clear_merchant_name boolean optional Remove the user's custom merchant name, reverting to the original name from the bank.
clear_review_status boolean optional Clear the review status. Use this instead of review_status when removing a status.
description string optional Set a custom note or description for these transactions.
merchant_name string optional Set a custom merchant name for these transactions (e.g., rename 'AMZN*1234' to 'Amazon').
review_status string optional Review status to assign: needs_review, reviewed, or flagged.