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.
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.
Tool Definition Quality
Average 4.5/5 across 20 of 20 tools scored.
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.
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.
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.
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 toolsbank_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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return. Defaults to 20. Maximum 100. | |
| account_id | No | Identifier of the specific bank account to query. When omitted, transactions across all linked accounts are returned. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It discloses the credential requirement and default behavior (returns all accounts when no ID). However, it does not mention read-only nature, rate limits, or potential destruction, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences, each adding value. No redundant information. Front-loaded with purpose, then usage, then alternative tools, then requirements. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description must explain return values. It mentions 'list of transactions' and 'bank account details' but lacks specifics on fields like transaction IDs, dates, amounts. Adequate for a simple list tool but could be more detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters (limit, account_id) with clear defaults and behavior. The tool description adds context about omitting account_id returning all accounts, reinforcing semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves bank account details and transaction history. It distinguishes from siblings by naming open_banking_transactions and stripe_payments as alternatives, specifying when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use bank_accounts (to inspect balances, review spending, etc.) and when to prefer alternatives (open_banking_transactions for PSD2 Open Banking, stripe_payments for Stripe data). Provides clear context and exclusions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target currency code. Accepts ISO 4217 fiat codes (USD, EUR, GBP) or cryptocurrency ticker symbols (BTC, ETH, SOL, XRP). Case-insensitive. | |
| from | Yes | Source currency code. Accepts ISO 4217 fiat codes (USD, EUR, GBP) or cryptocurrency ticker symbols (BTC, ETH, SOL, XRP). Case-insensitive. | |
| amount | Yes | Amount to convert. Must be a positive number. Denominated in the 'from' currency. |
Tool Definition Quality
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 data source (CoinAPI), the requirement for a configured API key, and that fiat-only alternatives do not consume the CoinAPI quota. However, it does not mention error behavior or rate limits, which slightly reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, starting with the core function, then listing supported conversions, followed by usage guidance with clear alternatives, and ending with a requirement note. Every sentence is relevant and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, scope, alternatives, and a prerequisite. It does not explain the return format, but given the lack of an output schema, this is acceptable. Some additional detail on error scenarios would improve completeness, but overall it is reasonably complete for a conversion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 schema descriptions adequately explain the three parameters (amount, from, to) with allowed values and constraints. The tool description adds no additional parameter-level detail beyond what the schema provides, so a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts an amount between any cryptocurrency and fiat currency pair, including cross-crypto. It specifies the data source (CoinAPI) and distinguishes from sibling tools like crypto_price and currency_convert, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (conversion involving at least one cryptocurrency with a specific amount) and when to prefer alternatives (crypto_price for spot price without amount, currency_convert for fiat-only). This provides clear guidance for selection.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Cryptocurrency name or ticker symbol. Accepts common symbols (BTC, ETH, SOL, XRP, ADA, DOGE, MATIC, LINK, AVAX) or full names (bitcoin, ethereum, solana). Case-insensitive. | |
| currency | No | Target 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_data | No | Whether 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. |
Tool Definition Quality
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 tool's read-only nature (retrieves data), real-time constraint, and the specific return fields. While rate limits and permissions are not mentioned, the description is sufficient for a non-destructive data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two well-structured paragraphs. The first paragraph covers purpose and output, the second provides usage guidelines and exclusions. Every sentence adds value without redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description compensates by clearly listing the returned data fields. With only 3 parameters and 1 required, the description covers input, output, use cases, and exclusions exhaustively, leaving no important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds value beyond the schema by listing example coin symbols, clarifying case-insensitivity, default currency behavior, and the practical difference between include_market_data options. This meets the baseline of 3 and adds additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves real-time price data for cryptocurrencies from CoinGecko, specifying the returned fields (price, 24h change, market cap, volume). It explicitly distinguishes from sibling tools like crypto_price_lite, crypto_fx_rates, and currency_convert, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives: full market picture vs lighter payload with crypto_price_lite, conversion use cases with crypto_fx_rates, and exclusions for fiat-to-fiat and historical data. This covers when-not-to-use and alternatives thoroughly.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Cryptocurrency ticker symbol (BTC, ETH, SOL) or full CoinGecko name (bitcoin, ethereum, solana). Case-insensitive. | |
| currency | No | ISO 4217 fiat currency code for the returned price. Defaults to 'usd'. Examples: usd, eur, gbp, jpy. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses source (CoinGecko public API), return fields (price, change, timestamp), and lightweight nature. No annotations provided, so description carries full burden; it is clear but could explicitly state read-only nature and absence of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence adds value: purpose, sibling differentiation, usage guidance, supported assets, input details. Well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers purpose, output fields, source, and sibling context comprehensively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good desciptions. Description adds value by listing example coins (BTC, ETH, SOL) and fiat currencies (USD, EUR, GBP, JPY), confirming case-insensitivity, and stating default currency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieves' and the resource 'current spot price and 24-hour change' for any cryptocurrency, and distinguishes from the sibling 'crypto_price' by calling itself a lightweight variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises when to use 'crypto_price' (for extended market data) and 'crypto_fx_rates' (for amount conversion), and mentions broad asset support and input flexibility.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | The target currency code in ISO 4217 format. Must be uppercase. Examples: EUR, JPY, CHF, SGD, HKD, SEK. | |
| from | Yes | The source currency code in ISO 4217 format. Must be uppercase. Examples: USD, GBP, EUR, JPY, CHF, AUD, CAD. | |
| amount | Yes | The monetary amount to convert. Must be a positive number. Decimals are supported. Example: 1500.50 to convert one thousand five hundred and fifty cents. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the data source (ECB), output (amount, rate, timestamp), and supported currencies. It does not explicitly state that the operation is non-destructive/read-only, but this is implied. Good, but could mention idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: purpose, return values, supported currencies, usage guidance, and exclusions. Every sentence adds value with no redundancy. Front-loaded with main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description compensates by detailing the return elements (amount, rate, timestamp). It covers the tool's functionality for real-time conversions and differentiates from siblings. Minor omissions: no mention of error handling or edge cases (e.g., unsupported currency codes), but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 additional semantics beyond repeating 'live rates' and '30+ currencies'. Schema already explains ISO 4217 format and positive number for amount. No extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts monetary amounts using live exchange rates from the Frankfurter API/ECB. It specifies the verb 'converts', the resource 'monetary amount', and the data source. It also distinguishes from sibling tools like currency_convert_lite and currency_rates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (real-time conversion with metadata) and when not to (cryptocurrency, historical rates). Provides specific alternatives (crypto_fx_rates, currency_rates) and lite versions for simpler needs. This is comprehensive and directly helps an agent choose correctly.
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.).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ISO 4217 code of the target currency (e.g. 'EUR', 'JPY', 'CHF'). Case-insensitive. | |
| from | Yes | ISO 4217 code of the source currency (e.g. 'USD', 'GBP', 'EUR'). Case-insensitive. | |
| amount | Yes | Monetary amount to convert. Must be a positive number. |
Tool Definition Quality
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 it returns converted amount and exchange rate, has minimal response without timestamp or attribution, and uses Frankfurter API (ECB data). Minor missing details like rate limits or error handling prevent a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but each sentence serves a purpose, especially given the number of sibling tools. It is front-loaded with the main action. Minor redundancy could be trimmed, but overall it is well-structured and not overly verbose for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers return values (converted amount and rate), input constraints, data source, sibling differentiation, and non-support for crypto. Given no output schema, it provides a complete picture for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes parameters. The description adds value by listing major ISO 4217 codes and noting case-insensitivity, but this is supplementary. Baseline of 3 is appropriate as the description does not significantly expand on parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool converts monetary amounts between fiat currencies using live exchange rates from the Frankfurter API. It clearly identifies itself as a lightweight variant of currency_convert, providing a specific verb and resource, and effectively distinguishes from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives: use when only converted value and rate needed with ECB/Frankfurter preference, prefer currency_convert for richer output, currency_fx_lite for non-ECB, currency_rates for historical, and currency_convert_open as fallback. It also states crypto pairs are not supported.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ISO 4217 target currency code (e.g. 'EUR', 'JPY', 'CHF'). Case-insensitive. | |
| from | Yes | ISO 4217 source currency code (e.g. 'USD', 'GBP', 'EUR'). Case-insensitive. | |
| amount | Yes | Monetary amount to convert. Must be a positive number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses the source is an open public feed suitable for informational use, which is sufficient for a read-only conversion tool. Lacks mention of rate limits or error behavior, but annotations are absent so description carries full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with the core function and is mostly concise, though the list of sibling preferences could be slightly condensed. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description clearly states the return values (converted amount and rate). It covers all necessary context for a conversion tool, including the data source and use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for all three parameters. The description adds context about the source but does not significantly enhance parameter meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool converts monetary amounts between fiat currencies using live rates, and distinguishes itself from sibling tools by naming specific alternatives and their use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when to use this tool (when other rate sources are unavailable) and when not to (cryptocurrency pairs), with clear references to sibling tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ISO 4217 target currency code (e.g. 'EUR', 'CHF', 'AUD', 'CAD'). Case-insensitive. | |
| from | Yes | ISO 4217 source currency code (e.g. 'USD', 'GBP', 'EUR', 'JPY'). Case-insensitive. | |
| amount | Yes | Monetary amount to convert. Must be a positive number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes use of live mid-market rates, exclusion of crypto, and acceptance of ISO 4217 codes. With no annotations, the description carries the full burden and adequately covers key behaviors, though it could mention if it's idempotent or requires authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with core purpose, then provides usage guidance and exclusions. Slightly verbose in middle sentences about identical fields, but overall efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains return values (amount + rate). Covers supported currencies, data source, and exclusions. Fully sufficient for a simple conversion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 context about live rates and code types but does not provide additional per-parameter details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts FX amounts using live mid-market rates and returns the converted amount and rate. It distinguishes from siblings by specifying when to use this tool over alternatives like currency_convert, currency_convert_lite, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (only numeric result needed, non-ECB source), when to prefer alternatives (richer metadata, ECB-specific rates, historical, open rates, crypto), and what is not supported (cryptocurrency pairs).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ISO 4217 target currency code (e.g. 'EUR', 'JPY', 'CHF'). Case-insensitive. | |
| from | Yes | ISO 4217 source currency code (e.g. 'USD', 'GBP', 'EUR'). Case-insensitive. | |
| amount | Yes | Monetary amount to convert. Must be a positive number. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses data source (ECB/Frankfurter), support for live and historical, and crypto exclusion. Lacks details on rate limits or performance, but adequate for the tool's simplicity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph, well-structured, front-loaded with main purpose. Could be slightly more concise, but no unnecessary sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description doesn't explain return values. However, for a tool with 3 fully described parameters and clear purpose, the description is fairly complete, mentioning live and historical rates and conversion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add extra meaning to parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves live and historical fiat currency exchange rates from the Frankfurter API/ECB, and distinguishes from siblings by naming specific alternatives and their use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (historical rates, ECB source needed) and when to prefer alternatives (currency_convert, currency_convert_lite, currency_fx_lite, currency_convert_open, crypto_fx_rates).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| rate | No | Annual 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. | |
| periods | No | Number of time periods. For compound_interest and future_value: years. For loan_repayment: months. For roi: years used for annualised ROI. | |
| principal | No | Starting amount or loan amount in your chosen currency. Used for compound_interest, loan_repayment, and future_value calculations. | |
| final_value | No | Ending value of an investment or asset. Used for roi and present_value calculations. | |
| fixed_costs | No | Total fixed costs of the business or project that do not vary with output volume. Used for break_even calculations. | |
| discount_rate | No | Annual discount rate as a percentage for present value calculations. Represents the required rate of return or cost of capital. | |
| future_amount | No | The target future cash amount to discount back to present value. Used for present_value calculations. | |
| initial_value | No | Starting value of an investment or asset. Used for roi calculations. | |
| price_per_unit | No | The selling price per unit of product or service. Used for break_even calculations. | |
| calculator_type | Yes | The type of financial calculation to perform. Must be one of: compound_interest, loan_repayment, roi, present_value, future_value, break_even. | |
| variable_cost_per_unit | No | The variable cost incurred for each unit produced or sold. Used for break_even calculations. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It transparently states 'performs calculations entirely locally with no external API dependency' and details what each calculation returns. However, it does not mention error handling or input validation behavior, and the return format is implicit rather than explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with overall purpose, then detailing each type, and ending with usage guidance. It is fairly long but each sentence adds value. Could be slightly more concise, but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no output schema, and no annotations, the description compensates by explaining what each calculation returns (e.g., 'monthly payment, total repayable amount, and total interest'). However, it does not explicitly define the output JSON structure, which would improve completeness. Still provides adequate context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3). The description adds value by explaining parameter usage per calculation type (e.g., periods are years for compound_interest, months for loan_repayment) and clarifies that rate is an annual percentage. This goes beyond the schema's simple descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs for each calculation type (computes, calculates, returns, discounts, projects, finds) and names the six types. It clearly states it performs structured financial calculations locally, distinguishing it from siblings like financial_calculator_lite which only returns a single headline result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use this tool for any structured financial calculation and when not to use it for live market prices, directing to stock_quote, crypto_price, or currency_convert. It also advises when to prefer financial_calculator_lite.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| rate | No | Annual interest or discount rate as a decimal (e.g. 0.05 for 5%). Required for compound_interest, loan_repayment, present_value, and future_value. | |
| periods | No | Number of compounding periods (years) or loan term in months depending on calculator_type. Required for compound_interest, loan_repayment, future_value, and present_value. | |
| principal | No | Starting amount or loan principal in currency units. Required for compound_interest, loan_repayment, present_value, and future_value. | |
| final_value | No | Final investment value. Required for roi calculations. | |
| initial_value | No | Initial investment amount. Required for roi calculations. | |
| calculator_type | Yes | Type of calculation to perform. Accepted values: 'compound_interest', 'loan_repayment', 'roi', 'present_value', 'future_value', 'break_even'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly states the tool is local (no external API dependency), returns a single numeric result, and lists all supported calculation types. It also explicitly says it does not fetch live market data. No contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is approximately 4 sentences, front-loaded with the core purpose, followed by supported types, result format, and explicit sibling comparison. Every sentence adds value; there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's functionality, supported calculations, and differentiation from siblings. However, it does not specify the exact output format (e.g., a JSON object with a 'result' field, or a plain number). Given that there is no output schema, a brief note on the output structure would improve completeness. Nonetheless, for a lightweight tool, the description is mostly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 6 parameters, so the description adds minimal additional meaning. It does clarify that the result is a single numeric value, which differentiates from the sibling, but the schema already explains parameter requirements and types adequately. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: performing common financial calculations locally. It lists supported calculation types (compound interest, loan repayment, ROI, etc.) and explicitly distinguishes itself from the sibling tool financial_calculator by stating it returns only a single numeric result, not a full breakdown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs. financial_calculator: 'when only the headline figure is needed' vs. 'when the agent needs a full breakdown'. It also warns that neither tool fetches live market data and directs to other tools (stock_quote, crypto_price, currency_convert) for live prices.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock 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_info | No | Whether to include company name, sector, and exchange details alongside the price quote. Defaults to true. Set to false for a faster, price-only response. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that a Finnhub API key must be configured on the server and that include_company_info defaults to true but can be disabled for faster response. No annotations provided, so description carries full burden; it is adequate but could mention rate limits or response size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with purpose first, then usage guidelines, then exclusions. Slightly verbose but every sentence adds value. Could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema provided, but the description explains the return fields (current price, intraday high/low, percent change, sector, exchange). Also covers prerequisites (API key) and parameter behavior, making it complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds value by specifying that symbol must be uppercase and providing examples, and noting the default behavior of include_company_info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves real-time stock price quotes and company information. It specifies the returned data fields and distinguishes from siblings like stock_price_lite and crypto_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes when to use (stock price lookup, intraday performance, portfolio monitoring) and when not to (cryptocurrency, fiat conversion). Provides clear alternatives and preference over stock_price_lite when additional context is needed.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of transactions to return. Integer between 1 and 100. Defaults to 10. | |
| from_date | No | Optional 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_id | No | TrueLayer account ID to retrieve transactions for. Obtain from a prior account-listing call. Omit to return data for the first connected account. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses read-only behavior, returns structured mock data if no token, and lists output fields (balance, currency, up to 100 transactions with date, merchant, amount, category). No annotations exist, so description fully carries the transparency burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: first sentence states purpose and coverage, second details output, third mentions optional filtering, fourth provides usage guidelines, fifth clarifies limitations. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 optional parameters, no output schema, and no annotations, the description covers all necessary context: what is returned, filtering support, authentication requirement, and mock data fallback. Sufficient for agent to understand and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes all three parameters. The description adds value by explaining default limit (10), the purpose of account_id, and that from_date is for filtering. This goes beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves bank account balances and transaction history via PSD2 Open Banking, specifying the verb 'Retrieves' and resource 'bank account balances and transaction history'. It distinguishes from siblings like stripe_payments by explicitly noting not to use for Stripe-specific records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios (inspect spending, verify payment, assess affordability, etc.) and when-not-to-use (payment initiation, Stripe records). Directs to alternative tool (stripe_payments) and mentions prerequisite (TrueLayer access token).
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.
| Name | Required | Description | Default |
|---|---|---|---|
| top_k | No | How many ranked results to return. Integer between 1 and 10. Defaults to 3. Use a higher value when the best tool is ambiguous. | |
| intent | Yes | Plain-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_hint | No | Optional: 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the use of MiniLM-L6-v2 embeddings for local semantic search, explains the output (best matching tools with input schemas, pricing tier, call instructions), and mentions the result limit (up to 10). It does not cover limitations or potential errors, but the behavior is well-described for a discovery tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that efficiently covers key aspects. It is front-loaded with the purpose and usage guidance. While it could be slightly more concise, it is well-structured and every sentence adds value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description reasonably covers what is returned (ranked tools with schemas, pricing, call instructions). It addresses the main context needed for a discovery tool. For a server with many siblings, it orients the agent well. However, it could mention that results are based on semantic similarity and might not be perfect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 beyond the schema by providing usage advice for each parameter: for 'intent' it gives examples and advises specificity; for 'top_k' it explains the range and suggests when to use higher values; for 'model_hint' it clarifies it is optional and explains its purpose. This additional context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool discovers relevant tools on the MCP server for a given task using semantic search. It distinguishes itself from sibling tools by specifying it is for when the agent does not know which tool to call, and it returns ranked results with schemas and instructions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'Use this tool first when you are connected to this server but do not know which specific tool to call' and 'Do not use this tool if you already know the tool name — call that tool directly instead.' This clearly defines when to use and when not to use.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol in uppercase. Examples: AAPL (Apple), MSFT (Microsoft), TSLA (Tesla), GOOGL (Alphabet), AMZN (Amazon), NVDA (Nvidia). Must be a valid exchange-listed ticker. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return value (single numeric), omissions, and crypto exclusion. No annotations provided, but description covers key behavioral aspects. Lacks mention of authentication or rate limits, but acceptable for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences, front-loaded with purpose. No wasted words; every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single parameter, no output schema, and no annotations, the description is complete: explains what it returns, what it omits, and when to use alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the sole parameter. Description adds examples of valid tickers and validation rules (uppercase, exchange-listed), enhancing schema meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves current trading price for a publicly listed stock by ticker. Distinguishes from sibling stock_quote by calling itself a lightweight variant and listing omitted fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (raw price only) and when to prefer stock_quote. Also notes it does not support cryptocurrency, directing to crypto_price or crypto_price_lite.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of records to return. Defaults to 10. Maximum 50. | |
| query_type | Yes | Type of payment records to retrieve. Accepted values: 'recent_payments' (latest charges), 'refunds' (refund records), 'disputes' (disputed charges), 'subscriptions' (recurring subscription payments). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral aspects. It explains filtering by query type, the return format (records array), and its lightweight nature. However, it does not mention read-only/idempotent behavior, error handling, or rate limits. The description is adequate but lacks depth for a tool with zero annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but front-loaded with the core purpose, then usage guidance, then comparisons and requirements. Each sentence serves a purpose, though some redundancy with the schema could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description only vaguely mentions returning a 'records array' without detailing the fields. For a retrieval tool, the agent would benefit from knowing what is in each record. The description covers usage well but lacks completeness in describing return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for both parameters. The description adds context for `query_type` values and `limit` defaults/max, but these are also in the schema. Since schema coverage is high, the description adds minimal extra value, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves payment and charge records from a Stripe account, filtered by query type. It distinguishes itself from the sibling tool `stripe_payments` by noting it returns a simple array rather than full structured data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance on when to use this tool vs `stripe_payments` (lightweight vs full) and when to prefer alternatives like `open_banking_transactions` or `bank_accounts`. Also mentions the requirement of a configured Stripe API key.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of records to return. Integer between 1 and 25. Defaults to 10. | |
| query_type | Yes | The 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). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes what each query returns but does not explicitly state that the tool is read-only, idempotent, or free of side effects. While the retrieval nature is implied, for a tool with no annotations, more explicit safety disclosure would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but well-structured: overall purpose first, then query type details, then usage guidelines, then exclusions. It is front-loaded with key information, though a few sentences could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, no output schema, and no annotations, the description covers purpose, query type outputs, usage context, prerequisites, and exclusions. It does not cover error cases or behavior when the secret key is missing, but overall it is sufficiently complete for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds detail beyond schema: e.g., for recent_payments it specifies 'latest payment intents with status, amount, and currency'. This provides useful context not in the schema's brief descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 Stripe, enumerates four specific query types with details, and explicitly distinguishes from the lighter-weight sibling stripe_payment_records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use scenarios (investigate payment failures, audit transactions, etc.) and when-not-to-use with alternative tools (open_banking_transactions, bank_accounts), plus mentions the prerequisite of a configured Stripe secret key.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Calendar 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. | |
| time | Yes | A 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_tz | Yes | Target 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_tz | Yes | Timezone 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes full responsibility. It openly states what the tool accepts (time, from_tz, to_tz, date) and what it returns ('converted local time'). This transparency is adequate for a straightforward conversion tool, though edge cases are not discussed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the main purpose and then provides multiple examples. While the examples are helpful, they are somewhat repetitive, making the description longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers the tool's behavior: input parameters and return value. No output schema exists, but the description explains the output sufficiently ('converted local time'). For a simple tool, this is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully describes each parameter. The description merely reiterates the parameter names without adding new constraints or format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Converts time between timezones' and provides numerous concrete examples, making the tool's purpose immediately clear. It is distinct from sibling tools like currency_convert or financial_calculator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists when to use the tool via multiple examples (e.g., convert 3:45 PM EST to Pacific Time, find Tokyo time for 9 AM New York). It does not mention when not to use or alternatives, but the context is clear enough for an AI agent.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum 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. | |
| topic | No | News 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. | |
| keyword | No | Optional 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that no API key is required and results are sorted most recent first. However, it lacks details on rate limits or potential delays, but is otherwise transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured and concise, front-loaded with purpose, then details, usage guidance, and exclusions. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains return fields fully. It covers sources, topics, sorting, and optional parameters, making it complete for the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value with examples for keyword and explanations for limit (e.g., lower for quick briefing, higher for comprehensive coverage), going beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 return fields and sorting. It distinguishes itself from sibling tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (e.g., need current news, research recent events) and when not to use (not for full article content, not for non-BBC/Guardian sources). Provides an alternative: web_url_reader for full articles.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The 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_chars | No | Maximum 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_links | No | Whether 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: does not execute JavaScript, works with standard HTML, not for paywalled or JS-rendered pages. Also mentions stripping of navigation and advertisements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single coherent paragraph, contains all necessary information without excessive verbosity. Could be slightly more structured but remains concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, limitations, output details (title, meta, word count, body). No output schema provided, but description explains return values adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds minimal extra meaning beyond schema descriptions (e.g., default max_chars, purpose of include_links). No contradictions or gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches public web pages and returns clean plain text, stripping HTML and boilerplate. It explicitly differentiates from siblings by stating not to use for headlines (use web_news_headlines).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases (summarize article, extract facts, verify claim) and when not to use (discover headlines). Names alternative sibling tool (web_news_headlines).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!