Skip to main content
Glama
gaokai258

Fee Optimizer MCP

by gaokai258

get_funding_rates

Read-only

Fetch perpetual futures funding rates per exchange for a pair like BTC/USDT, with bundled averages or live data to compare holding costs.

Instructions

当用户询问资金费率、资金费、funding rate、当前持仓的资金成本、各交易所永续合约资金费对比时使用。Use when the user asks about perpetual futures funding rates across exchanges, or the current cost of holding a long/short. Returns per-exchange funding rate + settlement interval for a perpetual pair (default BTC/USDT). fundingMode=bundled (default) returns the offline long-run averages instantly; fundingMode=live fetches the real-time current rate from each venue independently via ccxt — venues that fail (timeout, geo-block, missing pair) fall back to the bundled average and are listed in failures, and every row is tagged with source/live timestamp.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryNoISO 3166-1 alpha-2 国家代码;传入后按合规可用性过滤交易所
exchangesNo只查询指定交易所(如 ['binance','okx']);默认返回全部 9 家(合约比较不含 Coinbase)
fundingModeNobundled=内置长期均值(默认,0.01%/8h,离线秒回);live=实时拉取当前资金费率(逐所容错,失败回退内置值)
fundingPairNo永续合约对,默认 BTC/USDT;也支持 ETH/USDT、SOL-USDT、BTCUSD 等写法

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.47.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds substantial behavior beyond them: per-venue independent fetching via ccxt, graceful fallback to the bundled average on timeout/geo-block/missing pair, a 'failures' list, and per-row source/live timestamp tags. This is exactly the operational detail an agent needs to interpret partial results. The only mild tension is that live mode reaches out to external venues while openWorldHint=false, but the stated default is offline and the description discloses the network behavior explicitly, so it is not a contradiction.

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 text is front-loaded with the trigger condition and then the return/mode semantics, and every sentence carries information. The bilingual Chinese/English duplication roughly doubles the length, which is functional for language matching but is not strictly earning its place in a single-locale reading.

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?

There is no output schema, so the description carries the return-shape burden and does so: per-exchange rate plus settlement interval, default pair, source/live timestamp tagging, and a failures list for venues that could not be reached. Combined with the annotations, an agent has everything needed to call and interpret the tool.

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 and the schema already documents country, exchanges, fundingMode and fundingPair. The description goes further by explaining that bundled is instant/offline versus live being real-time with fallback, and that the default pair is BTC/USDT — semantics that make the enum choice actionable rather than merely defined.

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 states a specific verb+resource: it returns per-exchange funding rates plus settlement interval for a perpetual pair, with BTC/USDT as the default. It also frames the user intent ('perpetual futures funding rates across exchanges, or the current cost of holding a long/short'), which lets an agent distinguish it from the fee/cost siblings such as compare_exchange_fees or get_execution_cost.

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

Usage Guidelines4/5

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

It gives explicit trigger conditions ('Use when the user asks about perpetual futures funding rates...'), which is strong when-to-use guidance. It also clarifies the bundled vs live mode tradeoff so the agent can pick correctly. It never names an alternative sibling tool or a when-not-to-use case, so it stops short of a 5.

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