Skip to main content
Glama

openfinance_force_sync

Forces the bank to re-sync one or more connections NOW and WAITS for it to finish (PATCH /items/:id, then polls until the item stops updating, up to ~60s). Use this when a balance or transaction list looks stale: a connection can read UPDATED yet be hours old, and this pulls fresh data WITHOUT disconnecting/reconnecting. Pass items as an array of selectors (item_id, connector_id, connector_name, or the user-set custom_label nickname); OMIT items to sync ALL linked banks. Returns { results, errors }; each result has the final status, executionStatus, lastUpdatedAt (advances when data is refreshed), and synced (true = fresh data is ready). needs_action (e.g. MFA_REINTERACTION / LOGIN_ERROR / WAITING_USER_INPUT) means the user must re-authenticate — those results include a reconnect_url that opens the widget in UPDATE mode for that exact connection (user enters credentials / MFA token, data refreshes in place, no slot consumed, no disconnect needed). timed_out: true means the sync is still running — re-check with openfinance_get_item_status. Set wait: false for fire-and-forget (returns immediately while UPDATING).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNo
itemsNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added
  2. Removed
  3. Added
  4. Removed
  5. Added
  6. Removed
  7. Added
  8. Removed
  9. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are consistent with the description, which discloses that the tool modifies state (forces sync, waits, polls), explains the wait parameter (fire-and-forget vs wait), and details return fields including status, executionStatus, lastUpdatedAt, synced, needs_action, and timed_out. This adds significant context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense and front-loaded with the key action. It could be slightly trimmed, but every sentence provides value. It balances thoroughness with readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of output schema, the description covers behavior, parameter options, return structure (results, errors, reconnect_url, timed_out), and error handling comprehensively. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well. It explains 'wait' as a boolean controlling sync mode (fire-and-forget vs wait) and 'items' as an array of selectors (item_id, connector_id, etc.) with omission syncing all. This adds meaning, though default for wait could be clearer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states that the tool forces a bank to re-sync one or more connections and waits for completion. It clearly distinguishes from sibling tools like openfinance_list_connections or openfinance_get_item_status by specifying the unique sync-and-wait behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use (stale balances/transactions), what it does NOT require (disconnecting/reconnecting), how to sync all banks (omit 'items'), and how to handle special cases like needs_action and timed_out. It gives clear actionable advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation3/5

Most openfinance_* tools have clearly distinct resource-action pairs, but several pairs overlap enough to cause misselection: authenticate vs connect, openfinance_list_accounts vs openfinance_get_accounts_detail, and openfinance_list_credit_card_bills vs openfinance_get_credit_card_bill. The long descriptions help, but the monolithic marketplace tool also mixes many sub-actions that overlap with report_bug and connection management.

Naming Consistency3/5

The openfinance_* tools mostly follow a consistent openfinance_<verb>_<noun> pattern, and the utility tools are all snake_case, but the conventions are mixed: marketplace is a bare noun, connect/authenticate are bare verbs, and openfinance_provider_status/toolkit_info lack a verb prefix. The pattern is readable but not uniform across the whole set.

Tool Count3/5

At 25 tools, this sits at the top of the borderline-heavy range. The Open Finance domain justifies many of them, but the marketplace mega-tool plus several overlapping list/get variants make the set feel larger than necessary.

Completeness4/5

The surface covers the full Open Finance lifecycle well: connection search/status/sync/disconnect, accounts, balances, transactions, credit card bills, loans, investments, and category correction. Minor gaps exist, such as no direct payment/transfer initiation or single-transaction detail endpoint, but these are outside the apparent read/aggregate purpose and are workable around.