Skip to main content
Glama

openfinance_get_loan_detail

Read-onlyIdempotent

Returns full loan contract detail by id (GET /loans/:loanId): interestRates[] (taxType, ratePercentage, indexer), contractedFinanceCharges[], balloonPayments[], warranties[], installments schedule (installmentsCount, paidInstallments, numberOfInstallmentsRemaining, installmentFrequency), amortizationScheduled, CET, ipocCode and dates. Use after openfinance_list_loans to deep-dive on a specific contract. Pass loan_ids as an array (1-50). { results, errors } batch shape.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
loan_idsYes

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. Added
  10. Removed
  11. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations (readOnlyHint, idempotentHint, destructiveHint) already indicate safe read operation. Description adds behavioral context by noting batch response shape '{ results, errors }' and enumerating returned fields (interestRates, installments, etc.), which goes beyond what annotations provide.

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?

Single sentence packs many field names and guidance, but remains readable. Could benefit from bullet points for the field list, but it is concise with no wasted words.

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

Completeness4/5

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

With no output schema, description enumerates key returned fields (interestRates, charges, installments, dates) and input constraints (array size). Also mentions batch shape. Missing details on pagination or potential errors, but adequate for the tool's simplicity.

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?

Schema coverage is 0%, so description must compensate. It adds meaning by noting array size limit (1-50) and batch response shape. Though schema lists one parameter, description provides actionable constraints and error handling pattern, adding value beyond the raw schema.

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?

Description starts with 'Returns full loan contract detail by id' and lists specific fields, clearly indicating the tool retrieves detailed loan data. It explicitly distinguishes from sibling tool openfinance_list_loans by advising to 'use after' it for deep-diving on a specific contract.

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

Usage Guidelines4/5

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

Provides explicit guidance: 'Use after openfinance_list_loans to deep-dive on a specific contract.' Also specifies input constraints ('Pass loan_ids as an array (1-50)'). Missing explicit when-not-to-use instructions, but context is clear.

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

A4.2/5.0
Disambiguation4/5

Most tools are highly distinct, targeting different resources (accounts, transactions, bills, loans, investments, connections). However, openfinance_list_transactions and openfinance_list_transactions_by_item both return transaction data with different scopes, which could cause misselection. Also openfinance_get_item_status vs openfinance_provider_status are distinct but similar in name.

Naming Consistency5/5

The openfinance_* tools follow a consistent verb_noun pattern (list_accounts, get_credit_card_bill, force_sync). Generic tools (authenticate, connect, marketplace) are also clearly named and consistent within their own domain. No mixed conventions or chaotic naming.

Tool Count4/5

At 25 tools, the server is on the heavier side (borderline of the 16-25 range) but each tool serves a clear purpose in the open finance domain, covering multiple resource types and auxiliary functions like marketplace and status. A slight trim could be made (e.g., merging some list/get pairs), but it's not excessive.

Completeness4/5

The server covers the full read lifecycle for accounts, transactions, bills, loans, and investments, plus connection management (list, disconnect, force sync) and category updates. Minor gaps like lack of direct deletion for financial records are acceptable since those are not typical operations. The generic tools (marketplace, auth, version) round out the toolkit.