Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Era Context MCP server

Vendor MCP
Open markdown

The Era Context MCP connector routes your AI agent's tool calls to Era Context's own MCP server through Scalekit. Each user signs in to Era Context once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 51 tools.

Tools
51
What they doRead · write · destructive
26 · 19 · 626 read19 write6 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    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. Create the Era Context MCP connection

    In AgentKit > Connections, create an Era Context MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Era Context MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_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)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'eracontextmcp_accounts__list_financial_accounts',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • eracontextmcp_accounts__check_account_balanceGet the current and available balance for a specific account, including credit limit if applicable.Read-only

    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.

    Inputs

    account_group_keystringrequired
    The account group projection key. Obtain from accounts__list_financial_accounts (the account_group_key field).
  • eracontextmcp_accounts__list_financial_accountsList all linked accounts (bank, credit card, investment, manual) with balances and the account_group_key values used by other tools.Read-only

    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.

    Inputs

    include_hiddenboolean
    Set to true to also show accounts the user has chosen to hide. Default: false (only visible accounts).default false
  • eracontextmcp_billing__get_current_planGet the user's active plan tier, billing period, feature entitlements, and usage against plan limits.Read-only

    Billing Get Current Plan

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

    Inputs

    currencystring
    Which currency to show the amounts in, as an ISO 4217 code (e.g. 'eur', 'gbp'). Optional: omit it and the amounts are shown in the currency this platform can tell the user settles in — the one their live subscriptions are billed in, or, for a user holding no live subscription, the one their past subscriptions settled in — and in the default currency only where it can tell neither, or tells more than one. That is the same currency the response reports as settled_currency, so a null settled_currency means the amounts are in the default currency. A code outside the supported set is rejected rather than substituted, and the rejection names the codes that are supported.
  • eracontextmcp_billing__list_paymentsList the user's past invoices — what they were charged, when, for which service period, and whether each was paid.Read-only

    Billing List Payments

    List the user's past invoices — what they were charged, when, for which service period, and whether each was paid. Use for 'what have I been charged?', 'when was I last billed?', or 'show me my receipts'. Amounts are in minor currency units (cents for USD). Pagination is forward-only and cursor-based, not page-numbered: pass the previous response's next_cursor back as cursor to get the next page, and stop when next_cursor is null (has_more is false). This tool returns no invoice PDF or hosted invoice link, by design.

    Inputs

    cursorstring
    Opaque pagination cursor from the previous page's next_cursor. Omit for the first page. Echo it back exactly as received — it is not an offset and cannot be constructed or incremented.
    limitinteger
    Maximum invoices to return on this page. Values outside the supported range are clamped server-side, so an out-of-range value degrades to the nearest supported page size rather than failing.
  • eracontextmcp_billing__list_plansList all available subscription plans with pricing, billing periods, and plan identifiers needed for the upgrade tool.Read-only

    Billing List Plans

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

    Inputs

    currencystring
    Which currency to show the plan amounts in, as an ISO 4217 code (e.g. 'eur', 'gbp'). Optional: omit it and the amounts are shown in the currency this platform can tell the user settles in — the one their live subscriptions are billed in, or, for a user holding no live subscription, the one their past subscriptions settled in — and in the default currency only where it can tell neither, or tells more than one. That is the same currency the response reports as settled_currency, so a null settled_currency means the amounts are in the default currency. A code outside the supported set is rejected rather than substituted, and the rejection names the codes that are supported.
    product_keystring
    Which product to explore plan options for (e.g., 'hub', 'quant'). Defaults to 'hub' if omitted.
  • eracontextmcp_billing__list_subscriptionsList what the user is actually being charged for right now, read live from Stripe, broken down by individual line item.Read-only

    Billing List Subscriptions

    List what the user is actually being charged for right now, read live from Stripe, broken down by individual line item. Use for 'what am I paying for?', 'when does my subscription renew?', 'how much is my add-on?', or 'am I being charged twice?'. Each subscription carries one or more items, and price, billing period and renewal date are per ITEM, not per subscription. A user may also hold more than one subscription. Call billing__list_payments for past invoices rather than inferring them from this response.

    Inputs

    This tool takes no inputs.

  • eracontextmcp_connections__list_connectionsList every one of the user's bank connections with an honest, provider-agnostic status for each: whether it is healthy, syncing with no data yet, needs reconnecting, is terminally denied, is currently disconnected, or one of several other narrower states.Read-only

    Connections List Connections

    List every one of the user's bank connections with an honest, provider-agnostic status for each: whether it is healthy, syncing with no data yet, needs reconnecting, is terminally denied, is currently disconnected, or one of several other narrower states. This is the discover hop of the connection recovery loop — call this first to get each connection's connection_id, then act on a specific connection with connections__trigger_connection_resync, connections__connect_bank_account, or connections__disconnect_institution.

    Inputs

    This tool takes no inputs.

  • eracontextmcp_help__get_helpGet help content for a specific topic: getting_started, connecting_accounts, what_can_i_ask, privacy_and_security, or troubleshooting.Read-only

    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.

    Inputs

    topicstringrequired
    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.one of getting_startedconnecting_accountswhat_can_i_askprivacy_and_securitytroubleshooting