Skip to main content
Glama

Inferventis MCP Server

Server Details

Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 20 of 20 tools scored.

Server CoherenceC
Disambiguation2/5

Multiple tools have overlapping purposes, particularly the five fiat FX tools (currency_convert, currency_convert_lite, currency_convert_open, currency_fx_lite, currency_rates) and the three crypto tools (crypto_fx_rates, crypto_price, crypto_price_lite). Although descriptions attempt to differentiate them by source or detail level, the boundaries are subtle enough that an agent could easily misselect.

Naming Consistency3/5

Tool names use a mix of noun_noun, noun_verb, and adjective_noun patterns. Some include a 'lite' suffix consistently, but others like 'finnhub_stock_quote' and 'stripe_payment_records' have vendor prefixes, while bank tools lack them. Overall, the naming is readable but lacks a single consistent pattern.

Tool Count3/5

At 20 tools, the server covers a broad scope (finance, news, web, timezone) but includes redundancy (e.g., five FX conversion tools, two financial calculators). The count is not excessive for a general utility server, but it feels slightly bloated due to multiple near-identical variants.

Completeness3/5

The tool set covers many common financial and informational needs, but notable gaps exist: no historical stock data, no support for non-Stripe payment processors, and no ability to initiate payments (read-only). The news sources are limited to BBC and Guardian. Some areas are over-covered while others are missing, resulting in moderate completeness.

Available Tools

20 tools
bank_accountsAInspect

Retrieves bank account details and recent transaction history via a connected bank API integration. Returns a list of transactions for the specified account, or for all linked accounts when no account ID is provided. Use bank_accounts when an agent needs to inspect account balances, review recent spending, categorise transactions, or reconcile records against a specific bank account. Prefer open_banking_transactions when the integration uses a PSD2 Open Banking provider (TrueLayer) covering 300+ UK and European banks — open_banking_transactions returns richer transaction metadata including merchant names, categories, and running balances. Prefer stripe_payments when the source of payments is a Stripe merchant account rather than a retail bank account. This tool requires a valid bank API credential to be configured on the server.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of transactions to return. Defaults to 20. Maximum 100.
account_idNoIdentifier of the specific bank account to query. When omitted, transactions across all linked accounts are returned.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the credential requirement, the read-only nature (retrieves/returns), and the default vs. specific account behavior. It lacks rate limits or error handling details, but the key behavioral aspects are covered.

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 efficiently structured in three sentences, covering purpose, behavior, and usage guidance. The alternatives guidance adds length but is valuable, and every sentence earns its place.

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?

Given the tool's simplicity (two optional params, no output schema), the description covers the essential information: what it does, when to use it, sibling alternatives, and a credential prerequisite. It lacks exact return field details but is sufficient for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

The schema already describes both parameters comprehensively (limit default/max, account_id behavior), so the description adds no new parameter-specific information beyond restating what the schema says. Since schema coverage is 100%, the baseline of 3 is appropriate.

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 clearly states it retrieves bank account details and recent transaction history via a bank API, using a specific verb and resource. It also distinguishes itself from siblings like open_banking_transactions and stripe_payments, making the purpose unambiguous.

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 explicitly states when to use bank_accounts (inspect balances, review spending, categorize transactions, reconcile records) and when to prefer alternatives (open_banking_transactions for PSD2 Open Banking, stripe_payments for Stripe merchant accounts). This provides clear decision guidance with specific scenarios.

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

crypto_fx_ratesAInspect

Converts an amount between any cryptocurrency and fiat currency pair, or between two cryptocurrencies, using real-time exchange rates sourced from CoinAPI. Supports all crypto-to-fiat (BTC/USD, ETH/EUR), fiat-to-crypto (USD/BTC), and cross-crypto (BTC/ETH) conversions. Use crypto_fx_rates when the conversion involves at least one cryptocurrency and a specific amount must be converted. Prefer crypto_price when only the spot price of a coin in fiat is needed without converting a specific amount, or prefer crypto_price_lite for the same spot price with a minimal response schema. Prefer currency_convert or currency_fx_lite when both currencies are fiat — those tools use ECB/Frankfurter or mid-market rates and do not consume a CoinAPI quota. Requires a CoinAPI key to be configured on the server.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget currency code. Accepts ISO 4217 fiat codes (USD, EUR, GBP) or cryptocurrency ticker symbols (BTC, ETH, SOL, XRP). Case-insensitive.
fromYesSource currency code. Accepts ISO 4217 fiat codes (USD, EUR, GBP) or cryptocurrency ticker symbols (BTC, ETH, SOL, XRP). Case-insensitive.
amountYesAmount to convert. Must be a positive number. Denominated in the 'from' currency.
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the data source (CoinAPI), the authentication requirement (CoinAPI key configured on the server), and quota consumption. It does not detail output format or error behavior, but key operational context is provided.

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

Conciseness5/5

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

The description is well-structured and front-loaded with the primary purpose. Each sentence adds distinct value: functionality, pair coverage, usage guidance, alternatives, and requirements. No fluff or redundancy.

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?

The tool has no output schema, but the description covers purpose, usage, alternatives, authentication, and data source. It is complete for a conversion tool, though it omits explicit return value description and error handling, which would make it fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no extra semantics beyond the schema, only reaffirming examples. Baseline 3 is appropriate as the schema does the heavy lifting.

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?

Clearly states the tool converts an amount between cryptocurrency and fiat pairs or two cryptocurrencies, with explicit examples (BTC/USD, ETH/EUR, USD/BTC, BTC/ETH). This distinguishes it from sibling tools by focusing on conversion with a specific amount.

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?

Provides explicit when-to-use guidance: 'Use crypto_fx_rates when the conversion involves at least one cryptocurrency and a specific amount must be converted.' It also names alternatives (crypto_price, crypto_price_lite, currency_convert, currency_fx_lite) and conditions for preferring them, including rationale like avoiding CoinAPI quota.

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

crypto_priceAInspect

Retrieves real-time price data for any cryptocurrency listed on CoinGecko. Returns the current price in any fiat currency, 24-hour percentage change, market capitalisation, and 24-hour trading volume. Supports all major cryptocurrencies including Bitcoin (BTC), Ethereum (ETH), Solana (SOL), XRP, Cardano (ADA), Dogecoin (DOGE), Polygon (MATIC), Chainlink (LINK), Avalanche (AVAX), and 10,000+ additional coins. Use crypto_price when an agent needs the full market picture for a digital asset — price, change, market cap, and volume in one call. Prefer crypto_price_lite when only the spot price and 24h change are needed and a smaller response payload is preferred. Use crypto_fx_rates (via CoinAPI) when converting a specific amount between a cryptocurrency and fiat, or between two cryptocurrencies. Do not use this tool for fiat-to-fiat currency conversion (e.g. USD to EUR) — use currency_convert instead. Do not use when historical price data for a specific past date is required — this tool returns live spot prices only.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesCryptocurrency name or ticker symbol. Accepts common symbols (BTC, ETH, SOL, XRP, ADA, DOGE, MATIC, LINK, AVAX) or full names (bitcoin, ethereum, solana). Case-insensitive.
currencyNoTarget fiat currency code for the price. Must be a valid ISO 4217 code. Defaults to USD. Examples: usd, eur, gbp, jpy, chf, aud, cad.
include_market_dataNoWhether to include market capitalisation and 24-hour trading volume alongside the price. Defaults to true. Set to false for a lighter response when only the price is needed.
Behavior4/5

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

No annotations are provided, so the description carries the transparency burden. It discloses the live spot price nature, the CoinGecko listing scope, and the exact return fields, which is meaningful behavioral context. However, it does not mention error conditions, rate limits, or data freshness, which keeps it a 4 rather than a 5.

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

Conciseness5/5

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

The description is a well-structured paragraph with no filler. Every sentence contributes either the core function, the return payload, supported asset examples, or usage guidance with alternatives. The length is justified by the need to differentiate from several closely related sibling tools.

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?

For a tool with 3 parameters and no output schema, the description fully covers what the tool returns, the accepted input scope, and the conditions for use versus alternatives. It even warns against historical use. The context is sufficiently complete for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reinforces the purpose of include_market_data ('full market picture') and gives examples of accepted coin symbols, but the schema already thoroughly describes all parameters. The description adds marginal value beyond the 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?

The description begins with a specific verb and resource: 'Retrieves real-time price data for any cryptocurrency listed on CoinGecko.' It clearly enumerates the returned data (price, 24h change, market cap, volume) and distinguishes itself from sibling tools by explicitly referencing crypto_price_lite and crypto_fx_rates.

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?

Provides explicit when-to-use guidance ('Use crypto_price when an agent needs the full market picture'), when to prefer alternatives ('Prefer crypto_price_lite', 'Use crypto_fx_rates'), and exclusions ('Do not use for fiat-to-fiat', 'Do not use when historical data required'). This is textbook-level guidance.

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

crypto_price_liteAInspect

Retrieves the current spot price and 24-hour change for any cryptocurrency using the CoinGecko public API. Returns price, percentage change, and a timestamp. This is a lightweight variant of crypto_price that omits extended market data (market cap, volume) — use it when only the raw price and 24h direction are needed. Prefer crypto_price when the agent also needs market capitalisation, trading volume, or richer structured output. Use crypto_fx_rates when converting a specific amount between a cryptocurrency and fiat (e.g. 'convert 0.5 BTC to USD') rather than looking up a spot price. Supports all major coins including BTC, ETH, SOL, XRP, ADA, DOGE, and 10,000+ CoinGecko-listed assets. Accepts ticker symbols (BTC, ETH) or full names (bitcoin, ethereum). Target currency defaults to USD but accepts any ISO 4217 code.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesCryptocurrency ticker symbol (BTC, ETH, SOL) or full CoinGecko name (bitcoin, ethereum, solana). Case-insensitive.
currencyNoISO 4217 fiat currency code for the returned price. Defaults to 'usd'. Examples: usd, eur, gbp, jpy.
Behavior4/5

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

With no annotations provided, the description carries the burden and does disclose the API source, the specific return fields, and the omission of extended market data. It also notes support for 10,000+ assets and input flexibility, but lacks details on rate limits, error behavior, or timestamp format which would be useful.

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

Conciseness5/5

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

The description is well-structured and front-loaded with the core purpose, then proceeds to variants and alternatives, and ends with input details. Every sentence adds value without redundancy.

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?

Since there is no output schema, the description appropriately specifies return values (price, percentage change, timestamp). It also covers input variety and default currency. While it doesn't mention error or edge cases, the description is sufficiently complete for the tool's simplicity.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are well-documented. The description reiterates the input formats and defaults, adding minor clarity (e.g., case-insensitive, ISO 4217) but does not meaningfully expand beyond the 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?

The description clearly states the tool retrieves current spot price and 24-hour change for any cryptocurrency via CoinGecko. It explicitly distinguishes itself as a lightweight variant of crypto_price, omitting extended market data, and names the exact output fields.

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?

Provides explicit guidance on when to use this tool versus alternatives: use when only raw price and 24h direction are needed, prefer crypto_price for richer data, and use crypto_fx_rates for currency conversion. This is a textbook example of usage differentiation.

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

currency_convertAInspect

Converts a monetary amount from one currency to another using live exchange rates sourced from the Frankfurter API (European Central Bank data). Returns the converted amount, the exact exchange rate applied, and the timestamp of the rate. Supports 30+ currencies including USD, EUR, GBP, JPY, CHF, AUD, CAD, SEK, NOK, DKK, SGD, HKD, and all major ISO 4217 codes. Use currency_convert when an agent needs to convert prices, invoices, salaries, payments, or any financial figure between fiat currencies in real time with full ECB-backed rate metadata. Prefer currency_convert_lite or currency_fx_lite when only the numeric converted amount and rate are needed without metadata. Use currency_rates when the conversion must use a historical rate from a specific past date. Do not use this tool for cryptocurrency conversion — use crypto_fx_rates (amount conversion via CoinAPI) or crypto_price (spot price lookup via CoinGecko).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesThe target currency code in ISO 4217 format. Must be uppercase. Examples: EUR, JPY, CHF, SGD, HKD, SEK.
fromYesThe source currency code in ISO 4217 format. Must be uppercase. Examples: USD, GBP, EUR, JPY, CHF, AUD, CAD.
amountYesThe monetary amount to convert. Must be a positive number. Decimals are supported. Example: 1500.50 to convert one thousand five hundred and fifty cents.
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses the data source (Frankfurter API/ECB), the response components (converted amount, exact rate, timestamp), and the currency scope. It does not mention rate limits, error conditions, or side effects, but the main behavioral aspects are covered.

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

Conciseness5/5

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

The description is appropriately sized, with each sentence serving a distinct purpose: function, output, supported currencies, when to use, alternatives, and exclusions. It is front-loaded with the core purpose and avoids extraneous detail.

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?

With no output schema, the description explicitly names the return values: converted amount, exact exchange rate, and timestamp. It also covers data source, supported currencies, and alternatives. For a simple three-parameter tool, the description provides complete context for an agent.

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 100%, so the baseline is 3. The description adds value by listing example currencies and clarifying that the amount is in the source currency. This complements the schema's parameter descriptions and provides additional context beyond field names.

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 opens with a specific verb and resource: 'Converts a monetary amount from one currency to another using live exchange rates.' It clearly distinguishes from siblings by naming currency_convert_lite, currency_fx_lite, currency_rates, and crypto tools with their specific purposes.

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 explicitly states when to use the tool: 'Use currency_convert when an agent needs to convert prices, invoices, salaries, payments...' It also provides direct alternatives: 'Prefer currency_convert_lite or currency_fx_lite when only the numeric converted amount...' and warns against crypto use, redirecting to appropriate tools.

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

currency_convert_liteAInspect

Converts a monetary amount between any two fiat currencies using live exchange rates from the Frankfurter API (European Central Bank data). Returns the converted amount and the exchange rate applied. This is a lightweight variant of currency_convert — minimal response without rate timestamp or source attribution. Use currency_convert_lite when only the converted value and rate are needed and ECB/Frankfurter-sourced rates are preferred. Prefer currency_convert when the agent also needs rate timestamp and richer structured output. Prefer currency_fx_lite for the same minimal output (amount + rate) when the ECB data source is not specifically required — both return identical fields but draw from different rate providers. Use currency_rates when a historical rate from a specific past date is required (e.g. accounting, tax, or audit). Use currency_convert_open as a fallback when Frankfurter is unavailable or rate-limited. Does not support cryptocurrency pairs — use crypto_price or crypto_fx_rates for crypto-to-fiat conversions. Accepts all major ISO 4217 currency codes (USD, EUR, GBP, JPY, CHF, AUD, CAD, SGD, NOK, SEK, DKK, PLN, CZK, HUF, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesISO 4217 code of the target currency (e.g. 'EUR', 'JPY', 'CHF'). Case-insensitive.
fromYesISO 4217 code of the source currency (e.g. 'USD', 'GBP', 'EUR'). Case-insensitive.
amountYesMonetary amount to convert. Must be a positive number.
Behavior4/5

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

With no annotations, the description carries the full burden and it does well by disclosing the data source (Frankfurter/ECB), return contents (converted amount and exchange rate), and the minimal response nature (no rate timestamp or source attribution). It also notes the lack of crypto support. It stops short of discussing error behavior or rate limits, but the key behavioral traits are covered.

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 front-loaded with purpose and output, followed by sibling comparisons and exclusions. While longer than average, each sentence contributes meaningful selection guidance. It could be condensed slightly, but the structure is logical and efficient.

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?

For a simple conversion tool with no output schema and no annotations, the description provides sufficient context for an agent to select and invoke it correctly. It specifies return values, alternative tools, non-supported use cases (crypto), and gives currency code examples, making the tool's behavior and boundaries clear.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter (amount, from, to) already described with format and constraints. The description adds only marginal context, such as 'any two fiat currencies' and example ISO codes, but does not materially enhance parameter understanding beyond the 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?

The description opens with a specific verb and resource: 'Converts a monetary amount between any two fiat currencies using live exchange rates from the Frankfurter API (European Central Bank data).' It clearly distinguishes itself from sibling tools by identifying as a 'lightweight variant of currency_convert' and contrasting with currency_convert, currency_fx_lite, currency_rates, and currency_convert_open.

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?

Usage guidance is explicit and actionable: 'Use currency_convert_lite when only the converted value and rate are needed,' with specific instructions to prefer currency_convert for richer output, currency_fx_lite when ECB sourcing isn't required, currency_rates for historical data, and currency_convert_open as a fallback. It also excludes crypto pairs, directing users to crypto_price or crypto_fx_rates.

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

currency_convert_openAInspect

Converts a monetary amount between two fiat currencies using live exchange rates from an open currency exchange API. Returns the converted amount and the rate applied. Use currency_convert_open as an alternative live-rate source when currency_convert (Frankfurter/ECB) or currency_fx_lite are unavailable or rate-limited. The underlying source is an open public exchange rate feed suitable for informational use. Prefer currency_convert or currency_rates when ECB-auditable Frankfurter rates are required for accounting or compliance. Prefer currency_convert_lite for the same minimal output (amount + rate) backed by ECB/Frankfurter rates. Prefer currency_fx_lite for lightweight mid-market conversions. Does not support cryptocurrency pairs — use crypto_fx_rates for any conversion involving a digital asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesISO 4217 target currency code (e.g. 'EUR', 'JPY', 'CHF'). Case-insensitive.
fromYesISO 4217 source currency code (e.g. 'USD', 'GBP', 'EUR'). Case-insensitive.
amountYesMonetary amount to convert. Must be a positive number.
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds context about the data source being 'an open public exchange rate feed suitable for informational use,' implying limitations for auditable purposes. It also explicitly states it does not support cryptocurrency pairs. However, it does not detail error behavior, rate limits, or the exact rate type (mid-market), but the core behavioral traits are transparent.

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 well-structured and front-loaded with the main action, followed by usage alternatives and exclusions. It is slightly verbose with multiple 'Prefer' statements, but each sentence carries meaningful information and justifies its place. It is appropriately sized for the complexity of the tool and its sibling context.

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 simple nature (3 params, no output schema, no annotations), the description is highly complete. It states what the tool returns (converted amount and rate), when to use it, when not to use it, and the underlying data source limitations. It also covers the sibling-tool landscape, making the decision context clear.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add additional parameter-specific details beyond what the schema already provides (e.g., positive number, ISO codes, case-insensitivity). No extra meaning is needed, but the description also doesn't enhance the semantics further.

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 clearly states the tool's purpose: 'Converts a monetary amount between two fiat currencies using live exchange rates from an open currency exchange API. Returns the converted amount and the rate applied.' It uses a specific verb (converts) and resource (monetary amount between fiat currencies) and distinguishes from siblings by describing itself as an alternative live-rate source.

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 when-to-use and when-not-to-use guidance. It says 'Use currency_convert_open as an alternative live-rate source when currency_convert (Frankfurter/ECB) or currency_fx_lite are unavailable or rate-limited.' It also names preferred alternatives for different scenarios (accounting/compliance, minimal output, lightweight conversions) and excludes crypto pairs, pointing to crypto_fx_rates.

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

currency_fx_liteAInspect

Converts a foreign exchange (FX) amount between two fiat currencies using live mid-market rates. Returns the converted amount and the exchange rate applied. Use currency_fx_lite when only the numeric result is required and the ECB/Frankfurter data source is not specifically needed. Prefer currency_convert when richer metadata (rate timestamp, ECB-backed Frankfurter source) is needed. Prefer currency_convert_lite for the same minimal output (amount + rate) when ECB/Frankfurter rates are specifically required — both tools return identical fields but draw from different rate providers. Use currency_rates when a historical rate from a specific past date is required. Use currency_convert_open as an alternative open-rate source. Does not support cryptocurrency pairs — use crypto_fx_rates for crypto-to-fiat or crypto-to-crypto conversions, or crypto_price_lite for a spot price lookup. Accepts all major ISO 4217 currency codes.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesISO 4217 target currency code (e.g. 'EUR', 'CHF', 'AUD', 'CAD'). Case-insensitive.
fromYesISO 4217 source currency code (e.g. 'USD', 'GBP', 'EUR', 'JPY'). Case-insensitive.
amountYesMonetary amount to convert. Must be a positive number.
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses return values (converted amount and exchange rate), data source behavior (live mid-market rates, non-ECB/Frankfurter by default), unsupported crypto pairs, and provider differences between lite tools. It does not disclose error handling or rate freshness details, but given the simplicity of the tool, this is a minor gap.

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

Conciseness5/5

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

Although the description is longer than typical, every sentence earns its place. It is front-loaded with the core purpose and then systematically addresses usage guidance, alternatives, and exclusions. The length is justified by the complex sibling landscape, and there is no redundant or filler content.

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?

The description is complete for a simple conversion tool: it states what it returns, when to use it, and how it differs from siblings. Since there is no output schema, the description clarifies that both the converted amount and rate are returned. It stops short of naming exact return fields, but this is not critical for a 'lite' tool.

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

Parameters3/5

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

All three parameters have detailed schema descriptions with examples and case-insensitivity, so schema coverage is 100%. The description adds some context by noting 'fiat currencies' and accepting 'all major ISO 4217 currency codes', which clarifies the parameter domain but does not substantially extend the schema's semantics.

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 clearly states the tool's function with a specific verb and resource: 'Converts a foreign exchange (FX) amount between two fiat currencies using live mid-market rates.' It also differentiates from siblings by naming alternative tools and their specific use cases, making the purpose unambiguous.

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?

Explicit when-to-use guidance is provided: 'Use currency_fx_lite when only the numeric result is required and the ECB/Frankfurter data source is not specifically needed.' It also gives alternatives for richer metadata (currency_convert), ECB-specific rates (currency_convert_lite), historical rates (currency_rates), and open-source rates (currency_convert_open), along with crypto exclusions. This is exemplary usage guidance.

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

currency_ratesAInspect

Retrieves live and historical fiat currency exchange rates from the Frankfurter API (sourced from the European Central Bank). Supports both real-time conversion and historical rate lookup for any past date, making it the preferred tool when auditable, ECB-sourced rate data is required. Use currency_rates when a rate from a specific past date is required (e.g. accounting, tax, or audit), or when the ECB source must be documented. Prefer currency_convert when only a live conversion is needed with a richer structured response. Prefer currency_convert_lite for lightweight live ECB conversions without historical requirements. Prefer currency_fx_lite when ECB sourcing is not required and only a lightweight live result is needed. Use currency_convert_open when a non-ECB rate source is acceptable and Frankfurter is unavailable. Does not support cryptocurrency pairs — use crypto_fx_rates for any conversion involving a digital asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesISO 4217 target currency code (e.g. 'EUR', 'JPY', 'CHF'). Case-insensitive.
fromYesISO 4217 source currency code (e.g. 'USD', 'GBP', 'EUR'). Case-insensitive.
amountYesMonetary amount to convert. Must be a positive number.
Behavior4/5

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

With no annotations, the description carries the full burden of disclosing behavior. It clearly states the tool retrieves data (implying read-only), supports live/historical rates, is ECB-sourced, and explicitly excludes cryptocurrency pairs. It also notes a fallback source ('Frankfurter is unavailable'), which adds context. However, it does not mention rate limits, error behavior, or response format, so it is not maximally transparent.

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 longer than ideal but every sentence earns its place by providing essential guidance on when to choose this tool over alternatives. It is front-loaded with the core functionality, and the additional sentences are structured as clear comparisons. It is concise for the amount of useful information delivered.

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

Completeness3/5

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

The description thoroughly addresses the tool's purpose and sibling differentiation, but it omits a critical detail: the schema does not include a date parameter, yet the description heavily promotes historical lookup. This gap undermines completeness for an agent trying to use the tool correctly. Additionally, with no annotations or output schema, the description should clarify return behavior and any limitations, which it does not.

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

Parameters2/5

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

While the schema has 100% coverage for the three parameters (amount, from, to), the description introduces a significant mismatch by claiming support for 'historical rate lookup for any past date' without including a date parameter in the schema. This could mislead an agent into attempting to pass a non-existent date parameter. The description adds no value beyond the schema for the actual parameters and actively creates confusion, so it falls below the baseline.

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 uses a specific verb ('Retrieves') and clearly identifies the resource ('fiat currency exchange rates') and source ('Frankfurter API, sourced from the European Central Bank'). It explicitly distinguishes from siblings by highlighting historical lookup and ECB sourcing, making the tool's unique role unambiguous.

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 when-to-use guidance ('Use currency_rates when a rate from a specific past date is required... or when the ECB source must be documented') and names specific alternatives with their appropriate contexts (currency_convert, currency_convert_lite, currency_fx_lite, currency_convert_open, crypto_fx_rates). This exceeds the typical level of usage direction.

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

financial_calculatorAInspect

Performs precise financial calculations across six calculation types entirely locally with no external API dependency. compound_interest computes the final value and total interest earned on a principal over time at a given annual rate. loan_repayment calculates the monthly payment, total repayable amount, and total interest for a mortgage or loan given the principal, annual rate, and term in months. roi returns return on investment as a percentage and absolute profit or loss, with optional annualised ROI when a holding period is provided. present_value discounts a future cash amount back to its current value using a discount rate. future_value projects a present amount forward at a compounding annual rate. break_even finds the unit volume and revenue at which fixed and variable costs are fully covered by sales. Use this tool when an agent needs to perform any structured financial calculation — loan affordability, investment return, discounted cash flow, or cost analysis. Prefer financial_calculator_lite when only the single headline result is needed rather than a full structured breakdown. Do not use this tool to fetch live market prices or exchange rates — use stock_quote for stock prices, crypto_price for cryptocurrency prices, or currency_convert for FX rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
rateNoAnnual interest or discount rate expressed as a percentage. Example: 5 for 5% per year. Used for compound_interest, loan_repayment, present_value, and future_value.
periodsNoNumber of time periods. For compound_interest and future_value: years. For loan_repayment: months. For roi: years used for annualised ROI.
principalNoStarting amount or loan amount in your chosen currency. Used for compound_interest, loan_repayment, and future_value calculations.
final_valueNoEnding value of an investment or asset. Used for roi and present_value calculations.
fixed_costsNoTotal fixed costs of the business or project that do not vary with output volume. Used for break_even calculations.
discount_rateNoAnnual discount rate as a percentage for present value calculations. Represents the required rate of return or cost of capital.
future_amountNoThe target future cash amount to discount back to present value. Used for present_value calculations.
initial_valueNoStarting value of an investment or asset. Used for roi calculations.
price_per_unitNoThe selling price per unit of product or service. Used for break_even calculations.
calculator_typeYesThe type of financial calculation to perform. Must be one of: compound_interest, loan_repayment, roi, present_value, future_value, break_even.
variable_cost_per_unitNoThe variable cost incurred for each unit produced or sold. Used for break_even calculations.
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that calculations run 'entirely locally with no external API dependency' and details what each calculation type returns (e.g., compound_interest computes final value and total interest; loan_repayment calculates monthly payment, total repayable amount, and total interest). It lacks explicit return format or error behavior, but the output descriptions are substantive. Not contradicting any annotations.

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

Conciseness5/5

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

The description is comprehensive yet efficiently structured: one overview sentence, six detailed type sentences, and explicit usage guidance. No fluff or redundant statements. The length is justified by the tool's six calculation types. Everything earns its place.

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 (six calculation types, 11 parameters, no output schema, no annotations), the description is remarkably complete. It explains each type's computation and key outputs, provides usage context, and distinguishes from siblings. The only missing element is an explicit output structure, but the description already tells the agent what to expect for each calculation.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter already well-described (units, examples, which calculations use it). The description adds no new parameter-level meaning beyond the schema; it simply recaps the parameter-to-calculation mapping. Baseline 3 is appropriate since the schema does the heavy lifting.

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 clearly states the tool performs precise financial calculations across six defined types, listing each type and its specific outputs. It distinguishes from siblings by naming alternatives like financial_calculator_lite and market-data tools. The verb 'performs' and resource 'financial calculations' are specific and unambiguous.

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?

Explicit guidance is provided: 'Use this tool when an agent needs to perform any structured financial calculation', with specific examples. It also states when to prefer financial_calculator_lite and explicitly says not to use this tool for live prices, directing to stock_quote, crypto_price, and currency_convert. This fully covers when/when-not and alternatives.

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

financial_calculator_liteAInspect

Performs common financial calculations locally with no external API dependency. Supports compound interest, loan repayment, return on investment (ROI), present value, future value, and break-even analysis. Returns a single numeric result for the requested calculation type. This is a lightweight variant of financial_calculator — it returns only the result number rather than a full structured breakdown (monthly payment, total interest, annualised ROI, etc.). Use financial_calculator_lite when only the headline figure is needed. Prefer financial_calculator when the agent needs a full breakdown, multiple sub-values, or labelled output fields for compound interest earned, total repayable, or annualised returns. Neither this tool nor financial_calculator fetches live market data — for live prices use stock_quote, crypto_price, or currency_convert.

ParametersJSON Schema
NameRequiredDescriptionDefault
rateNoAnnual interest or discount rate as a decimal (e.g. 0.05 for 5%). Required for compound_interest, loan_repayment, present_value, and future_value.
periodsNoNumber of compounding periods (years) or loan term in months depending on calculator_type. Required for compound_interest, loan_repayment, future_value, and present_value.
principalNoStarting amount or loan principal in currency units. Required for compound_interest, loan_repayment, present_value, and future_value.
final_valueNoFinal investment value. Required for roi calculations.
initial_valueNoInitial investment amount. Required for roi calculations.
calculator_typeYesType of calculation to perform. Accepted values: 'compound_interest', 'loan_repayment', 'roi', 'present_value', 'future_value', 'break_even'.
Behavior4/5

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

With no annotations provided, the description carries the burden. It discloses that calculations happen locally with no external API dependency, that it returns only a single numeric result, and that it does not fetch live market data. This provides useful behavioral context beyond the schema, though it omits edge-case behaviors or detailed return formatting.

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

Conciseness5/5

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

The description is about six sentences, each adding distinct value: what it does, supported types, return format, differentiation from sibling, usage guidance, and market data caveat. No filler or repetition; it is dense yet concise.

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?

Given the tool has 6 parameters, multiple calculator types, no output schema, and no annotations, the description covers purpose, usage, alternatives, and key behavioral constraints. It could mention how to handle invalid calculator types or result precision, but the schema fills parameter needs, making it fairly complete for decision-making.

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

Parameters3/5

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

The schema already describes all 6 parameters with 100% coverage, including accepted calculator_type values and per-parameter required context. The description adds nothing about parameter syntax or units beyond what the schema provides, so the baseline of 3 is appropriate.

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 clearly states it performs common financial calculations with a specific list of supported types, and explicitly distinguishes itself from financial_calculator as a lighter variant returning only a single numeric result. This makes it unique among siblings and gives a clear verb+resource+scope.

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?

Explicitly states when to use lite vs full calculator: 'Use financial_calculator_lite when only the headline figure is needed. Prefer financial_calculator when the agent needs a full breakdown...' Also directs to stock_quote, crypto_price, or currency_convert for live market data, making alternatives clear.

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

finnhub_stock_quoteAInspect

Retrieves real-time stock price quotes and company information for any publicly traded company via the Finnhub API. Returns current price, intraday high and low, percentage change from previous close, previous close price, sector, and exchange. Use stock_quote when an agent needs to look up a stock price, check intraday market performance, retrieve company sector data, monitor equity portfolio values, or answer any question about the current trading price of a publicly listed company. Prefer stock_quote over stock_price_lite when the agent needs price change, intraday range, company name, or sector — stock_price_lite returns only the raw current price with no additional context. Do not use for cryptocurrency prices — use crypto_price (CoinGecko, 10,000+ assets) or crypto_price_lite for a lightweight variant. Do not use for fiat currency conversion — use currency_convert or currency_fx_lite. Requires a Finnhub API key to be configured on the server.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol in uppercase. Examples: AAPL (Apple), MSFT (Microsoft), TSLA (Tesla), GOOGL (Alphabet), AMZN (Amazon), NVDA (Nvidia). Must be a valid exchange-listed ticker symbol.
include_company_infoNoWhether to include company name, sector, and exchange details alongside the price quote. Defaults to true. Set to false for a faster, price-only response.
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses the required prerequisite ('Requires a Finnhub API key to be configured on the server'), the real-time nature, and the specific return fields. It doesn't mention rate limits or error handling, but for a read-only quote tool, this is reasonably transparent. The description adds context about what data is returned (current price, intraday high/low, etc.) beyond what the schema covers.

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 structured with a clear lead sentence, then return fields, usage scenarios, exclusions, and prerequisites. It's somewhat verbose (4-5 sentences) but every sentence adds useful information. It front-loads the primary purpose and then provides actionable guidance. No unnecessary fluff.

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?

For a tool with 2 parameters and no output schema, the description is remarkably complete. It covers purpose, return data, use cases, alternative tools, exclusions, and a prerequisite. It gives the agent enough context to decide when to use this tool and what to expect from it.

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 100%, so baseline is 3. The description adds value by explaining the 'symbol' parameter with concrete examples (AAPL, MSFT, etc.) and clarifies the 'include_company_info' parameter's default behavior ('Defaults to true') and when to set it false. It also contrasts with stock_price_lite to help understand parameter usage.

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 clearly states the tool's function: 'Retrieves real-time stock price quotes and company information for any publicly traded company via the Finnhub API.' It specifies the verb (retrieves), resource (stock quotes and company information), and scope (any publicly traded company). It also distinguishes itself from sibling tools like stock_price_lite and crypto_price by outlining its unique value.

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 usage guidance: 'Use stock_quote when an agent needs to look up a stock price...' and 'Prefer stock_quote over stock_price_lite when the agent needs price change...' It also gives negative guidance: 'Do not use for cryptocurrency prices — use crypto_price...' and 'Do not use for fiat currency conversion — use currency_convert...' This clearly delineates when to use this tool versus alternatives.

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

open_banking_transactionsAInspect

Retrieves bank account balances and transaction history via PSD2 Open Banking (TrueLayer), covering 300+ UK and European banks. Returns the account balance, ISO 4217 currency code, and up to 100 recent transactions — each with date, merchant description, amount, and category. Supports optional date filtering to narrow the transaction window. Use this tool when an agent needs to inspect a user's spending history, verify a payment has cleared, assess account affordability, categorise recent bank transactions, or produce a financial summary from live bank data. Do not use for payment initiation — this tool is strictly read-only. Do not use for Stripe-specific payment records, subscription billing, or failed charge investigation — use stripe_payments instead. Requires a TrueLayer access token; returns structured mock data if no token is configured.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of transactions to return. Integer between 1 and 100. Defaults to 10.
from_dateNoOptional start date for filtering transactions. ISO 8601 date format: YYYY-MM-DD. Example: 2026-01-01 to retrieve transactions from 1 January 2026 onwards.
account_idNoTrueLayer account ID to retrieve transactions for. Obtain from a prior account-listing call. Omit to return data for the first connected account.
Behavior5/5

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

With no annotations, the description fully discloses that the tool is read-only, requires a TrueLayer access token, and returns mock data if no token is configured. It also details the return content, offering strong behavioral transparency.

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

Conciseness5/5

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

The description is compact yet informative, with each sentence serving a purpose: action, output, use cases, exclusions, and access token requirement. No wasted words.

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?

The description covers all necessary context: authentication via token, the read-only nature, the bank coverage, the exact output fields, transaction limits, and mock data fallback. Since no output schema exists, the description fully compensates by explaining return values.

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

Parameters3/5

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

Schema coverage is 100%, so schema already documents all parameters fully. The description adds minimal extra meaning (e.g., 'up to 100 transactions' aligns with the limit parameter), but does not meaningfully go beyond the 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?

The description clearly states it retrieves bank balances and transactions via PSD2 Open Banking, covering 300+ banks. It explicitly differentiates from siblings like stripe_payments, making its purpose unambiguous.

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?

Provides explicit use cases ('Use this tool when...'), negative guidance ('Do not use for payment initiation', 'Do not use for Stripe-specific records'), and names the alternative tool (stripe_payments). This is exemplary usage guidance.

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

platform_tool_finderAInspect

Discovers the most relevant tools available on this MCP server for a given task using local semantic search (MiniLM-L6-v2 embeddings). Accepts a plain-English description of what needs to be accomplished and returns the best matching tools ranked by relevance, along with their input schemas, pricing tier, and exact call instructions. Use this tool first when you are connected to this server but do not know which specific tool to call — describe your goal and let platform_tool_finder identify the right capability. Do not use this tool if you already know the tool name — call that tool directly instead. Returns up to 10 results ranked by semantic similarity score.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_kNoHow many ranked results to return. Integer between 1 and 10. Defaults to 3. Use a higher value when the best tool is ambiguous.
intentYesPlain-English description of what you need to accomplish. Be specific about the goal, not the tool name. Example: 'I need to convert 500 dollars to euros at the current exchange rate' or 'get the latest technology news headlines'.
model_hintNoOptional: the name of the calling LLM model. Examples: claude, gpt-4, gemini. Used to apply model-specific manifest variant ranking when available. Omit if unknown.
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the search technique (MiniLM-L6-v2 embeddings), input format, output contents (ranked tools, schemas, pricing tier, call instructions), and result limit. It does not mention edge cases like no matches, but overall it is transparent about behavior.

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

Conciseness5/5

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

The description is appropriately sized at four sentences, front-loaded with the core purpose, then usage guidance, alternatives, and output details. Every sentence adds value with no redundancy.

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?

Despite no output schema, the description explains exactly what is returned (best matching tools, ranked, with schemas, pricing tier, and call instructions) and states result limit. It covers intent, usage, and output, making it complete for a tool-finder with 3 straightforward parameters.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no parameter-level detail beyond the schema. The schema already explains intent, top_k, and model_hint with examples and defaults, so the description does not need to compensate.

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 uses a specific verb ('Discovers') with a clear resource ('most relevant tools available on this MCP server') and mechanism ('local semantic search'). It explicitly distinguishes itself from the domain-specific sibling tools by positioning itself as a meta-tool for discovering those tools.

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?

Description provides explicit when-to-use guidance ('Use this tool first when you are connected to this server but do not know which specific tool to call') and when-not-to-use ('Do not use this tool if you already know the tool name — call that tool directly instead'). This fully clarifies alternatives.

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

stock_price_liteAInspect

Retrieves the current trading price for a publicly listed stock by ticker symbol. Returns the current price as a single numeric value. This is a lightweight variant of stock_quote — it omits intraday high/low, percentage change, previous close, company name, sector, and exchange metadata. Use stock_price_lite when only the raw current price is needed for a quick lookup or calculation. Prefer stock_quote when the agent also needs price change, intraday range, company information, or a fully structured response suitable for portfolio reporting. Does not support cryptocurrency prices — use crypto_price for full market data (price, volume, market cap) or crypto_price_lite for a lightweight spot price lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol in uppercase. Examples: AAPL (Apple), MSFT (Microsoft), TSLA (Tesla), GOOGL (Alphabet), AMZN (Amazon), NVDA (Nvidia). Must be a valid exchange-listed ticker.
Behavior4/5

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

Since no annotations are present, the description carries the burden and does well by stating it returns a single numeric value, omits certain metadata, and does not support crypto. It could mention error behavior or data delays, but for a simple lookup, this is sufficient disclosure.

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

Conciseness5/5

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

The description is well-structured with three sentences: the core function, the comparison to stock_quote, and the crypto exclusion. Every sentence provides value without redundant fluff, making it concise and front-loaded.

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 simple nature (one required parameter, no output schema), the description is complete: it defines the return type, clarifies scope, and points to alternatives. No critical information is missing for an agent to select and invoke it correctly.

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

Parameters3/5

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

The input schema already fully documents the symbol parameter with examples and validation (100% coverage), so the description adds little beyond restating 'ticker symbol'. Baseline 3 is appropriate since the schema does the heavy lifting and the description does not conflict or add meaningful new detail.

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 clearly states the tool retrieves the current trading price for a stock by ticker, and explicitly differentiates itself from stock_quote as a lightweight variant. It specifies the return value as a single numeric price, leaving no ambiguity about its function.

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?

Provides explicit usage guidance: use when only raw price is needed, prefer stock_quote for additional fields, and use crypto_price/crypto_price_lite for cryptocurrencies. This directly addresses when and when not to use the tool versus alternatives.

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

stripe_payment_recordsAInspect

Retrieves payment and charge records from a Stripe merchant account. Returns a list of payment records filtered by the requested query type. Use stripe_payment_records when an agent needs to review recent charges, refunds, disputes, or subscription payments from a Stripe account. This is a lightweight variant of stripe_payments — it returns a simple records array rather than the full structured Stripe response with customer details, metadata, and pagination cursors. Prefer stripe_payments when the agent needs complete Stripe charge objects including customer IDs, payment method details, metadata fields, and processing status breakdowns. Prefer open_banking_transactions or bank_accounts when the payment data source is a bank account rather than a Stripe merchant account. Requires a Stripe API key to be configured on the server.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return. Defaults to 10. Maximum 50.
query_typeYesType of payment records to retrieve. Accepted values: 'recent_payments' (latest charges), 'refunds' (refund records), 'disputes' (disputed charges), 'subscriptions' (recurring subscription payments).
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses a prerequisite ('Requires a Stripe API key to be configured on the server') and clarifies the nature of the response ('returns a simple records array rather than the full structured Stripe response'). The verb 'retrieves' implies a safe read operation, and the lightweight variant distinction adds useful context beyond a generic retrieval description.

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

Conciseness5/5

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

The description is appropriately sized and well-structured: it opens with the core purpose, then provides usage guidance, sibling comparisons, and a prerequisite. Every sentence adds value, and the layout makes it easy to scan.

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 has only two parameters, no annotations, and no output schema, the description covers all essential context: what it does, when to use it, how it differs from alternatives, data source, and API key requirement. It fully specifies the query types and introduces the lightweight nature of the response, making it complete for a simple list-retrieval tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. Both 'limit' and 'query_type' are already fully described in the schema, including accepted values for query_type. The description reinforces the query_type meaning by mentioning review of charges, refunds, disputes, and subscriptions, but this is contextual rather than adding new parameter-specific semantics.

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 clearly states the tool retrieves payment and charge records from a Stripe merchant account, using the specific verb 'Retrieves' and identifying the resource. It also distinguishes itself from the sibling tool stripe_payments by noting this is a lightweight variant that returns a simple records array, making its purpose unambiguous.

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?

Explicit usage guidance is provided: 'Use stripe_payment_records when an agent needs to review recent charges, refunds, disputes, or subscription payments from a Stripe account.' It also names alternatives: 'Prefer stripe_payments when the agent needs complete Stripe charge objects...' and 'Prefer open_banking_transactions or bank_accounts when the payment data source is a bank account.' This gives clear when-to-use and when-not-to-use instructions.

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

stripe_paymentsAInspect

Retrieves live payment data from a Stripe account via the Stripe API. Supports four query types: recent_payments returns the latest payment intents with status, amount, and currency; failed_charges returns declined or failed charges with failure reasons and error codes; customers returns customer records with name, email, and payment method details; subscriptions returns active and cancelled subscription plans with billing interval and status. Use stripe_payments when an agent needs to investigate payment failures, audit recent transaction activity, retrieve customer billing records, or check subscription status within a Stripe account — it returns full Stripe charge objects with customer IDs, metadata, and processing details. Prefer stripe_payment_records for a lighter-weight Stripe query returning only a simple records array without full Stripe object structure. Do not use for bank account transactions or PSD2 Open Banking data — use open_banking_transactions instead. Do not use for generic bank account history — use bank_accounts instead. Requires a Stripe secret key to be configured on the server.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of records to return. Integer between 1 and 25. Defaults to 10.
query_typeYesThe type of Stripe data to retrieve. Must be one of: recent_payments (latest payment intents), failed_charges (declined or failed charges with failure reasons), customers (customer records with contact and payment method info), subscriptions (billing subscriptions with status and plan details).
Behavior4/5

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

No annotations are provided, so the description must carry the transparency burden. It does disclose that the operation retrieves/returns data, describes the output structure (full Stripe charge objects with customer IDs, metadata, processing details), and notes the requirement for a Stripe secret key. However, it does not explicitly state that it is read-only or describe error/rate-limit behavior, so some behavioral disclosure is implicit rather than fully explicit.

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

Conciseness5/5

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

The description is front-loaded with the main purpose and each sentence earns its place. It covers the four query types, usage context, exclusions, and the authentication requirement. While longer than two sentences, the added length is justified by the tool's multi-mode complexity and the need to clearly warn against incorrect usage.

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 has only two parameters and no output schema or annotations, the description provides thorough contextual coverage: it explains all query modes, the shape of returned data, applicable use cases, constraints (bank transactions, generic bank history), and the server-side key requirement. An agent would have sufficient information to select and invoke the tool correctly.

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?

The schema already covers both parameters (query_type and limit) with descriptions, and schema coverage is 100%, so the baseline is 3. The description adds value by elaborating what each query_type returns (e.g., 'recent_payments returns the latest payment intents with status, amount, and currency'), which goes beyond the schema's simple enum listing.

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 clearly states the tool 'retrieves live payment data from a Stripe account via the Stripe API' and explicitly lists four query types. It also distinguishes the tool from the sibling 'stripe_payment_records' by noting that this one returns full Stripe objects versus a lighter-weight array.

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 gives explicit when-to-use guidance: 'use stripe_payments when an agent needs to investigate payment failures, audit recent transaction activity, retrieve customer billing records, or check subscription status.' It also provides clear when-not-to-use guidance and names alternative tools: 'Do not use for bank account transactions or PSD2 Open Banking data — use open_banking_transactions instead' and 'Do not use for generic bank account history — use bank_accounts instead.'

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

timezone_convertAInspect

Converts time between timezones. Useful for time conversion tasks. Use when you need to convert 3:45 PM EST to Pacific Time for a meeting schedule; or find what time it will be in Tokyo when it's 9 AM in New York; or translate an event time from London timezone to Sydney timezone. Also use to find the equivalent time in Dubai for a 2 PM Central European Time appointment; or find the local time in San Francisco when it's midnight in Berlin. Accepts time, from_tz, to_tz, date. Returns the converted local time in the target timezone.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoCalendar date string in standard formats like 'YYYY-MM-DD', 'MM/DD/YYYY', or 'DD.MM.YYYY', representing the specific day for the timezone conversion calculation.
timeYesA string representing the time to convert, formatted in 24-hour or 12-hour notation with optional AM/PM indicator, such as '14:30' or '2:45 PM'.
to_tzYesTarget timezone identifier where the time will be converted, supporting IANA standard timezone names like 'Europe/London' or abbreviations such as 'GMT', indicating the destination geographical region.
from_tzYesTimezone identifier for the source time, accepting IANA standard names like 'America/New_York' or common abbreviations such as 'EST', specifying the original time's geographical context.
Behavior3/5

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

No annotations are provided, so the description carries the full responsibility for behavioral disclosure. It states the tool accepts time, from_tz, to_tz, date and returns the converted local time, but does not discuss edge cases like DST transitions, invalid timezone names, or error behavior. This is adequate for a simple conversion tool but leaves some gaps.

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

Conciseness3/5

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

The description is overly long, with five similar examples of conversion scenarios that could be condensed to one or two. The initial statement and parameter/return summary are useful, but the repeated examples inflate the length without adding significant value.

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?

The tool is simple, the schema fully documents parameters, and the description clearly states the return value. No output schema exists, so this is unnecessary. Context is sufficient for a user to understand when and how to use the tool, though it could mention handling of timezone edge cases.

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

Parameters3/5

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

The input schema already provides detailed descriptions for all four parameters (100% coverage), and the description merely lists the parameter names without adding new semantic information. Therefore the description adds no value beyond the schema, meriting the baseline score.

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 opens with a clear verb+resource ('Converts time between timezones') and provides concrete examples of conversion scenarios. It is immediately distinguishable from sibling tools, which are all financial/financial data tools.

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 explicitly states 'Use when you need to convert...' followed by a list of common scenarios (EST to Pacific, Tokyo from NY, etc.). While no alternatives are mentioned, there are no competing timezone tools among siblings, so this is sufficient guidance.

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

web_news_headlinesAInspect

Retrieves the latest real-time news headlines and article summaries from BBC News and The Guardian across nine topic categories. Returns structured articles with headline, description, source name, article URL, and publication date — sorted most recent first. No API key required. Use this tool when an agent needs current news about a specific topic, wants to summarise today's headlines, needs to research recent events, monitor a subject area for new developments, or build a news briefing. Do not use this tool to read the full content of a specific article — use web_url_reader instead, passing the article URL returned by this tool. Do not use when news from sources outside BBC News and The Guardian is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of articles to return. Integer between 1 and 20. Defaults to 10. Use a lower number for a quick briefing and a higher number for comprehensive coverage.
topicNoNews topic category to retrieve headlines for. Accepted values: 'general' (top stories across all categories), 'technology' (tech industry and digital news), 'business' (markets, economy, and corporate news), 'science' (research, environment, and discoveries), 'health' (medical and public health news), 'politics' (government and political news), 'sport' (sports and athletics), 'ai' (artificial intelligence and machine learning news), 'world' (international and global news). Defaults to 'general' if omitted or unrecognised.
keywordNoOptional search keyword to filter headlines. Only articles whose title or description contains this keyword will be returned. Case-insensitive. Examples: 'OpenAI', 'interest rates', 'climate change'. Omit to return all headlines for the chosen topic.
Behavior4/5

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

With no annotations provided, the description carries the full transparency burden. It discloses key behavioral traits: real-time data, source restriction, sorted output, and no API key requirement. It stops short of covering error/rate-limit details but adds valuable context beyond the schema.

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

Conciseness5/5

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

The description is concise yet comprehensive, opening with the core function, then detailing usage guidance and exclusions. Every sentence contributes to the description without redundancy, achieving strong front-loading.

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?

Even without an output schema, the description explains return fields, sorting order, and source constraints, complementing the rich input schema. It provides sufficient context for an agent to select and invoke the tool, though it omits minor details like empty-result behavior.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter (limit, topic, keyword) already thoroughly documented. The description adds no additional parameter-specific semantics beyond what the schema provides, so the baseline score of 3 applies.

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 clearly states the tool retrieves real-time news headlines and article summaries from BBC News and The Guardian, specifying the verb 'retrieves' and the resource (headlines and summaries). It also lists output fields and sources, distinguishing it from siblings like web_url_reader.

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?

Explicitly provides when-to-use scenarios (summarize headlines, research events, monitor topics) and when-not-to-use, directing users to web_url_reader for full article content and noting the source limitation to BBC and Guardian.

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

web_url_readerAInspect

Fetches any public web page and returns clean, readable plain text stripped of HTML, navigation, scripts, advertisements, and boilerplate. Returns the page title, meta description, word count, and main body text ready for analysis or summarisation. Use this tool when an agent needs to read the content of a specific web page or article URL — for example to summarise an article, extract facts from a page, verify a claim by reading the source, or convert a web page into plain text to pass to another tool. Pass article URLs returned by web_news_headlines to this tool to read full article content. Do not use this tool to discover current news headlines — use web_news_headlines instead. Does not execute JavaScript — best suited for standard HTML content pages. Will not work with paywalled, login-protected, or JavaScript-rendered single-page applications.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe full public URL to fetch and read. Must include the scheme. Examples: 'https://en.wikipedia.org/wiki/Artificial_intelligence', 'https://www.bbc.com/news/technology-12345678'. Only HTTP and HTTPS URLs are supported.
max_charsNoMaximum number of characters to return from the page body text. Defaults to 8000. Set higher (up to 50000) for long articles or documents. Set lower for quick headline extraction. The response indicates whether content was truncated.
include_linksNoWhether to include a list of hyperlinks found on the page alongside the text content. Defaults to false. Set to true when the agent needs to discover further URLs to follow, such as when crawling a site or finding references.
Behavior5/5

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

No annotations are provided, so the description carries full burden of behavioral disclosure. It discloses that the tool does not execute JavaScript, will not work with paywalled, login-protected, or JavaScript-rendered single-page applications, and describes the return format (title, meta description, word count, body text). This is comprehensive for a read-only public web fetcher.

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 moderately long but every sentence contributes useful information—purpose, output, usage examples, exclusions, and limitations. It is front-loaded with the core function and progressively adds context, maintaining focus without clutter. Slightly verbose but efficient.

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 simple structure (3 parameters, no output schema), the description adequately explains the input, output, and limitations. It provides examples of appropriate URLs, mentions truncation behavior, and clarifies the non-JavaScript constraint, making it self-sufficient for an agent to use correctly. No major 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?

The input schema already covers 100% of parameters with descriptions, so the description does not need to re-explain them. However, it adds valuable context beyond the schema: max_chars defaults to 8000 with a range up to 50000 and indicates whether content was truncated, and include_links defaults to false with a use case for crawling. This complements the schema effectively, though it doesn't fully replace the need for the schema's own descriptions.

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 clearly states it fetches any public web page and returns clean, readable plain text stripped of HTML, navigation, scripts, advertisements, and boilerplate. It specifies the output (page title, meta description, word count, main body text) and explicitly distinguishes itself from web_news_headlines, making its purpose and scope unambiguous.

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?

Explicitly states when to use the tool (summarizing an article, extracting facts, verifying claims, converting a web page to plain text) and when not to (discovering current news headlines, which is web_news_headlines's job). It also gives a concrete example of passing article URLs from web_news_headlines, and notes limitations with JavaScript-rendered or paywalled pages, providing clear guidance for an agent.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    Enables basic math, investment analysis (ROI, average cost, portfolio value), and loan calculations (monthly payment, total cost, early payment savings) through natural language.
  • A
    license
    -
    quality
    C
    maintenance
    Provides mortgage calculation tools, including monthly payment, amortization schedules, lump sum payments, and extra monthly payments for real estate agents and AI assistants.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    63 deterministic quant computation tools for autonomous financial agents. Options pricing, derivatives, risk metrics, portfolio optimization, statistics, crypto/DeFi, macro/FX, time value of money. 1,000 free calls/day, no signup required.
    74
    11
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Provides financial data including stock prices, cryptocurrency rates, forex rates, and compound interest calculations, as well as financial news retrieval through various APIs.
    1

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources