#
tokens: 27515/50000 1/44 files (page 2/3)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 2 of 3. Use http://codebase.md/twelvedata/mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .dockerignore
├── .env.template
├── .gitignore
├── .python-version
├── config
│   └── mcpConfigStdio.json
├── docker-compose.yml
├── Dockerfile
├── example.gif
├── extra
│   ├── commands.txt
│   ├── endpoints_spec_en.csv
│   ├── full_descriptions.json
│   ├── instructions.txt
│   └── openapi_clean.json
├── favicon.ico
├── LICENSE
├── pyproject.toml
├── README.md
├── scripts
│   ├── check_embedings.py
│   ├── generate_docs_embeddings.py
│   ├── generate_endpoints_embeddings.py
│   ├── generate_requests_models.py
│   ├── generate_response_models.py
│   ├── generate_tools.py
│   ├── generate.md
│   ├── patch_vector_in_embeddings.py
│   ├── select_embedding.py
│   ├── split_openapi.py
│   └── split_opnapi_by_groups.py
├── src
│   └── mcp_server_twelve_data
│       ├── __init__.py
│       ├── __main__.py
│       ├── common.py
│       ├── doc_tool_remote.py
│       ├── doc_tool_response.py
│       ├── doc_tool.py
│       ├── key_provider.py
│       ├── prompts.py
│       ├── request_models.py
│       ├── response_models.py
│       ├── server.py
│       ├── tools.py
│       ├── u_tool_remote.py
│       ├── u_tool_response.py
│       └── u_tool.py
├── test
│   ├── __init__.py
│   ├── common.py
│   ├── endpoint_pairs.py
│   ├── test_doc_tool.py
│   ├── test_mcp_main.py
│   ├── test_top_n_filter.py
│   └── test_user_plan.py
└── uv.lock
```

# Files

--------------------------------------------------------------------------------
/src/mcp_server_twelve_data/tools.py:
--------------------------------------------------------------------------------

```python
   1 | # AUTOGENERATED FILE - DO NOT EDIT MANUALLY
   2 | 
   3 | from mcp.server import FastMCP
   4 | from mcp.server.fastmcp import Context
   5 | 
   6 | from .request_models import GetTimeSeriesRequest
   7 | from .request_models import GetPriceRequest
   8 | from .request_models import GetQuoteRequest
   9 | from .request_models import GetTimeSeriesRsiRequest
  10 | from .request_models import GetTimeSeriesMacdRequest
  11 | from .request_models import GetStocksRequest
  12 | from .request_models import GetTimeSeriesBBandsRequest
  13 | from .request_models import GetExchangeRateRequest
  14 | from .request_models import GetTimeSeriesEmaRequest
  15 | from .request_models import GetStatisticsRequest
  16 | from .request_models import GetProfileRequest
  17 | from .request_models import GetMarketStateRequest
  18 | from .request_models import GetSymbolSearchRequest
  19 | from .request_models import GetEodRequest
  20 | from .request_models import GetTimeSeriesSmaRequest
  21 | from .request_models import GetForexPairsRequest
  22 | from .request_models import GetTimeSeriesAtrRequest
  23 | from .request_models import GetDividendsRequest
  24 | from .request_models import GetCryptocurrenciesRequest
  25 | from .request_models import GetEarningsRequest
  26 | from .request_models import GetCurrencyConversionRequest
  27 | from .request_models import GetExchangesRequest
  28 | from .request_models import GetSplitsRequest
  29 | from .request_models import GetEarliestTimestampRequest
  30 | from .request_models import GetEtfRequest
  31 | from .request_models import GetCommoditiesRequest
  32 | from .request_models import GetFundsRequest
  33 | from .request_models import GetIpoCalendarRequest
  34 | from .request_models import GetCryptocurrencyExchangesRequest
  35 | from .request_models import GetTimeSeriesCrossRequest
  36 | from .request_models import GetCrossListingsRequest
  37 | from .request_models import GetTechnicalIndicatorsRequest
  38 | from .request_models import GetApiUsageRequest
  39 | from .request_models import GetLogoRequest
  40 | from .request_models import GetTimeSeriesAdxRequest
  41 | from .request_models import GetTimeSeriesVwapRequest
  42 | from .request_models import GetTimeSeriesStochRequest
  43 | from .request_models import GetIncomeStatementRequest
  44 | from .request_models import GetCashFlowRequest
  45 | from .request_models import GetBalanceSheetRequest
  46 | from .request_models import GetRecommendationsRequest
  47 | from .request_models import GetTimeSeriesObvRequest
  48 | from .request_models import GetTimeSeriesCciRequest
  49 | from .request_models import GetPriceTargetRequest
  50 | from .request_models import GetTimeSeriesMfiRequest
  51 | from .request_models import GetTimeSeriesMaRequest
  52 | from .request_models import GetSplitsCalendarRequest
  53 | from .request_models import GetTimeSeriesSuperTrendRequest
  54 | from .request_models import GetEarningsCalendarRequest
  55 | from .request_models import GetTimeSeriesWillRRequest
  56 | from .request_models import GetDividendsCalendarRequest
  57 | from .request_models import GetEarningsEstimateRequest
  58 | from .request_models import GetTimeSeriesHeikinashiCandlesRequest
  59 | from .request_models import GetAnalystRatingsUsEquitiesRequest
  60 | from .request_models import GetTimeSeriesIchimokuRequest
  61 | from .request_models import GetTimeSeriesPercent_BRequest
  62 | from .request_models import GetTimeSeriesSarRequest
  63 | from .request_models import GetAnalystRatingsLightRequest
  64 | from .request_models import GetRevenueEstimateRequest
  65 | from .request_models import GetInsiderTransactionsRequest
  66 | from .request_models import GetTimeSeriesPlusDIRequest
  67 | from .request_models import GetInstitutionalHoldersRequest
  68 | from .request_models import GetMarketCapRequest
  69 | from .request_models import GetTimeSeriesMinusDIRequest
  70 | from .request_models import GetETFsListRequest
  71 | from .request_models import GetBondsRequest
  72 | from .request_models import GetTimeSeriesAdRequest
  73 | from .request_models import GetGrowthEstimatesRequest
  74 | from .request_models import GetMutualFundsListRequest
  75 | from .request_models import GetKeyExecutivesRequest
  76 | from .request_models import GetTimeSeriesStochRsiRequest
  77 | from .request_models import GetEpsTrendRequest
  78 | from .request_models import GetIncomeStatementConsolidatedRequest
  79 | from .request_models import GetExchangeScheduleRequest
  80 | from .request_models import GetEpsRevisionsRequest
  81 | from .request_models import GetTimeSeriesPivotPointsHLRequest
  82 | from .request_models import GetETFsWorldRequest
  83 | from .request_models import GetFundHoldersRequest
  84 | from .request_models import GetTimeSeriesAvgRequest
  85 | from .request_models import GetMutualFundsWorldRequest
  86 | from .request_models import GetETFsWorldSummaryRequest
  87 | from .request_models import GetETFsFamilyRequest
  88 | from .request_models import GetTimeSeriesAvgPriceRequest
  89 | from .request_models import GetCountriesRequest
  90 | from .request_models import GetTimeSeriesRvolRequest
  91 | from .request_models import GetTimeSeriesAdxrRequest
  92 | from .request_models import GetTimeSeriesWmaRequest
  93 | from .request_models import GetTimeSeriesMomRequest
  94 | from .request_models import GetTimeSeriesBetaRequest
  95 | from .request_models import GetTimeSeriesCrsiRequest
  96 | from .request_models import GetTimeSeriesAdOscRequest
  97 | from .request_models import GetTimeSeriesRocRequest
  98 | from .request_models import GetMutualFundsWorldPerformanceRequest
  99 | from .request_models import GetBalanceSheetConsolidatedRequest
 100 | from .request_models import GetMutualFundsWorldRatingsRequest
 101 | from .request_models import GetMutualFundsWorldSummaryRequest
 102 | from .request_models import GetETFsTypeRequest
 103 | from .request_models import GetDirectHoldersRequest
 104 | from .request_models import GetTimeSeriesLinearRegRequest
 105 | from .request_models import GetTimeSeriesTemaRequest
 106 | from .request_models import GetTimeSeriesKeltnerRequest
 107 | from .request_models import GetTimeSeriesKstRequest
 108 | from .request_models import GetMutualFundsWorldCompositionRequest
 109 | from .request_models import GetMutualFundsWorldPurchaseInfoRequest
 110 | from .request_models import GetETFsWorldPerformanceRequest
 111 | from .request_models import GetEdgarFilingsArchiveRequest
 112 | from .request_models import GetTimeSeriesHtTrendModeRequest
 113 | from .request_models import GetTimeSeriesMidPriceRequest
 114 | from .request_models import GetInstrumentTypeRequest
 115 | from .request_models import GetTimeSeriesTrimaRequest
 116 | from .request_models import GetTimeSeriesDemaRequest
 117 | from .request_models import GetTimeSeriesBopRequest
 118 | from .request_models import GetTimeSeriesMamaRequest
 119 | from .request_models import GetTimeSeriesPpoRequest
 120 | from .request_models import GetMutualFundsWorldSustainabilityRequest
 121 | from .request_models import GetETFsWorldCompositionRequest
 122 | from .request_models import GetMutualFundsWorldRiskRequest
 123 | from .request_models import GetMutualFundsTypeRequest
 124 | from .request_models import GetMutualFundsFamilyRequest
 125 | from .request_models import GetCashFlowConsolidatedRequest
 126 | from .request_models import GetTimeSeriesWclPriceRequest
 127 | from .request_models import GetTimeSeriesHtDcPeriodRequest
 128 | from .request_models import GetTimeSeriesMedPriceRequest
 129 | from .request_models import GetTimeSeriesTypPriceRequest
 130 | from .request_models import GetTimeSeriesHtTrendlineRequest
 131 | from .request_models import GetTimeSeriesLinearRegAngleRequest
 132 | from .request_models import GetTimeSeriesMinusDMRequest
 133 | from .request_models import GetTimeSeriesHtDcPhaseRequest
 134 | from .request_models import GetTimeSeriesMidPointRequest
 135 | from .request_models import GetTimeSeriesHtPhasorRequest
 136 | from .request_models import GetTimeSeriesUltOscRequest
 137 | from .request_models import GetTimeSeriesKamaRequest
 138 | from .request_models import GetTimeSeriesTRangeRequest
 139 | from .request_models import GetTimeSeriesApoRequest
 140 | from .request_models import GetTimeSeriesAroonRequest
 141 | from .request_models import GetTimeSeriesPlusDMRequest
 142 | from .request_models import GetTimeSeriesDxRequest
 143 | from .request_models import GetTimeSeriesStdDevRequest
 144 | from .request_models import GetTimeSeriesMacdExtRequest
 145 | from .request_models import GetTimeSeriesNatrRequest
 146 | from .request_models import GetTimeSeriesCmoRequest
 147 | from .request_models import GetTimeSeriesCorrelRequest
 148 | from .request_models import GetTimeSeriesMaxRequest
 149 | from .request_models import GetTimeSeriesStochFRequest
 150 | from .request_models import GetTimeSeriesHlc3Request
 151 | from .request_models import GetTimeSeriesAddRequest
 152 | from .request_models import GetTimeSeriesAroonOscRequest
 153 | from .request_models import AdvancedRequest
 154 | from .request_models import GetTimeSeriesCeilRequest
 155 | from .request_models import GetTimeSeriesCoppockRequest
 156 | from .request_models import GetTimeSeriesDivRequest
 157 | from .request_models import GetTimeSeriesDpoRequest
 158 | from .request_models import GetETFsWorldRiskRequest
 159 | from .request_models import GetTimeSeriesExpRequest
 160 | from .request_models import GetTimeSeriesFloorRequest
 161 | from .request_models import GetTimeSeriesHtSineRequest
 162 | from .request_models import GetIntervalsRequest
 163 | from .request_models import GetLastChangesRequest
 164 | from .request_models import GetTimeSeriesLinearRegInterceptRequest
 165 | from .request_models import GetTimeSeriesLinearRegSlopeRequest
 166 | from .request_models import GetTimeSeriesLnRequest
 167 | from .request_models import GetTimeSeriesLog10Request
 168 | from .request_models import GetTimeSeriesMacdSlopeRequest
 169 | from .request_models import GetMarketMoversRequest
 170 | from .request_models import GetTimeSeriesMaxIndexRequest
 171 | from .request_models import GetTimeSeriesMcGinleyDynamicRequest
 172 | from .request_models import GetTimeSeriesMinRequest
 173 | from .request_models import GetTimeSeriesMinIndexRequest
 174 | from .request_models import GetTimeSeriesMinMaxRequest
 175 | from .request_models import GetTimeSeriesMinMaxIndexRequest
 176 | from .request_models import GetTimeSeriesMultRequest
 177 | from .request_models import GetTimeSeriesRocpRequest
 178 | from .request_models import GetTimeSeriesRocrRequest
 179 | from .request_models import GetTimeSeriesRocr100Request
 180 | from .request_models import GetSourceSanctionedEntitiesRequest
 181 | from .request_models import GetTimeSeriesSarExtRequest
 182 | from .request_models import GetTimeSeriesSqrtRequest
 183 | from .request_models import GetTimeSeriesSubRequest
 184 | from .request_models import GetTimeSeriesSumRequest
 185 | from .request_models import GetTimeSeriesSuperTrendHeikinAshiCandlesRequest
 186 | from .request_models import GetTimeSeriesT3maRequest
 187 | from .request_models import GetTaxInfoRequest
 188 | from .request_models import GetTimeSeriesTsfRequest
 189 | from .request_models import GetTimeSeriesVarRequest
 190 | 
 191 | from .response_models import GetTimeSeries200Response
 192 | from .response_models import GetPrice200Response
 193 | from .response_models import GetQuote200Response
 194 | from .response_models import GetTimeSeriesRsi200Response
 195 | from .response_models import GetTimeSeriesMacd200Response
 196 | from .response_models import GetStocks200Response
 197 | from .response_models import GetTimeSeriesBBands200Response
 198 | from .response_models import GetExchangeRate200Response
 199 | from .response_models import GetTimeSeriesEma200Response
 200 | from .response_models import GetStatistics200Response
 201 | from .response_models import GetProfile200Response
 202 | from .response_models import GetMarketState200Response
 203 | from .response_models import GetSymbolSearch200Response
 204 | from .response_models import GetEod200Response
 205 | from .response_models import GetTimeSeriesSma200Response
 206 | from .response_models import GetForexPairs200Response
 207 | from .response_models import GetTimeSeriesAtr200Response
 208 | from .response_models import GetDividends200Response
 209 | from .response_models import GetCryptocurrencies200Response
 210 | from .response_models import GetEarnings200Response
 211 | from .response_models import GetCurrencyConversion200Response
 212 | from .response_models import GetExchanges200Response
 213 | from .response_models import GetSplits200Response
 214 | from .response_models import GetEarliestTimestamp200Response
 215 | from .response_models import GetEtf200Response
 216 | from .response_models import GetCommodities200Response
 217 | from .response_models import GetFunds200Response
 218 | from .response_models import GetIpoCalendar200Response
 219 | from .response_models import GetCryptocurrencyExchanges200Response
 220 | from .response_models import GetTimeSeriesCross200Response
 221 | from .response_models import GetCrossListings200Response
 222 | from .response_models import GetTechnicalIndicators200Response
 223 | from .response_models import GetApiUsage200Response
 224 | from .response_models import GetLogo200Response
 225 | from .response_models import GetTimeSeriesAdx200Response
 226 | from .response_models import GetTimeSeriesVwap200Response
 227 | from .response_models import GetTimeSeriesStoch200Response
 228 | from .response_models import GetIncomeStatement200Response
 229 | from .response_models import GetCashFlow200Response
 230 | from .response_models import GetBalanceSheet200Response
 231 | from .response_models import GetRecommendations200Response
 232 | from .response_models import GetTimeSeriesObv200Response
 233 | from .response_models import GetTimeSeriesCci200Response
 234 | from .response_models import GetPriceTarget200Response
 235 | from .response_models import GetTimeSeriesMfi200Response
 236 | from .response_models import GetTimeSeriesMa200Response
 237 | from .response_models import GetSplitsCalendar200Response
 238 | from .response_models import GetTimeSeriesSuperTrend200Response
 239 | from .response_models import GetEarningsCalendar200Response
 240 | from .response_models import GetTimeSeriesWillR200Response
 241 | from .response_models import GetDividendsCalendar200Response
 242 | from .response_models import GetEarningsEstimate200Response
 243 | from .response_models import GetTimeSeriesHeikinashiCandles200Response
 244 | from .response_models import GetAnalystRatingsUsEquities200Response
 245 | from .response_models import GetTimeSeriesIchimoku200Response
 246 | from .response_models import GetTimeSeriesPercent_B200Response
 247 | from .response_models import GetTimeSeriesSar200Response
 248 | from .response_models import GetAnalystRatingsLight200Response
 249 | from .response_models import GetRevenueEstimate200Response
 250 | from .response_models import GetInsiderTransactions200Response
 251 | from .response_models import GetTimeSeriesPlusDI200Response
 252 | from .response_models import GetInstitutionalHolders200Response
 253 | from .response_models import GetMarketCap200Response
 254 | from .response_models import GetTimeSeriesMinusDI200Response
 255 | from .response_models import GetETFsList200Response
 256 | from .response_models import GetBonds200Response
 257 | from .response_models import GetTimeSeriesAd200Response
 258 | from .response_models import GetGrowthEstimates200Response
 259 | from .response_models import GetMutualFundsList200Response
 260 | from .response_models import GetKeyExecutives200Response
 261 | from .response_models import GetTimeSeriesStochRsi200Response
 262 | from .response_models import GetEpsTrend200Response
 263 | from .response_models import GetIncomeStatementConsolidated200Response
 264 | from .response_models import GetExchangeSchedule200Response
 265 | from .response_models import GetEpsRevisions200Response
 266 | from .response_models import GetTimeSeriesPivotPointsHL200Response
 267 | from .response_models import GetETFsWorld200Response
 268 | from .response_models import GetFundHolders200Response
 269 | from .response_models import GetTimeSeriesAvg200Response
 270 | from .response_models import GetMutualFundsWorld200Response
 271 | from .response_models import GetETFsWorldSummary200Response
 272 | from .response_models import GetETFsFamily200Response
 273 | from .response_models import GetTimeSeriesAvgPrice200Response
 274 | from .response_models import GetCountries200Response
 275 | from .response_models import GetTimeSeriesRvol200Response
 276 | from .response_models import GetTimeSeriesAdxr200Response
 277 | from .response_models import GetTimeSeriesWma200Response
 278 | from .response_models import GetTimeSeriesMom200Response
 279 | from .response_models import GetTimeSeriesBeta200Response
 280 | from .response_models import GetTimeSeriesCrsi200Response
 281 | from .response_models import GetTimeSeriesAdOsc200Response
 282 | from .response_models import GetTimeSeriesRoc200Response
 283 | from .response_models import GetMutualFundsWorldPerformance200Response
 284 | from .response_models import GetBalanceSheetConsolidated200Response
 285 | from .response_models import GetMutualFundsWorldRatings200Response
 286 | from .response_models import GetMutualFundsWorldSummary200Response
 287 | from .response_models import GetETFsType200Response
 288 | from .response_models import GetDirectHolders200Response
 289 | from .response_models import GetTimeSeriesLinearReg200Response
 290 | from .response_models import GetTimeSeriesTema200Response
 291 | from .response_models import GetTimeSeriesKeltner200Response
 292 | from .response_models import GetTimeSeriesKst200Response
 293 | from .response_models import GetMutualFundsWorldComposition200Response
 294 | from .response_models import GetMutualFundsWorldPurchaseInfo200Response
 295 | from .response_models import GetETFsWorldPerformance200Response
 296 | from .response_models import GetEdgarFilingsArchive200Response
 297 | from .response_models import GetTimeSeriesHtTrendMode200Response
 298 | from .response_models import GetTimeSeriesMidPrice200Response
 299 | from .response_models import GetInstrumentType200Response
 300 | from .response_models import GetTimeSeriesTrima200Response
 301 | from .response_models import GetTimeSeriesDema200Response
 302 | from .response_models import GetTimeSeriesBop200Response
 303 | from .response_models import GetTimeSeriesMama200Response
 304 | from .response_models import GetTimeSeriesPpo200Response
 305 | from .response_models import GetMutualFundsWorldSustainability200Response
 306 | from .response_models import GetETFsWorldComposition200Response
 307 | from .response_models import GetMutualFundsWorldRisk200Response
 308 | from .response_models import GetMutualFundsType200Response
 309 | from .response_models import GetMutualFundsFamily200Response
 310 | from .response_models import GetCashFlowConsolidated200Response
 311 | from .response_models import GetTimeSeriesWclPrice200Response
 312 | from .response_models import GetTimeSeriesHtDcPeriod200Response
 313 | from .response_models import GetTimeSeriesMedPrice200Response
 314 | from .response_models import GetTimeSeriesTypPrice200Response
 315 | from .response_models import GetTimeSeriesHtTrendline200Response
 316 | from .response_models import GetTimeSeriesLinearRegAngle200Response
 317 | from .response_models import GetTimeSeriesMinusDM200Response
 318 | from .response_models import GetTimeSeriesHtDcPhase200Response
 319 | from .response_models import GetTimeSeriesMidPoint200Response
 320 | from .response_models import GetTimeSeriesHtPhasor200Response
 321 | from .response_models import GetTimeSeriesUltOsc200Response
 322 | from .response_models import GetTimeSeriesKama200Response
 323 | from .response_models import GetTimeSeriesTRange200Response
 324 | from .response_models import GetTimeSeriesApo200Response
 325 | from .response_models import GetTimeSeriesAroon200Response
 326 | from .response_models import GetTimeSeriesPlusDM200Response
 327 | from .response_models import GetTimeSeriesDx200Response
 328 | from .response_models import GetTimeSeriesStdDev200Response
 329 | from .response_models import GetTimeSeriesMacdExt200Response
 330 | from .response_models import GetTimeSeriesNatr200Response
 331 | from .response_models import GetTimeSeriesCmo200Response
 332 | from .response_models import GetTimeSeriesCorrel200Response
 333 | from .response_models import GetTimeSeriesMax200Response
 334 | from .response_models import GetTimeSeriesStochF200Response
 335 | from .response_models import GetTimeSeriesHlc3200Response
 336 | from .response_models import GetTimeSeriesAdd200Response
 337 | from .response_models import GetTimeSeriesAroonOsc200Response
 338 | from .response_models import Advanced200Response
 339 | from .response_models import GetTimeSeriesCeil200Response
 340 | from .response_models import GetTimeSeriesCoppock200Response
 341 | from .response_models import GetTimeSeriesDiv200Response
 342 | from .response_models import GetTimeSeriesDpo200Response
 343 | from .response_models import GetETFsWorldRisk200Response
 344 | from .response_models import GetTimeSeriesExp200Response
 345 | from .response_models import GetTimeSeriesFloor200Response
 346 | from .response_models import GetTimeSeriesHtSine200Response
 347 | from .response_models import GetIntervals200Response
 348 | from .response_models import GetLastChanges200Response
 349 | from .response_models import GetTimeSeriesLinearRegIntercept200Response
 350 | from .response_models import GetTimeSeriesLinearRegSlope200Response
 351 | from .response_models import GetTimeSeriesLn200Response
 352 | from .response_models import GetTimeSeriesLog10200Response
 353 | from .response_models import GetTimeSeriesMacdSlope200Response
 354 | from .response_models import GetMarketMovers200Response
 355 | from .response_models import GetTimeSeriesMaxIndex200Response
 356 | from .response_models import GetTimeSeriesMcGinleyDynamic200Response
 357 | from .response_models import GetTimeSeriesMin200Response
 358 | from .response_models import GetTimeSeriesMinIndex200Response
 359 | from .response_models import GetTimeSeriesMinMax200Response
 360 | from .response_models import GetTimeSeriesMinMaxIndex200Response
 361 | from .response_models import GetTimeSeriesMult200Response
 362 | from .response_models import GetTimeSeriesRocp200Response
 363 | from .response_models import GetTimeSeriesRocr200Response
 364 | from .response_models import GetTimeSeriesRocr100200Response
 365 | from .response_models import GetSourceSanctionedEntities200Response
 366 | from .response_models import GetTimeSeriesSarExt200Response
 367 | from .response_models import GetTimeSeriesSqrt200Response
 368 | from .response_models import GetTimeSeriesSub200Response
 369 | from .response_models import GetTimeSeriesSum200Response
 370 | from .response_models import GetTimeSeriesSuperTrendHeikinAshiCandles200Response
 371 | from .response_models import GetTimeSeriesT3ma200Response
 372 | from .response_models import GetTaxInfo200Response
 373 | from .response_models import GetTimeSeriesTsf200Response
 374 | from .response_models import GetTimeSeriesVar200Response
 375 | 
 376 | def register_all_tools(server: FastMCP, _call_endpoint):
 377 |     @server.tool(name="GetTimeSeries",
 378 |                  description="This API call returns meta and time series for the requested instrument. Metaobject consists of general information about the requested symbol. Time series is the array of objects ordered by time descending with Open, High, Low, Close prices. Non-currency instruments also include volume information.")
 379 |     async def GetTimeSeries(params: GetTimeSeriesRequest, ctx: Context) -> GetTimeSeries200Response:
 380 |         return await _call_endpoint("time_series", params, GetTimeSeries200Response, ctx)
 381 | 
 382 |     @server.tool(name="GetPrice",
 383 |                  description="This endpoint is a lightweight method that allows retrieving only the real-time price of the selected instrument.")
 384 |     async def GetPrice(params: GetPriceRequest, ctx: Context) -> GetPrice200Response:
 385 |         return await _call_endpoint("price", params, GetPrice200Response, ctx)
 386 | 
 387 |     @server.tool(name="GetQuote",
 388 |                  description="Quote endpoint is an efficient method to retrieve the latest quote of the selected instrument.")
 389 |     async def GetQuote(params: GetQuoteRequest, ctx: Context) -> GetQuote200Response:
 390 |         return await _call_endpoint("quote", params, GetQuote200Response, ctx)
 391 | 
 392 |     @server.tool(name="GetTimeSeriesRsi",
 393 |                  description="The Relative Strength Index (RSI) is a momentum oscillator that measures the speed and change of price movements, helping traders identify potential overbought or oversold conditions and trend reversals.")
 394 |     async def GetTimeSeriesRsi(params: GetTimeSeriesRsiRequest, ctx: Context) -> GetTimeSeriesRsi200Response:
 395 |         return await _call_endpoint("rsi", params, GetTimeSeriesRsi200Response, ctx)
 396 | 
 397 |     @server.tool(name="GetTimeSeriesMacd",
 398 |                  description="The Moving Average Convergence Divergence (MACD) is a momentum indicator that measures the difference between two moving averages, with a signal line used to identify potential trend reversals and trading opportunities.")
 399 |     async def GetTimeSeriesMacd(params: GetTimeSeriesMacdRequest, ctx: Context) -> GetTimeSeriesMacd200Response:
 400 |         return await _call_endpoint("macd", params, GetTimeSeriesMacd200Response, ctx)
 401 | 
 402 |     @server.tool(name="GetStocks",
 403 |                  description="This API call returns an array of symbols available at Twelve Data API. This list is updated daily.")
 404 |     async def GetStocks(params: GetStocksRequest, ctx: Context) -> GetStocks200Response:
 405 |         return await _call_endpoint("stocks", params, GetStocks200Response, ctx)
 406 | 
 407 |     @server.tool(name="GetTimeSeriesBBands",
 408 |                  description="Bollinger Bands (BBANDS) are volatility bands placed above and below a moving average, measuring price volatility and helping traders identify potential overbought or oversold conditions.")
 409 |     async def GetTimeSeriesBBands(params: GetTimeSeriesBBandsRequest, ctx: Context) -> GetTimeSeriesBBands200Response:
 410 |         return await _call_endpoint("bbands", params, GetTimeSeriesBBands200Response, ctx)
 411 | 
 412 |     @server.tool(name="GetExchangeRate",
 413 |                  description="This API call returns real-time exchange rate for currency pair. Works with forex and cryptocurrency.")
 414 |     async def GetExchangeRate(params: GetExchangeRateRequest, ctx: Context) -> GetExchangeRate200Response:
 415 |         return await _call_endpoint("exchange_rate", params, GetExchangeRate200Response, ctx)
 416 | 
 417 |     @server.tool(name="GetTimeSeriesEma",
 418 |                  description="The Exponential Moving Average (EMA) is a weighted moving average that gives more importance to recent price data, making it more responsive to new information and helping traders identify trends and potential entry or exit points.")
 419 |     async def GetTimeSeriesEma(params: GetTimeSeriesEmaRequest, ctx: Context) -> GetTimeSeriesEma200Response:
 420 |         return await _call_endpoint("ema", params, GetTimeSeriesEma200Response, ctx)
 421 | 
 422 |     @server.tool(name="GetStatistics",
 423 |                  description="Returns current overview of company’s main statistics including valuation metrics and financials.")
 424 |     async def GetStatistics(params: GetStatisticsRequest, ctx: Context) -> GetStatistics200Response:
 425 |         return await _call_endpoint("statistics", params, GetStatistics200Response, ctx)
 426 | 
 427 |     @server.tool(name="GetProfile",
 428 |                  description="Returns general information about the company.")
 429 |     async def GetProfile(params: GetProfileRequest, ctx: Context) -> GetProfile200Response:
 430 |         return await _call_endpoint("profile", params, GetProfile200Response, ctx)
 431 | 
 432 |     @server.tool(name="GetMarketState",
 433 |                  description="Check the state of all available exchanges, time to open, and time to close. Returns all available stock exchanges by default.")
 434 |     async def GetMarketState(params: GetMarketStateRequest, ctx: Context) -> GetMarketState200Response:
 435 |         return await _call_endpoint("market_state", params, GetMarketState200Response, ctx)
 436 | 
 437 |     @server.tool(name="GetSymbolSearch",
 438 |                  description="This method helps to find the best matching symbol. It can be used as the base for custom lookups. The response is returned in descending order, with the most relevant instrument at the beginning.")
 439 |     async def GetSymbolSearch(params: GetSymbolSearchRequest, ctx: Context) -> GetSymbolSearch200Response:
 440 |         return await _call_endpoint("symbol_search", params, GetSymbolSearch200Response, ctx)
 441 | 
 442 |     @server.tool(name="GetEod",
 443 |                  description="This endpoint returns the latest End of Day (EOD) price of an instrument.")
 444 |     async def GetEod(params: GetEodRequest, ctx: Context) -> GetEod200Response:
 445 |         return await _call_endpoint("eod", params, GetEod200Response, ctx)
 446 | 
 447 |     @server.tool(name="GetTimeSeriesSma",
 448 |                  description="The Simple Moving Average (SMA) is a smoothing indicator that calculates the average price of a security over a specified period, helping traders identify trends and potential support or resistance levels.")
 449 |     async def GetTimeSeriesSma(params: GetTimeSeriesSmaRequest, ctx: Context) -> GetTimeSeriesSma200Response:
 450 |         return await _call_endpoint("sma", params, GetTimeSeriesSma200Response, ctx)
 451 | 
 452 |     @server.tool(name="GetForexPairs",
 453 |                  description="This API call returns an array of forex pairs available at Twelve Data API. This list is updated daily.")
 454 |     async def GetForexPairs(params: GetForexPairsRequest, ctx: Context) -> GetForexPairs200Response:
 455 |         return await _call_endpoint("forex_pairs", params, GetForexPairs200Response, ctx)
 456 | 
 457 |     @server.tool(name="GetTimeSeriesAtr",
 458 |                  description="The Average True Range (ATR) is a volatility indicator that measures the average range of price movement over a specified period, helping traders assess market volatility.")
 459 |     async def GetTimeSeriesAtr(params: GetTimeSeriesAtrRequest, ctx: Context) -> GetTimeSeriesAtr200Response:
 460 |         return await _call_endpoint("atr", params, GetTimeSeriesAtr200Response, ctx)
 461 | 
 462 |     @server.tool(name="GetDividends",
 463 |                  description="Returns the amount of dividends paid out for the last 10+ years.")
 464 |     async def GetDividends(params: GetDividendsRequest, ctx: Context) -> GetDividends200Response:
 465 |         return await _call_endpoint("dividends", params, GetDividends200Response, ctx)
 466 | 
 467 |     @server.tool(name="GetCryptocurrencies",
 468 |                  description="This API call returns an array of cryptocurrencies available at Twelve Data API. This list is updated daily.")
 469 |     async def GetCryptocurrencies(params: GetCryptocurrenciesRequest, ctx: Context) -> GetCryptocurrencies200Response:
 470 |         return await _call_endpoint("cryptocurrencies", params, GetCryptocurrencies200Response, ctx)
 471 | 
 472 |     @server.tool(name="GetEarnings",
 473 |                  description="This API call returns earnings data for a given company, including EPS estimate and EPS actual. Earnings are available for complete company history.")
 474 |     async def GetEarnings(params: GetEarningsRequest, ctx: Context) -> GetEarnings200Response:
 475 |         return await _call_endpoint("earnings", params, GetEarnings200Response, ctx)
 476 | 
 477 |     @server.tool(name="GetCurrencyConversion",
 478 |                  description="This API call returns real-time exchange rate and converted amount for currency pair. Works with forex and cryptocurrency.")
 479 |     async def GetCurrencyConversion(params: GetCurrencyConversionRequest, ctx: Context) -> GetCurrencyConversion200Response:
 480 |         return await _call_endpoint("currency_conversion", params, GetCurrencyConversion200Response, ctx)
 481 | 
 482 |     @server.tool(name="GetExchanges",
 483 |                  description="This API call returns an array of stock or ETF exchanges available at Twelve Data API. This list is updated daily.")
 484 |     async def GetExchanges(params: GetExchangesRequest, ctx: Context) -> GetExchanges200Response:
 485 |         return await _call_endpoint("exchanges", params, GetExchanges200Response, ctx)
 486 | 
 487 |     @server.tool(name="GetSplits",
 488 |                  description="Returns the date and the split factor of shares of the company for the last 10+ years.")
 489 |     async def GetSplits(params: GetSplitsRequest, ctx: Context) -> GetSplits200Response:
 490 |         return await _call_endpoint("splits", params, GetSplits200Response, ctx)
 491 | 
 492 |     @server.tool(name="GetEarliestTimestamp",
 493 |                  description="This method returns the first available DateTime for a given instrument at the specific interval.")
 494 |     async def GetEarliestTimestamp(params: GetEarliestTimestampRequest, ctx: Context) -> GetEarliestTimestamp200Response:
 495 |         return await _call_endpoint("earliest_timestamp", params, GetEarliestTimestamp200Response, ctx)
 496 | 
 497 |     @server.tool(name="GetEtf",
 498 |                  description="This API call returns an array of ETFs available at Twelve Data API. This list is updated daily.")
 499 |     async def GetEtf(params: GetEtfRequest, ctx: Context) -> GetEtf200Response:
 500 |         return await _call_endpoint("etfs", params, GetEtf200Response, ctx)
 501 | 
 502 |     @server.tool(name="GetCommodities",
 503 |                  description="This API call returns an array of commodity pairs available at Twelve Data API. This list is updated daily.")
 504 |     async def GetCommodities(params: GetCommoditiesRequest, ctx: Context) -> GetCommodities200Response:
 505 |         return await _call_endpoint("commodities", params, GetCommodities200Response, ctx)
 506 | 
 507 |     @server.tool(name="GetFunds",
 508 |                  description="This API call returns an array of funds available at Twelve Data API. This list is updated daily.")
 509 |     async def GetFunds(params: GetFundsRequest, ctx: Context) -> GetFunds200Response:
 510 |         return await _call_endpoint("funds", params, GetFunds200Response, ctx)
 511 | 
 512 |     @server.tool(name="GetIpoCalendar",
 513 |                  description="This endpoint returns past, today, or upcoming IPOs.")
 514 |     async def GetIpoCalendar(params: GetIpoCalendarRequest, ctx: Context) -> GetIpoCalendar200Response:
 515 |         return await _call_endpoint("ipo_calendar", params, GetIpoCalendar200Response, ctx)
 516 | 
 517 |     @server.tool(name="GetCryptocurrencyExchanges",
 518 |                  description="This API call returns an array of cryptocurrency exchanges available at Twelve Data API. This list is updated daily.")
 519 |     async def GetCryptocurrencyExchanges(params: GetCryptocurrencyExchangesRequest, ctx: Context) -> GetCryptocurrencyExchanges200Response:
 520 |         return await _call_endpoint("cryptocurrency_exchanges", params, GetCryptocurrencyExchanges200Response, ctx)
 521 | 
 522 |     @server.tool(name="GetTimeSeriesCross",
 523 |                  description="This API call returns meta and cross rate time series for the requested instruments. Metaobject consists of general information about the requested symbol. Time series is the array of objects ordered by time descending with Open, High, Low, Close prices. Works with stocks, forex and cryptocurrency.")
 524 |     async def GetTimeSeriesCross(params: GetTimeSeriesCrossRequest, ctx: Context) -> GetTimeSeriesCross200Response:
 525 |         return await _call_endpoint("time_series/cross", params, GetTimeSeriesCross200Response, ctx)
 526 | 
 527 |     @server.tool(name="GetCrossListings",
 528 |                  description="This API call returns an array of cross listed symbols for a specified instrument. Cross listings are the same securities listed on different exchanges. This list is updated daily.")
 529 |     async def GetCrossListings(params: GetCrossListingsRequest, ctx: Context) -> GetCrossListings200Response:
 530 |         return await _call_endpoint("cross_listings", params, GetCrossListings200Response, ctx)
 531 | 
 532 |     @server.tool(name="GetTechnicalIndicators",
 533 |                  description="This API call returns an array of objects with available technical indicators. This endpoint might be used to build an abstract interface to make more convenient API calls from the application.")
 534 |     async def GetTechnicalIndicators(params: GetTechnicalIndicatorsRequest, ctx: Context) -> GetTechnicalIndicators200Response:
 535 |         return await _call_endpoint("technical_indicators", params, GetTechnicalIndicators200Response, ctx)
 536 | 
 537 |     @server.tool(name="GetApiUsage",
 538 |                  description="This endpoint will provide information on the current usage of Twelve Data API.")
 539 |     async def GetApiUsage(params: GetApiUsageRequest, ctx: Context) -> GetApiUsage200Response:
 540 |         return await _call_endpoint("api_usage", params, GetApiUsage200Response, ctx)
 541 | 
 542 |     @server.tool(name="GetLogo",
 543 |                  description="Returns a logo of company, cryptocurrency, or forex pair.")
 544 |     async def GetLogo(params: GetLogoRequest, ctx: Context) -> GetLogo200Response:
 545 |         return await _call_endpoint("logo", params, GetLogo200Response, ctx)
 546 | 
 547 |     @server.tool(name="GetTimeSeriesAdx",
 548 |                  description="The Average Directional Index (ADX) measures the strength of a trend, regardless of direction, helping traders determine if a market is trending or ranging.")
 549 |     async def GetTimeSeriesAdx(params: GetTimeSeriesAdxRequest, ctx: Context) -> GetTimeSeriesAdx200Response:
 550 |         return await _call_endpoint("adx", params, GetTimeSeriesAdx200Response, ctx)
 551 | 
 552 |     @server.tool(name="GetTimeSeriesVwap",
 553 |                  description="The Volume Weighted Average Price (VWAP) indicator offers an insightful measure of the average trading price weighted by volume, commonly used for trading analysis and execution evaluation.")
 554 |     async def GetTimeSeriesVwap(params: GetTimeSeriesVwapRequest, ctx: Context) -> GetTimeSeriesVwap200Response:
 555 |         return await _call_endpoint("vwap", params, GetTimeSeriesVwap200Response, ctx)
 556 | 
 557 |     @server.tool(name="GetTimeSeriesStoch",
 558 |                  description="The Stochastic Oscillator (STOCH) is a momentum indicator that compares a security's closing price to its price range over a specified period, helping traders identify potential overbought or oversold conditions and trend reversals.")
 559 |     async def GetTimeSeriesStoch(params: GetTimeSeriesStochRequest, ctx: Context) -> GetTimeSeriesStoch200Response:
 560 |         return await _call_endpoint("stoch", params, GetTimeSeriesStoch200Response, ctx)
 561 | 
 562 |     @server.tool(name="GetIncomeStatement",
 563 |                  description="Returns complete income statement of a company and shows the company’s revenues and expenses during a period (annual or quarter).")
 564 |     async def GetIncomeStatement(params: GetIncomeStatementRequest, ctx: Context) -> GetIncomeStatement200Response:
 565 |         return await _call_endpoint("income_statement", params, GetIncomeStatement200Response, ctx)
 566 | 
 567 |     @server.tool(name="GetCashFlow",
 568 |                  description="Returns complete cash flow of a company showing the net amount of cash and cash equivalents being transferred into and out of business.")
 569 |     async def GetCashFlow(params: GetCashFlowRequest, ctx: Context) -> GetCashFlow200Response:
 570 |         return await _call_endpoint("cash_flow", params, GetCashFlow200Response, ctx)
 571 | 
 572 |     @server.tool(name="GetBalanceSheet",
 573 |                  description="Returns complete balance sheet of a company showing the summary of assets, liabilities, and shareholders’ equity.")
 574 |     async def GetBalanceSheet(params: GetBalanceSheetRequest, ctx: Context) -> GetBalanceSheet200Response:
 575 |         return await _call_endpoint("balance_sheet", params, GetBalanceSheet200Response, ctx)
 576 | 
 577 |     @server.tool(name="GetRecommendations",
 578 |                  description="This API endpoint returns the average of all analyst recommendations and classifies them as Strong Buy, Buy, Hold, or Sell. Also, it returns a recommendation score.")
 579 |     async def GetRecommendations(params: GetRecommendationsRequest, ctx: Context) -> GetRecommendations200Response:
 580 |         return await _call_endpoint("recommendations", params, GetRecommendations200Response, ctx)
 581 | 
 582 |     @server.tool(name="GetTimeSeriesObv",
 583 |                  description="The On Balance Volume (OBV) indicator is a cumulative volume-based tool used to measure buying and selling pressure, helping traders identify potential price trends and reversals.")
 584 |     async def GetTimeSeriesObv(params: GetTimeSeriesObvRequest, ctx: Context) -> GetTimeSeriesObv200Response:
 585 |         return await _call_endpoint("obv", params, GetTimeSeriesObv200Response, ctx)
 586 | 
 587 |     @server.tool(name="GetTimeSeriesCci",
 588 |                  description="The Commodity Channel Index (CCI) is a momentum oscillator that measures the deviation of a security's price from its average relative to its typical price range, helping traders identify overbought or oversold conditions.")
 589 |     async def GetTimeSeriesCci(params: GetTimeSeriesCciRequest, ctx: Context) -> GetTimeSeriesCci200Response:
 590 |         return await _call_endpoint("cci", params, GetTimeSeriesCci200Response, ctx)
 591 | 
 592 |     @server.tool(name="GetPriceTarget",
 593 |                  description="This API endpoint returns the analysts' projection of a security's future price.")
 594 |     async def GetPriceTarget(params: GetPriceTargetRequest, ctx: Context) -> GetPriceTarget200Response:
 595 |         return await _call_endpoint("price_target", params, GetPriceTarget200Response, ctx)
 596 | 
 597 |     @server.tool(name="GetTimeSeriesMfi",
 598 |                  description="The Money Flow Index (MFI) is a volume-weighted momentum oscillator that measures buying and selling pressure by comparing positive and negative money flow, helping traders identify overbought or oversold conditions.")
 599 |     async def GetTimeSeriesMfi(params: GetTimeSeriesMfiRequest, ctx: Context) -> GetTimeSeriesMfi200Response:
 600 |         return await _call_endpoint("mfi", params, GetTimeSeriesMfi200Response, ctx)
 601 | 
 602 |     @server.tool(name="GetTimeSeriesMa",
 603 |                  description="The Moving Average (MA) is a smoothing indicator that calculates the average price of a security over a specified period, helping traders identify trends and potential support or resistance levels.")
 604 |     async def GetTimeSeriesMa(params: GetTimeSeriesMaRequest, ctx: Context) -> GetTimeSeriesMa200Response:
 605 |         return await _call_endpoint("ma", params, GetTimeSeriesMa200Response, ctx)
 606 | 
 607 |     @server.tool(name="GetSplitsCalendar",
 608 |                  description="This API method returns split data as a calendar for a given date range. To call custom period, use start_date and end_date parameters.")
 609 |     async def GetSplitsCalendar(params: GetSplitsCalendarRequest, ctx: Context) -> GetSplitsCalendar200Response:
 610 |         return await _call_endpoint("splits_calendar", params, GetSplitsCalendar200Response, ctx)
 611 | 
 612 |     @server.tool(name="GetTimeSeriesSuperTrend",
 613 |                  description="The Supertrend indicator is a trend-following tool that uses a combination of price, time, and volatility to generate potential entry and exit points in trending markets.")
 614 |     async def GetTimeSeriesSuperTrend(params: GetTimeSeriesSuperTrendRequest, ctx: Context) -> GetTimeSeriesSuperTrend200Response:
 615 |         return await _call_endpoint("supertrend", params, GetTimeSeriesSuperTrend200Response, ctx)
 616 | 
 617 |     @server.tool(name="GetEarningsCalendar",
 618 |                  description="This API method returns earning data as a calendar for a given date range. By default today’s earning is returned. To call custom period, use start_date and end_date parameters.")
 619 |     async def GetEarningsCalendar(params: GetEarningsCalendarRequest, ctx: Context) -> GetEarningsCalendar200Response:
 620 |         return await _call_endpoint("earnings_calendar", params, GetEarningsCalendar200Response, ctx)
 621 | 
 622 |     @server.tool(name="GetTimeSeriesWillR",
 623 |                  description="The Williams %R (WILLR) is a momentum oscillator that measures the level of a security's closing price in relation to the high and low range over a specified period, helping traders identify potential overbought or oversold conditions and trend reversals.")
 624 |     async def GetTimeSeriesWillR(params: GetTimeSeriesWillRRequest, ctx: Context) -> GetTimeSeriesWillR200Response:
 625 |         return await _call_endpoint("willr", params, GetTimeSeriesWillR200Response, ctx)
 626 | 
 627 |     @server.tool(name="GetDividendsCalendar",
 628 |                  description="This API method returns dividend data as a calendar for a given date range. To call custom period, use start_date and end_date parameters.")
 629 |     async def GetDividendsCalendar(params: GetDividendsCalendarRequest, ctx: Context) -> GetDividendsCalendar200Response:
 630 |         return await _call_endpoint("dividends_calendar", params, GetDividendsCalendar200Response, ctx)
 631 | 
 632 |     @server.tool(name="GetEarningsEstimate",
 633 |                  description="This API endpoint returns analysts' estimate for a company's future quarterly and annual earnings per share (EPS).")
 634 |     async def GetEarningsEstimate(params: GetEarningsEstimateRequest, ctx: Context) -> GetEarningsEstimate200Response:
 635 |         return await _call_endpoint("earnings_estimate", params, GetEarningsEstimate200Response, ctx)
 636 | 
 637 |     @server.tool(name="GetTimeSeriesHeikinashiCandles",
 638 |                  description="Heikin Ashi Candles are a modified form of Japanese candlestick charts, using averaged price data to smooth out noise and better highlight trends and potential trend reversals.")
 639 |     async def GetTimeSeriesHeikinashiCandles(params: GetTimeSeriesHeikinashiCandlesRequest, ctx: Context) -> GetTimeSeriesHeikinashiCandles200Response:
 640 |         return await _call_endpoint("heikinashicandles", params, GetTimeSeriesHeikinashiCandles200Response, ctx)
 641 | 
 642 |     @server.tool(name="GetAnalystRatingsUsEquities",
 643 |                  description="This API endpoint returns complete information on ratings issued by analyst firms. Works only for US equities.")
 644 |     async def GetAnalystRatingsUsEquities(params: GetAnalystRatingsUsEquitiesRequest, ctx: Context) -> GetAnalystRatingsUsEquities200Response:
 645 |         return await _call_endpoint("analyst_ratings/us_equities", params, GetAnalystRatingsUsEquities200Response, ctx)
 646 | 
 647 |     @server.tool(name="GetTimeSeriesIchimoku",
 648 |                  description="The Ichimoku Cloud (ICHIMOKU) is a comprehensive trend-following indicator that combines multiple moving averages and support/resistance levels to help traders identify potential entry and exit points, trend direction, and momentum.")
 649 |     async def GetTimeSeriesIchimoku(params: GetTimeSeriesIchimokuRequest, ctx: Context) -> GetTimeSeriesIchimoku200Response:
 650 |         return await _call_endpoint("ichimoku", params, GetTimeSeriesIchimoku200Response, ctx)
 651 | 
 652 |     @server.tool(name="GetTimeSeriesPercent_B",
 653 |                  description="The Percent B (%B) is a component of the Bollinger Bands indicator, measuring the position of a security's price relative to the bands, helping traders identify potential overbought or oversold conditions.")
 654 |     async def GetTimeSeriesPercent_B(params: GetTimeSeriesPercent_BRequest, ctx: Context) -> GetTimeSeriesPercent_B200Response:
 655 |         return await _call_endpoint("percent_b", params, GetTimeSeriesPercent_B200Response, ctx)
 656 | 
 657 |     @server.tool(name="GetTimeSeriesSar",
 658 |                  description="The Parabolic SAR (SAR) is a trend-following indicator that calculates potential support and resistance levels based on a security's price and time, helping traders identify potential entry and exit points.")
 659 |     async def GetTimeSeriesSar(params: GetTimeSeriesSarRequest, ctx: Context) -> GetTimeSeriesSar200Response:
 660 |         return await _call_endpoint("sar", params, GetTimeSeriesSar200Response, ctx)
 661 | 
 662 |     @server.tool(name="GetAnalystRatingsLight",
 663 |                  description="This API endpoint returns a lightweight version of ratings issued by analyst firms. Works for US and international markets.")
 664 |     async def GetAnalystRatingsLight(params: GetAnalystRatingsLightRequest, ctx: Context) -> GetAnalystRatingsLight200Response:
 665 |         return await _call_endpoint("analyst_ratings/light", params, GetAnalystRatingsLight200Response, ctx)
 666 | 
 667 |     @server.tool(name="GetRevenueEstimate",
 668 |                  description="This API endpoint returns analysts' estimate for a company's future quarterly and annual sales (total revenue).")
 669 |     async def GetRevenueEstimate(params: GetRevenueEstimateRequest, ctx: Context) -> GetRevenueEstimate200Response:
 670 |         return await _call_endpoint("revenue_estimate", params, GetRevenueEstimate200Response, ctx)
 671 | 
 672 |     @server.tool(name="GetInsiderTransactions",
 673 |                  description="Returns trading information performed by insiders.")
 674 |     async def GetInsiderTransactions(params: GetInsiderTransactionsRequest, ctx: Context) -> GetInsiderTransactions200Response:
 675 |         return await _call_endpoint("insider_transactions", params, GetInsiderTransactions200Response, ctx)
 676 | 
 677 |     @server.tool(name="GetTimeSeriesPlusDI",
 678 |                  description="The Plus Directional Indicator (PLUS_DI) is a component of the ADX indicator, measuring the strength of a security's upward price movement.")
 679 |     async def GetTimeSeriesPlusDI(params: GetTimeSeriesPlusDIRequest, ctx: Context) -> GetTimeSeriesPlusDI200Response:
 680 |         return await _call_endpoint("plus_di", params, GetTimeSeriesPlusDI200Response, ctx)
 681 | 
 682 |     @server.tool(name="GetInstitutionalHolders",
 683 |                  description="Returns the amount of the company’s available stock owned by institutions (pension funds, insurance companies, investment firms, private foundations, endowments, or other large entities that manage funds on behalf of others).")
 684 |     async def GetInstitutionalHolders(params: GetInstitutionalHoldersRequest, ctx: Context) -> GetInstitutionalHolders200Response:
 685 |         return await _call_endpoint("institutional_holders", params, GetInstitutionalHolders200Response, ctx)
 686 | 
 687 |     @server.tool(name="GetMarketCap",
 688 |                  description="Market capitalization history.")
 689 |     async def GetMarketCap(params: GetMarketCapRequest, ctx: Context) -> GetMarketCap200Response:
 690 |         return await _call_endpoint("market_cap", params, GetMarketCap200Response, ctx)
 691 | 
 692 |     @server.tool(name="GetTimeSeriesMinusDI",
 693 |                  description="The Minus Directional Indicator (MINUS_DI) is a component of the ADX indicator, measuring the strength of a security's downward price movement.")
 694 |     async def GetTimeSeriesMinusDI(params: GetTimeSeriesMinusDIRequest, ctx: Context) -> GetTimeSeriesMinusDI200Response:
 695 |         return await _call_endpoint("minus_di", params, GetTimeSeriesMinusDI200Response, ctx)
 696 | 
 697 |     @server.tool(name="GetETFsList",
 698 |                  description="This API request returns a list of exchange traded funds available at Twelve Data. Sorting is in descending order by total assets value. The list is updated daily.")
 699 |     async def GetETFsList(params: GetETFsListRequest, ctx: Context) -> GetETFsList200Response:
 700 |         return await _call_endpoint("etfs/list", params, GetETFsList200Response, ctx)
 701 | 
 702 |     @server.tool(name="GetBonds",
 703 |                  description="This API call returns an array of bonds available at Twelve Data API. This list is updated daily.")
 704 |     async def GetBonds(params: GetBondsRequest, ctx: Context) -> GetBonds200Response:
 705 |         return await _call_endpoint("bonds", params, GetBonds200Response, ctx)
 706 | 
 707 |     @server.tool(name="GetTimeSeriesAd",
 708 |                  description="The Accumulation/Distribution (AD) technical indicator is a volume-based tool used in chart analysis to identify potential buying or selling pressure in a security. It measures the cumulative flow of money into and out of a financial instrument by comparing its closing price to its price range, while considering trading volume. The AD line's trend can help traders gauge the strength of a price move and spot potential reversals.")
 709 |     async def GetTimeSeriesAd(params: GetTimeSeriesAdRequest, ctx: Context) -> GetTimeSeriesAd200Response:
 710 |         return await _call_endpoint("ad", params, GetTimeSeriesAd200Response, ctx)
 711 | 
 712 |     @server.tool(name="GetGrowthEstimates",
 713 |                  description="This API endpoint returns consensus analyst estimates over the company's growth rates for various periods. Calculation averages projections of numerous analysts, taking arbitrary parameters, such as earnings per share, revenue, etc.")
 714 |     async def GetGrowthEstimates(params: GetGrowthEstimatesRequest, ctx: Context) -> GetGrowthEstimates200Response:
 715 |         return await _call_endpoint("growth_estimates", params, GetGrowthEstimates200Response, ctx)
 716 | 
 717 |     @server.tool(name="GetMutualFundsList",
 718 |                  description="This API request returns a list of mutual funds available at Twelve Data. Sorting is in descending order by total assets value. The list is updated daily.")
 719 |     async def GetMutualFundsList(params: GetMutualFundsListRequest, ctx: Context) -> GetMutualFundsList200Response:
 720 |         return await _call_endpoint("mutual_funds/list", params, GetMutualFundsList200Response, ctx)
 721 | 
 722 |     @server.tool(name="GetKeyExecutives",
 723 |                  description="Returns key executive information for a specified symbol.")
 724 |     async def GetKeyExecutives(params: GetKeyExecutivesRequest, ctx: Context) -> GetKeyExecutives200Response:
 725 |         return await _call_endpoint("key_executives", params, GetKeyExecutives200Response, ctx)
 726 | 
 727 |     @server.tool(name="GetTimeSeriesStochRsi",
 728 |                  description="The Stochastic RSI (STOCHRSI) is an oscillator that applies the Stochastic formula to RSI values, providing a more sensitive indicator for identifying overbought or oversold conditions and potential trend reversals.")
 729 |     async def GetTimeSeriesStochRsi(params: GetTimeSeriesStochRsiRequest, ctx: Context) -> GetTimeSeriesStochRsi200Response:
 730 |         return await _call_endpoint("stochrsi", params, GetTimeSeriesStochRsi200Response, ctx)
 731 | 
 732 |     @server.tool(name="GetEpsTrend",
 733 |                  description="This API endpoint returns a breakdown of the estimated historical EPS changes at a given period.")
 734 |     async def GetEpsTrend(params: GetEpsTrendRequest, ctx: Context) -> GetEpsTrend200Response:
 735 |         return await _call_endpoint("eps_trend", params, GetEpsTrend200Response, ctx)
 736 | 
 737 |     @server.tool(name="GetIncomeStatementConsolidated",
 738 |                  description="Returns consolidated income statement of a company and expenses during a period (annual or quarter).")
 739 |     async def GetIncomeStatementConsolidated(params: GetIncomeStatementConsolidatedRequest, ctx: Context) -> GetIncomeStatementConsolidated200Response:
 740 |         return await _call_endpoint("income_statement/consolidated", params, GetIncomeStatementConsolidated200Response, ctx)
 741 | 
 742 |     @server.tool(name="GetExchangeSchedule",
 743 |                  description="This API call return exchanges details and trading hours.")
 744 |     async def GetExchangeSchedule(params: GetExchangeScheduleRequest, ctx: Context) -> GetExchangeSchedule200Response:
 745 |         return await _call_endpoint("exchange_schedule", params, GetExchangeSchedule200Response, ctx)
 746 | 
 747 |     @server.tool(name="GetEpsRevisions",
 748 |                  description="This API endpoint returns analysts’ revisions of a company's future quarterly and annual earnings per share (EPS) over the last week and month.")
 749 |     async def GetEpsRevisions(params: GetEpsRevisionsRequest, ctx: Context) -> GetEpsRevisions200Response:
 750 |         return await _call_endpoint("eps_revisions", params, GetEpsRevisions200Response, ctx)
 751 | 
 752 |     @server.tool(name="GetTimeSeriesPivotPointsHL",
 753 |                  description="The Pivot Points High Low (PIVOT_POINTS_HL) indicator calculates support and resistance levels based on the highest high and lowest low of a security's price over a specified period, providing potential entry and exit points.")
 754 |     async def GetTimeSeriesPivotPointsHL(params: GetTimeSeriesPivotPointsHLRequest, ctx: Context) -> GetTimeSeriesPivotPointsHL200Response:
 755 |         return await _call_endpoint("pivot_points_hl", params, GetTimeSeriesPivotPointsHL200Response, ctx)
 756 | 
 757 |     @server.tool(name="GetETFsWorld",
 758 |                  description="This API request returns a complete breakdown of a etf, including summary, performance, risk and composition.")
 759 |     async def GetETFsWorld(params: GetETFsWorldRequest, ctx: Context) -> GetETFsWorld200Response:
 760 |         return await _call_endpoint("etfs/world", params, GetETFsWorld200Response, ctx)
 761 | 
 762 |     @server.tool(name="GetFundHolders",
 763 |                  description="Returns the amount of the company’s available stock owned by mutual fund holders.")
 764 |     async def GetFundHolders(params: GetFundHoldersRequest, ctx: Context) -> GetFundHolders200Response:
 765 |         return await _call_endpoint("fund_holders", params, GetFundHolders200Response, ctx)
 766 | 
 767 |     @server.tool(name="GetTimeSeriesAvg",
 768 |                  description="The Average (AVG) indicator calculates the arithmetic mean of a data series over a specified period, often used to smooth out data fluctuations.")
 769 |     async def GetTimeSeriesAvg(params: GetTimeSeriesAvgRequest, ctx: Context) -> GetTimeSeriesAvg200Response:
 770 |         return await _call_endpoint("avg", params, GetTimeSeriesAvg200Response, ctx)
 771 | 
 772 |     @server.tool(name="GetMutualFundsWorld",
 773 |                  description="This API request returns a complete breakdown of a mutual fund, including summary, performance, risk, ratings, composition, purchase_info, and sustainability.")
 774 |     async def GetMutualFundsWorld(params: GetMutualFundsWorldRequest, ctx: Context) -> GetMutualFundsWorld200Response:
 775 |         return await _call_endpoint("mutual_funds/world", params, GetMutualFundsWorld200Response, ctx)
 776 | 
 777 |     @server.tool(name="GetETFsWorldSummary",
 778 |                  description="This API request returns a brief summary of a etf.")
 779 |     async def GetETFsWorldSummary(params: GetETFsWorldSummaryRequest, ctx: Context) -> GetETFsWorldSummary200Response:
 780 |         return await _call_endpoint("etfs/world/summary", params, GetETFsWorldSummary200Response, ctx)
 781 | 
 782 |     @server.tool(name="GetETFsFamily",
 783 |                  description="This API request returns a list of exchange traded funds families.")
 784 |     async def GetETFsFamily(params: GetETFsFamilyRequest, ctx: Context) -> GetETFsFamily200Response:
 785 |         return await _call_endpoint("etfs/family", params, GetETFsFamily200Response, ctx)
 786 | 
 787 |     @server.tool(name="GetTimeSeriesAvgPrice",
 788 |                  description="The Average Price (AVGPRICE) indicator computes the average of a security's open, high, low, and close prices, providing a simplified view of price action.")
 789 |     async def GetTimeSeriesAvgPrice(params: GetTimeSeriesAvgPriceRequest, ctx: Context) -> GetTimeSeriesAvgPrice200Response:
 790 |         return await _call_endpoint("avgprice", params, GetTimeSeriesAvgPrice200Response, ctx)
 791 | 
 792 |     @server.tool(name="GetCountries",
 793 |                  description="This API call returns an array of countries available at Twelve Data API with their ISO codes, names, capital, and currency.")
 794 |     async def GetCountries(params: GetCountriesRequest, ctx: Context) -> GetCountries200Response:
 795 |         return await _call_endpoint("countries", params, GetCountries200Response, ctx)
 796 | 
 797 |     @server.tool(name="GetTimeSeriesRvol",
 798 |                  description="The Relative Volume (RVOL) is a ratio that compares a security's current trading volume to its average trading volume over a specified period. By measuring volume activity relative to its historical norm, RVOL helps traders identify unusual market activity, potential breakouts, and the strength of price movements.")
 799 |     async def GetTimeSeriesRvol(params: GetTimeSeriesRvolRequest, ctx: Context) -> GetTimeSeriesRvol200Response:
 800 |         return await _call_endpoint("rvol", params, GetTimeSeriesRvol200Response, ctx)
 801 | 
 802 |     @server.tool(name="GetTimeSeriesAdxr",
 803 |                  description="The Average Directional Movement Index Rating (ADXR) is a smoothed version of ADX, providing a more stable measure of trend strength over time.")
 804 |     async def GetTimeSeriesAdxr(params: GetTimeSeriesAdxrRequest, ctx: Context) -> GetTimeSeriesAdxr200Response:
 805 |         return await _call_endpoint("adxr", params, GetTimeSeriesAdxr200Response, ctx)
 806 | 
 807 |     @server.tool(name="GetTimeSeriesWma",
 808 |                  description="The Weighted Moving Average (WMA) is a smoothing indicator that calculates the average price of a security over a specified period, with more weight given to recent prices, providing a more responsive view of price action.")
 809 |     async def GetTimeSeriesWma(params: GetTimeSeriesWmaRequest, ctx: Context) -> GetTimeSeriesWma200Response:
 810 |         return await _call_endpoint("wma", params, GetTimeSeriesWma200Response, ctx)
 811 | 
 812 |     @server.tool(name="GetTimeSeriesMom",
 813 |                  description="The Momentum (MOM) indicator measures the rate of change of a security's price over a specified period, helping traders identify potential price trends and reversals.")
 814 |     async def GetTimeSeriesMom(params: GetTimeSeriesMomRequest, ctx: Context) -> GetTimeSeriesMom200Response:
 815 |         return await _call_endpoint("mom", params, GetTimeSeriesMom200Response, ctx)
 816 | 
 817 |     @server.tool(name="GetTimeSeriesBeta",
 818 |                  description="The Beta indicator measures a security's sensitivity to market movements, comparing its price changes to a benchmark index to assess systematic risk.")
 819 |     async def GetTimeSeriesBeta(params: GetTimeSeriesBetaRequest, ctx: Context) -> GetTimeSeriesBeta200Response:
 820 |         return await _call_endpoint("beta", params, GetTimeSeriesBeta200Response, ctx)
 821 | 
 822 |     @server.tool(name="GetTimeSeriesCrsi",
 823 |                  description="The Connors RSI is a composite indicator combining the Relative Strength Index (RSI), the Rate of Change (ROC), and the Up/Down Length, providing a more comprehensive view of momentum and potential trend reversals.")
 824 |     async def GetTimeSeriesCrsi(params: GetTimeSeriesCrsiRequest, ctx: Context) -> GetTimeSeriesCrsi200Response:
 825 |         return await _call_endpoint("crsi", params, GetTimeSeriesCrsi200Response, ctx)
 826 | 
 827 |     @server.tool(name="GetTimeSeriesAdOsc",
 828 |                  description="The Accumulation/Distribution Oscillator (ADOSC) is a momentum indicator derived from the AD line, used to identify buying or selling pressure and potential trend reversals by comparing short-term and long-term price and volume trends.")
 829 |     async def GetTimeSeriesAdOsc(params: GetTimeSeriesAdOscRequest, ctx: Context) -> GetTimeSeriesAdOsc200Response:
 830 |         return await _call_endpoint("adosc", params, GetTimeSeriesAdOsc200Response, ctx)
 831 | 
 832 |     @server.tool(name="GetTimeSeriesRoc",
 833 |                  description="The Rate of Change (ROC) indicator measures the percentage change in a security's price over a specified period, helping traders identify potential price trends and reversals.")
 834 |     async def GetTimeSeriesRoc(params: GetTimeSeriesRocRequest, ctx: Context) -> GetTimeSeriesRoc200Response:
 835 |         return await _call_endpoint("roc", params, GetTimeSeriesRoc200Response, ctx)
 836 | 
 837 |     @server.tool(name="GetMutualFundsWorldPerformance",
 838 |                  description="This API request returns detailed performance of a mutual fund, including trailing, annual, quarterly, and load-adjusted returns.")
 839 |     async def GetMutualFundsWorldPerformance(params: GetMutualFundsWorldPerformanceRequest, ctx: Context) -> GetMutualFundsWorldPerformance200Response:
 840 |         return await _call_endpoint("mutual_funds/world/performance", params, GetMutualFundsWorldPerformance200Response, ctx)
 841 | 
 842 |     @server.tool(name="GetBalanceSheetConsolidated",
 843 |                  description="Returns consolidated balance sheet of a company showing the summary of assets, liabilities, and shareholders.")
 844 |     async def GetBalanceSheetConsolidated(params: GetBalanceSheetConsolidatedRequest, ctx: Context) -> GetBalanceSheetConsolidated200Response:
 845 |         return await _call_endpoint("balance_sheet/consolidated", params, GetBalanceSheetConsolidated200Response, ctx)
 846 | 
 847 |     @server.tool(name="GetMutualFundsWorldRatings",
 848 |                  description="This API request returns ratings of a mutual fund.")
 849 |     async def GetMutualFundsWorldRatings(params: GetMutualFundsWorldRatingsRequest, ctx: Context) -> GetMutualFundsWorldRatings200Response:
 850 |         return await _call_endpoint("mutual_funds/world/ratings", params, GetMutualFundsWorldRatings200Response, ctx)
 851 | 
 852 |     @server.tool(name="GetMutualFundsWorldSummary",
 853 |                  description="This API request returns a brief summary of a mutual fund.")
 854 |     async def GetMutualFundsWorldSummary(params: GetMutualFundsWorldSummaryRequest, ctx: Context) -> GetMutualFundsWorldSummary200Response:
 855 |         return await _call_endpoint("mutual_funds/world/summary", params, GetMutualFundsWorldSummary200Response, ctx)
 856 | 
 857 |     @server.tool(name="GetETFsType",
 858 |                  description="This API request returns a list of exchange traded funds types.")
 859 |     async def GetETFsType(params: GetETFsTypeRequest, ctx: Context) -> GetETFsType200Response:
 860 |         return await _call_endpoint("etfs/type", params, GetETFsType200Response, ctx)
 861 | 
 862 |     @server.tool(name="GetDirectHolders",
 863 |                  description="Returns the amount of the stocks owned directly and recorded in the company's share registry.")
 864 |     async def GetDirectHolders(params: GetDirectHoldersRequest, ctx: Context) -> GetDirectHolders200Response:
 865 |         return await _call_endpoint("direct_holders", params, GetDirectHolders200Response, ctx)
 866 | 
 867 |     @server.tool(name="GetTimeSeriesLinearReg",
 868 |                  description="The Linear Regression (LINEARREG) indicator calculates the best-fit straight line through a series of data points, helping traders identify trends and potential support or resistance levels.")
 869 |     async def GetTimeSeriesLinearReg(params: GetTimeSeriesLinearRegRequest, ctx: Context) -> GetTimeSeriesLinearReg200Response:
 870 |         return await _call_endpoint("linearreg", params, GetTimeSeriesLinearReg200Response, ctx)
 871 | 
 872 |     @server.tool(name="GetTimeSeriesTema",
 873 |                  description="The Triple Exponential Moving Average (TEMA) is a smoothing indicator that applies three exponential moving averages to price data, reducing lag and providing a more accurate representation of trends.")
 874 |     async def GetTimeSeriesTema(params: GetTimeSeriesTemaRequest, ctx: Context) -> GetTimeSeriesTema200Response:
 875 |         return await _call_endpoint("tema", params, GetTimeSeriesTema200Response, ctx)
 876 | 
 877 |     @server.tool(name="GetTimeSeriesKeltner",
 878 |                  description="The Keltner Channel (KELTNER) is a volatility-based indicator that uses a combination of EMA and the ATR to create a channel around a security's price. The channel helps traders identify potential overbought or oversold conditions, as well as trend direction and potential price breakouts.")
 879 |     async def GetTimeSeriesKeltner(params: GetTimeSeriesKeltnerRequest, ctx: Context) -> GetTimeSeriesKeltner200Response:
 880 |         return await _call_endpoint("keltner", params, GetTimeSeriesKeltner200Response, ctx)
 881 | 
 882 |     @server.tool(name="GetTimeSeriesKst",
 883 |                  description="The Know Sure Thing (KST) is a momentum oscillator that combines four different smoothed rates of change to generate a single trend-following indicator. By measuring the price momentum across multiple timeframes, KST helps traders identify potential trend reversals, overbought, or oversold conditions, and trading opportunities.")
 884 |     async def GetTimeSeriesKst(params: GetTimeSeriesKstRequest, ctx: Context) -> GetTimeSeriesKst200Response:
 885 |         return await _call_endpoint("kst", params, GetTimeSeriesKst200Response, ctx)
 886 | 
 887 |     @server.tool(name="GetMutualFundsWorldComposition",
 888 |                  description="This API request returns portfolio composition of a mutual fund, including sectors, holding details, weighted exposure, and others.")
 889 |     async def GetMutualFundsWorldComposition(params: GetMutualFundsWorldCompositionRequest, ctx: Context) -> GetMutualFundsWorldComposition200Response:
 890 |         return await _call_endpoint("mutual_funds/world/composition", params, GetMutualFundsWorldComposition200Response, ctx)
 891 | 
 892 |     @server.tool(name="GetMutualFundsWorldPurchaseInfo",
 893 |                  description="This API request returns essential information on purchasing a mutual fund, including minimums, pricing, and available brokerages.")
 894 |     async def GetMutualFundsWorldPurchaseInfo(params: GetMutualFundsWorldPurchaseInfoRequest, ctx: Context) -> GetMutualFundsWorldPurchaseInfo200Response:
 895 |         return await _call_endpoint("mutual_funds/world/purchase_info", params, GetMutualFundsWorldPurchaseInfo200Response, ctx)
 896 | 
 897 |     @server.tool(name="GetETFsWorldPerformance",
 898 |                  description="This API request returns detailed performance of a etf, including trailing and annual returns.")
 899 |     async def GetETFsWorldPerformance(params: GetETFsWorldPerformanceRequest, ctx: Context) -> GetETFsWorldPerformance200Response:
 900 |         return await _call_endpoint("etfs/world/performance", params, GetETFsWorldPerformance200Response, ctx)
 901 | 
 902 |     @server.tool(name="GetEdgarFilingsArchive",
 903 |                  description="Real-time and historical access to all forms, filings, and exhibits directly from the SEC's EDGAR system.")
 904 |     async def GetEdgarFilingsArchive(params: GetEdgarFilingsArchiveRequest, ctx: Context) -> GetEdgarFilingsArchive200Response:
 905 |         return await _call_endpoint("edgar_filings/archive", params, GetEdgarFilingsArchive200Response, ctx)
 906 | 
 907 |     @server.tool(name="GetTimeSeriesHtTrendMode",
 908 |                  description="The Hilbert Transform Trend vs Cycle Mode (HT_TRENDMODE) distinguishes between trending and cyclical market phases, helping traders adapt their strategies accordingly.  You can read more about it in the Rocket Science for Traders book by John F. Ehlers.")
 909 |     async def GetTimeSeriesHtTrendMode(params: GetTimeSeriesHtTrendModeRequest, ctx: Context) -> GetTimeSeriesHtTrendMode200Response:
 910 |         return await _call_endpoint("ht_trendmode", params, GetTimeSeriesHtTrendMode200Response, ctx)
 911 | 
 912 |     @server.tool(name="GetTimeSeriesMidPrice",
 913 |                  description="The Midprice (MIDPRICE) indicator calculates the average of a security's high and low prices over a specified period, providing a smoothed view of price action and potential support or resistance levels.")
 914 |     async def GetTimeSeriesMidPrice(params: GetTimeSeriesMidPriceRequest, ctx: Context) -> GetTimeSeriesMidPrice200Response:
 915 |         return await _call_endpoint("midprice", params, GetTimeSeriesMidPrice200Response, ctx)
 916 | 
 917 |     @server.tool(name="GetInstrumentType",
 918 |                  description="This API call returns a list of instrument types available at Twelve Data API.")
 919 |     async def GetInstrumentType(params: GetInstrumentTypeRequest, ctx: Context) -> GetInstrumentType200Response:
 920 |         return await _call_endpoint("instrument_type", params, GetInstrumentType200Response, ctx)
 921 | 
 922 |     @server.tool(name="GetTimeSeriesTrima",
 923 |                  description="The Triangular Moving Average (TRIMA) is a smoothing indicator that calculates the average price of a security over a specified period, weighting prices in the middle of the range more heavily, providing a balanced view of price action.")
 924 |     async def GetTimeSeriesTrima(params: GetTimeSeriesTrimaRequest, ctx: Context) -> GetTimeSeriesTrima200Response:
 925 |         return await _call_endpoint("trima", params, GetTimeSeriesTrima200Response, ctx)
 926 | 
 927 |     @server.tool(name="GetTimeSeriesDema",
 928 |                  description="The Double Exponential Moving Average (DEMA) is a more responsive moving average that reduces lag by giving more weight to recent price data, helping traders identify trends and potential entry or exit points.")
 929 |     async def GetTimeSeriesDema(params: GetTimeSeriesDemaRequest, ctx: Context) -> GetTimeSeriesDema200Response:
 930 |         return await _call_endpoint("dema", params, GetTimeSeriesDema200Response, ctx)
 931 | 
 932 |     @server.tool(name="GetTimeSeriesBop",
 933 |                  description="The Balance of Power (BOP) indicator measures the balance between buying and selling pressure in a security by comparing its open, high, low, and close prices, helping traders identify potential price trends.")
 934 |     async def GetTimeSeriesBop(params: GetTimeSeriesBopRequest, ctx: Context) -> GetTimeSeriesBop200Response:
 935 |         return await _call_endpoint("bop", params, GetTimeSeriesBop200Response, ctx)
 936 | 
 937 |     @server.tool(name="GetTimeSeriesMama",
 938 |                  description="The MESA Adaptive Moving Average (MAMA) is a moving average that adapts to price movement based on the dominant market cycle, providing a balance between responsiveness and noise reduction. More about MAMA can be read [here](http://www.mesasoftware.com/papers/MAMA.pdf).")
 939 |     async def GetTimeSeriesMama(params: GetTimeSeriesMamaRequest, ctx: Context) -> GetTimeSeriesMama200Response:
 940 |         return await _call_endpoint("mama", params, GetTimeSeriesMama200Response, ctx)
 941 | 
 942 |     @server.tool(name="GetTimeSeriesPpo",
 943 |                  description="The Percentage Price Oscillator (PPO) is a momentum oscillator that measures the percentage difference between two moving averages, helping traders identify potential trend reversals and trading opportunities.")
 944 |     async def GetTimeSeriesPpo(params: GetTimeSeriesPpoRequest, ctx: Context) -> GetTimeSeriesPpo200Response:
 945 |         return await _call_endpoint("ppo", params, GetTimeSeriesPpo200Response, ctx)
 946 | 
 947 |     @server.tool(name="GetMutualFundsWorldSustainability",
 948 |                  description="This API request returns brief information on mutual fund sustainability and ESG.")
 949 |     async def GetMutualFundsWorldSustainability(params: GetMutualFundsWorldSustainabilityRequest, ctx: Context) -> GetMutualFundsWorldSustainability200Response:
 950 |         return await _call_endpoint("mutual_funds/world/sustainability", params, GetMutualFundsWorldSustainability200Response, ctx)
 951 | 
 952 |     @server.tool(name="GetETFsWorldComposition",
 953 |                  description="This API request returns portfolio composition of a etf, including sectors, holding details, weighted exposure, and others.")
 954 |     async def GetETFsWorldComposition(params: GetETFsWorldCompositionRequest, ctx: Context) -> GetETFsWorldComposition200Response:
 955 |         return await _call_endpoint("etfs/world/composition", params, GetETFsWorldComposition200Response, ctx)
 956 | 
 957 |     @server.tool(name="GetMutualFundsWorldRisk",
 958 |                  description="This API request returns core metrics to measure the risk of investing in a mutual fund.")
 959 |     async def GetMutualFundsWorldRisk(params: GetMutualFundsWorldRiskRequest, ctx: Context) -> GetMutualFundsWorldRisk200Response:
 960 |         return await _call_endpoint("mutual_funds/world/risk", params, GetMutualFundsWorldRisk200Response, ctx)
 961 | 
 962 |     @server.tool(name="GetMutualFundsType",
 963 |                  description="This API request returns a list of mutual funds types.")
 964 |     async def GetMutualFundsType(params: GetMutualFundsTypeRequest, ctx: Context) -> GetMutualFundsType200Response:
 965 |         return await _call_endpoint("mutual_funds/type", params, GetMutualFundsType200Response, ctx)
 966 | 
 967 |     @server.tool(name="GetMutualFundsFamily",
 968 |                  description="This API request returns a list of mutual funds families.")
 969 |     async def GetMutualFundsFamily(params: GetMutualFundsFamilyRequest, ctx: Context) -> GetMutualFundsFamily200Response:
 970 |         return await _call_endpoint("mutual_funds/family", params, GetMutualFundsFamily200Response, ctx)
 971 | 
 972 |     @server.tool(name="GetCashFlowConsolidated",
 973 |                  description="Returns consolidated cash flow of a company showing the net amount of cash and cash equivalents being transferred into and out of business.")
 974 |     async def GetCashFlowConsolidated(params: GetCashFlowConsolidatedRequest, ctx: Context) -> GetCashFlowConsolidated200Response:
 975 |         return await _call_endpoint("cash_flow/consolidated", params, GetCashFlowConsolidated200Response, ctx)
 976 | 
 977 |     @server.tool(name="GetTimeSeriesWclPrice",
 978 |                  description="The Weighted Close Price (WCLPRICE) indicator calculates the average of a security's high, low, and close prices, with extra weight given to the close price, providing a balanced view of price action.")
 979 |     async def GetTimeSeriesWclPrice(params: GetTimeSeriesWclPriceRequest, ctx: Context) -> GetTimeSeriesWclPrice200Response:
 980 |         return await _call_endpoint("wclprice", params, GetTimeSeriesWclPrice200Response, ctx)
 981 | 
 982 |     @server.tool(name="GetTimeSeriesHtDcPeriod",
 983 |                  description="The Hilbert Transform Dominant Cycle Period (HT_DCPERIOD) identifies the dominant market cycle length, helping traders adapt their strategies to different market conditions.  You can read more about it in the Rocket Science for Traders book by John F. Ehlers.")
 984 |     async def GetTimeSeriesHtDcPeriod(params: GetTimeSeriesHtDcPeriodRequest, ctx: Context) -> GetTimeSeriesHtDcPeriod200Response:
 985 |         return await _call_endpoint("ht_dcperiod", params, GetTimeSeriesHtDcPeriod200Response, ctx)
 986 | 
 987 |     @server.tool(name="GetTimeSeriesMedPrice",
 988 |                  description="The Median Price (MEDPRICE) indicator calculates the midpoint between a security's high and low prices, providing a simplified view of price action.")
 989 |     async def GetTimeSeriesMedPrice(params: GetTimeSeriesMedPriceRequest, ctx: Context) -> GetTimeSeriesMedPrice200Response:
 990 |         return await _call_endpoint("medprice", params, GetTimeSeriesMedPrice200Response, ctx)
 991 | 
 992 |     @server.tool(name="GetTimeSeriesTypPrice",
 993 |                  description="The Typical Price (TYPPRICE) indicator calculates the average of a security's high, low, and close prices, providing a simplified view of price action.")
 994 |     async def GetTimeSeriesTypPrice(params: GetTimeSeriesTypPriceRequest, ctx: Context) -> GetTimeSeriesTypPrice200Response:
 995 |         return await _call_endpoint("typprice", params, GetTimeSeriesTypPrice200Response, ctx)
 996 | 
 997 |     @server.tool(name="GetTimeSeriesHtTrendline",
 998 |                  description="The Hilbert Transform Instantaneous Trendline (HT_TRENDLINE) is a smoothed moving average that follows the dominant market cycle, helping traders identify trends and potential entry or exit points.  You can read more about it in the Rocket Science for Traders book by John F. Ehlers.")
 999 |     async def GetTimeSeriesHtTrendline(params: GetTimeSeriesHtTrendlineRequest, ctx: Context) -> GetTimeSeriesHtTrendline200Response:
1000 |         return await _call_endpoint("ht_trendline", params, GetTimeSeriesHtTrendline200Response, ctx)
1001 | 
1002 |     @server.tool(name="GetTimeSeriesLinearRegAngle",
1003 |                  description="The Linear Regression Angle (LINEARREGANGLE) measures the angle of the linear regression line, indicating the slope and direction of the underlying trend.")
1004 |     async def GetTimeSeriesLinearRegAngle(params: GetTimeSeriesLinearRegAngleRequest, ctx: Context) -> GetTimeSeriesLinearRegAngle200Response:
1005 |         return await _call_endpoint("linearregangle", params, GetTimeSeriesLinearRegAngle200Response, ctx)
1006 | 
1007 |     @server.tool(name="GetTimeSeriesMinusDM",
1008 |                  description="The Minus Directional Movement (MINUS_DM) is a component of the ADX indicator, measuring the extent of a security's downward price movement.")
1009 |     async def GetTimeSeriesMinusDM(params: GetTimeSeriesMinusDMRequest, ctx: Context) -> GetTimeSeriesMinusDM200Response:
1010 |         return await _call_endpoint("minus_dm", params, GetTimeSeriesMinusDM200Response, ctx)
1011 | 
1012 |     @server.tool(name="GetTimeSeriesHtDcPhase",
1013 |                  description="The Hilbert Transform Dominant Cycle Phase (HT_DCPHASE) measures the current phase of the dominant market cycle, helping traders identify potential entry and exit points in relation to the cycle.  You can read more about it in the Rocket Science for Traders book by John F. Ehlers.")
1014 |     async def GetTimeSeriesHtDcPhase(params: GetTimeSeriesHtDcPhaseRequest, ctx: Context) -> GetTimeSeriesHtDcPhase200Response:
1015 |         return await _call_endpoint("ht_dcphase", params, GetTimeSeriesHtDcPhase200Response, ctx)
1016 | 
1017 |     @server.tool(name="GetTimeSeriesMidPoint",
1018 |                  description="The Midpoint (MIDPOINT) indicator calculates the midpoint of a data series over a specified period, often used to smooth out data fluctuations and identify trends.")
1019 |     async def GetTimeSeriesMidPoint(params: GetTimeSeriesMidPointRequest, ctx: Context) -> GetTimeSeriesMidPoint200Response:
1020 |         return await _call_endpoint("midpoint", params, GetTimeSeriesMidPoint200Response, ctx)
1021 | 
1022 |     @server.tool(name="GetTimeSeriesHtPhasor",
1023 |                  description="The Hilbert Transform Phasor Components (HT_PHASOR) decomposes a price series into in-phase and quadrature components, providing insight into cyclical patterns and trend direction.  You can read more about it in the Rocket Science for Traders book by John F. Ehlers.")
1024 |     async def GetTimeSeriesHtPhasor(params: GetTimeSeriesHtPhasorRequest, ctx: Context) -> GetTimeSeriesHtPhasor200Response:
1025 |         return await _call_endpoint("ht_phasor", params, GetTimeSeriesHtPhasor200Response, ctx)
1026 | 
1027 |     @server.tool(name="GetTimeSeriesUltOsc",
1028 |                  description="The Ultimate Oscillator (ULTOSC) is a momentum oscillator that combines short, intermediate, and long-term price action to identify potential overbought or oversold conditions and trend reversals.")
1029 |     async def GetTimeSeriesUltOsc(params: GetTimeSeriesUltOscRequest, ctx: Context) -> GetTimeSeriesUltOsc200Response:
1030 |         return await _call_endpoint("ultosc", params, GetTimeSeriesUltOsc200Response, ctx)
1031 | 
1032 |     @server.tool(name="GetTimeSeriesKama",
1033 |                  description="The Kaufman Adaptive Moving Average (KAMA) is a moving average that adjusts its length based on market volatility, providing a balance between responsiveness and noise reduction.")
1034 |     async def GetTimeSeriesKama(params: GetTimeSeriesKamaRequest, ctx: Context) -> GetTimeSeriesKama200Response:
1035 |         return await _call_endpoint("kama", params, GetTimeSeriesKama200Response, ctx)
1036 | 
1037 |     @server.tool(name="GetTimeSeriesTRange",
1038 |                  description="The True Range (TRANGE) indicator measures the range of price movement over a specified period, providing a volatility measure that helps traders identify potential trading opportunities and risk management.")
1039 |     async def GetTimeSeriesTRange(params: GetTimeSeriesTRangeRequest, ctx: Context) -> GetTimeSeriesTRange200Response:
1040 |         return await _call_endpoint("trange", params, GetTimeSeriesTRange200Response, ctx)
1041 | 
1042 |     @server.tool(name="GetTimeSeriesApo",
1043 |                  description="The Absolute Price Oscillator (APO) is a momentum indicator that measures the difference between two moving averages, helping traders identify potential price trends and reversals.")
1044 |     async def GetTimeSeriesApo(params: GetTimeSeriesApoRequest, ctx: Context) -> GetTimeSeriesApo200Response:
1045 |         return await _call_endpoint("apo", params, GetTimeSeriesApo200Response, ctx)
1046 | 
1047 |     @server.tool(name="GetTimeSeriesAroon",
1048 |                  description="The Aroon indicator detects the presence and strength of trends by measuring the time elapsed since the highest high and lowest low within a specific period.")
1049 |     async def GetTimeSeriesAroon(params: GetTimeSeriesAroonRequest, ctx: Context) -> GetTimeSeriesAroon200Response:
1050 |         return await _call_endpoint("aroon", params, GetTimeSeriesAroon200Response, ctx)
1051 | 
1052 |     @server.tool(name="GetTimeSeriesPlusDM",
1053 |                  description="The Plus Directional Movement (PLUS_DM) is a component of the ADX indicator, measuring the extent of a security's upward price movement.")
1054 |     async def GetTimeSeriesPlusDM(params: GetTimeSeriesPlusDMRequest, ctx: Context) -> GetTimeSeriesPlusDM200Response:
1055 |         return await _call_endpoint("plus_dm", params, GetTimeSeriesPlusDM200Response, ctx)
1056 | 
1057 |     @server.tool(name="GetTimeSeriesDx",
1058 |                  description="The Directional Movement Index (DX) is a component of the ADX indicator, measuring the strength of the positive and negative directional movements in a security's price.")
1059 |     async def GetTimeSeriesDx(params: GetTimeSeriesDxRequest, ctx: Context) -> GetTimeSeriesDx200Response:
1060 |         return await _call_endpoint("dx", params, GetTimeSeriesDx200Response, ctx)
1061 | 
1062 |     @server.tool(name="GetTimeSeriesStdDev",
1063 |                  description="The Standard Deviation (STDDEV) indicator measures the dispersion of a data series from its mean, often used as a volatility indicator to identify potential trading opportunities and risk management.")
1064 |     async def GetTimeSeriesStdDev(params: GetTimeSeriesStdDevRequest, ctx: Context) -> GetTimeSeriesStdDev200Response:
1065 |         return await _call_endpoint("stddev", params, GetTimeSeriesStdDev200Response, ctx)
1066 | 
1067 |     @server.tool(name="GetTimeSeriesMacdExt",
1068 |                  description="The MACD Extension (MACDEXT) is a customizable version of the MACD indicator, allowing traders to choose different moving average types and parameters for increased flexibility.")
1069 |     async def GetTimeSeriesMacdExt(params: GetTimeSeriesMacdExtRequest, ctx: Context) -> GetTimeSeriesMacdExt200Response:
1070 |         return await _call_endpoint("macdext", params, GetTimeSeriesMacdExt200Response, ctx)
1071 | 
1072 |     @server.tool(name="GetTimeSeriesNatr",
1073 |                  description="The Normalized Average True Range (NATR) is a volatility indicator that measures the average range of price movement over a specified period, expressed as a percentage of the security's price, allowing for comparisons across different securities.")
1074 |     async def GetTimeSeriesNatr(params: GetTimeSeriesNatrRequest, ctx: Context) -> GetTimeSeriesNatr200Response:
1075 |         return await _call_endpoint("natr", params, GetTimeSeriesNatr200Response, ctx)
1076 | 
1077 |     @server.tool(name="GetTimeSeriesCmo",
1078 |                  description="The Chande Momentum Oscillator (CMO) is a momentum indicator that measures the relative strength of up and down price movements, helping traders identify overbought or oversold conditions and potential trend reversals.")
1079 |     async def GetTimeSeriesCmo(params: GetTimeSeriesCmoRequest, ctx: Context) -> GetTimeSeriesCmo200Response:
1080 |         return await _call_endpoint("cmo", params, GetTimeSeriesCmo200Response, ctx)
1081 | 
1082 |     @server.tool(name="GetTimeSeriesCorrel",
1083 |                  description="The Correlation (CORREL) indicator measures the statistical relationship between two securities, helping traders identify potential diversification opportunities or pairs trading candidates.")
1084 |     async def GetTimeSeriesCorrel(params: GetTimeSeriesCorrelRequest, ctx: Context) -> GetTimeSeriesCorrel200Response:
1085 |         return await _call_endpoint("correl", params, GetTimeSeriesCorrel200Response, ctx)
1086 | 
1087 |     @server.tool(name="GetTimeSeriesMax",
1088 |                  description="The Maximum (MAX) indicator calculates the highest value of a data series over a specified period, often used to identify potential resistance levels or extreme price movements.")
1089 |     async def GetTimeSeriesMax(params: GetTimeSeriesMaxRequest, ctx: Context) -> GetTimeSeriesMax200Response:
1090 |         return await _call_endpoint("max", params, GetTimeSeriesMax200Response, ctx)
1091 | 
1092 |     @server.tool(name="GetTimeSeriesStochF",
1093 |                  description="The Stochastic Fast (STOCHF) is a variation of the Stochastic Oscillator, using fewer periods for calculation, making it more responsive to price changes but also more prone to false signals.")
1094 |     async def GetTimeSeriesStochF(params: GetTimeSeriesStochFRequest, ctx: Context) -> GetTimeSeriesStochF200Response:
1095 |         return await _call_endpoint("stochf", params, GetTimeSeriesStochF200Response, ctx)
1096 | 
1097 |     @server.tool(name="GetTimeSeriesHlc3",
1098 |                  description="The High, Low, Close Average (HLC3) indicator calculates the average of a security's high, low, and close prices, providing a simplified view of price action.")
1099 |     async def GetTimeSeriesHlc3(params: GetTimeSeriesHlc3Request, ctx: Context) -> GetTimeSeriesHlc3200Response:
1100 |         return await _call_endpoint("hlc3", params, GetTimeSeriesHlc3200Response, ctx)
1101 | 
1102 |     @server.tool(name="GetTimeSeriesAdd",
1103 |                  description="The Addition (ADD) indicator performs a simple arithmetic addition of two input data series, typically used to combine multiple technical indicators or price data.")
1104 |     async def GetTimeSeriesAdd(params: GetTimeSeriesAddRequest, ctx: Context) -> GetTimeSeriesAdd200Response:
1105 |         return await _call_endpoint("add", params, GetTimeSeriesAdd200Response, ctx)
1106 | 
1107 |     @server.tool(name="GetTimeSeriesAroonOsc",
1108 |                  description="The Aroon Oscillator is the difference between the Aroon Up and Aroon Down lines, indicating trend strength and potential reversals.")
1109 |     async def GetTimeSeriesAroonOsc(params: GetTimeSeriesAroonOscRequest, ctx: Context) -> GetTimeSeriesAroonOsc200Response:
1110 |         return await _call_endpoint("aroonosc", params, GetTimeSeriesAroonOsc200Response, ctx)
1111 | 
1112 |     @server.tool(name="advanced",
1113 |                  description="This endpoint allows you to request multiple instruments, intervals, and endpoints simultaneously.  ### Request body Only JSON `POST` requests are supported. The request content structure consists of key-value items. The key is a unique request ID. The value is requested url.  ### Response The response contains key-value data. The key is a unique request ID. The value is returned data.  ### API credits <ul> <li>The number of concurrent requests is limited by your subscription plan.</li> <li>Credits are consumed per requested endpoint, with the total usage equal to the sum of individual requests in the batch.</li> <li>If the requested data exceeds your available credits, only partial data will be returned asynchronously until your quota is exhausted.</li> <li>If one or more requests in the batch contain errors (e.g., invalid symbols or unsupported intervals), it will not affect the successful processing of other requests. Errors are reported individually within the response, allowing you to identify and correct specific issues without impacting the entire batch.</li> </ul>")
1114 |     async def advanced(params: AdvancedRequest, ctx: Context) -> Advanced200Response:
1115 |         return await _call_endpoint("batch", params, Advanced200Response, ctx)
1116 | 
1117 |     @server.tool(name="GetTimeSeriesCeil",
1118 |                  description="The Ceiling (CEIL) indicator rounds input data up to the nearest integer, often used in conjunction with other indicators for data analysis or calculation purposes.")
1119 |     async def GetTimeSeriesCeil(params: GetTimeSeriesCeilRequest, ctx: Context) -> GetTimeSeriesCeil200Response:
1120 |         return await _call_endpoint("ceil", params, GetTimeSeriesCeil200Response, ctx)
1121 | 
1122 |     @server.tool(name="GetTimeSeriesCoppock",
1123 |                  description="The Coppock Curve is a momentum oscillator that measures the rate of change in a security's price, helping traders identify potential long-term trend reversals, especially in bottoming markets.")
1124 |     async def GetTimeSeriesCoppock(params: GetTimeSeriesCoppockRequest, ctx: Context) -> GetTimeSeriesCoppock200Response:
1125 |         return await _call_endpoint("coppock", params, GetTimeSeriesCoppock200Response, ctx)
1126 | 
1127 |     @server.tool(name="GetTimeSeriesDiv",
1128 |                  description="The Division (DIV) indicator performs arithmetic division between two input data series, typically used to combine or normalize multiple technical indicators or price data.")
1129 |     async def GetTimeSeriesDiv(params: GetTimeSeriesDivRequest, ctx: Context) -> GetTimeSeriesDiv200Response:
1130 |         return await _call_endpoint("div", params, GetTimeSeriesDiv200Response, ctx)
1131 | 
1132 |     @server.tool(name="GetTimeSeriesDpo",
1133 |                  description="The Detrended Price Oscillator (DPO) is a momentum oscillator that removes the underlying trend from price data, helping traders identify potential cyclical patterns and overbought or oversold conditions.")
1134 |     async def GetTimeSeriesDpo(params: GetTimeSeriesDpoRequest, ctx: Context) -> GetTimeSeriesDpo200Response:
1135 |         return await _call_endpoint("dpo", params, GetTimeSeriesDpo200Response, ctx)
1136 | 
1137 |     @server.tool(name="GetETFsWorldRisk",
1138 |                  description="This API request returns core metrics to measure the risk of investing in a etf.")
1139 |     async def GetETFsWorldRisk(params: GetETFsWorldRiskRequest, ctx: Context) -> GetETFsWorldRisk200Response:
1140 |         return await _call_endpoint("etfs/world/risk", params, GetETFsWorldRisk200Response, ctx)
1141 | 
1142 |     @server.tool(name="GetTimeSeriesExp",
1143 |                  description="The Exponential (EXP) indicator calculates the exponential value of a given input, often used in advanced mathematical analysis or calculations in financial markets.")
1144 |     async def GetTimeSeriesExp(params: GetTimeSeriesExpRequest, ctx: Context) -> GetTimeSeriesExp200Response:
1145 |         return await _call_endpoint("exp", params, GetTimeSeriesExp200Response, ctx)
1146 | 
1147 |     @server.tool(name="GetTimeSeriesFloor",
1148 |                  description="The Floor (FLOOR) indicator rounds input data down to the nearest integer, often used in conjunction with other indicators for data analysis or calculation purposes.")
1149 |     async def GetTimeSeriesFloor(params: GetTimeSeriesFloorRequest, ctx: Context) -> GetTimeSeriesFloor200Response:
1150 |         return await _call_endpoint("floor", params, GetTimeSeriesFloor200Response, ctx)
1151 | 
1152 |     @server.tool(name="GetTimeSeriesHtSine",
1153 |                  description="The Hilbert Transform Sine Wave (HT_SINE) indicator calculates sine and cosine wave components based on the dominant market cycle, helping traders identify potential turning points and trend direction.  You can read more about it in the Rocket Science for Traders book by John F. Ehlers.")
1154 |     async def GetTimeSeriesHtSine(params: GetTimeSeriesHtSineRequest, ctx: Context) -> GetTimeSeriesHtSine200Response:
1155 |         return await _call_endpoint("ht_sine", params, GetTimeSeriesHtSine200Response, ctx)
1156 | 
1157 |     @server.tool(name="GetIntervals",
1158 |                  description="Returns a list of available time intervals for data requests.")
1159 |     async def GetIntervals(params: GetIntervalsRequest, ctx: Context) -> GetIntervals200Response:
1160 |         return await _call_endpoint("intervals", params, GetIntervals200Response, ctx)
1161 | 
1162 |     @server.tool(name="GetLastChanges",
1163 |                  description="Returns the latest changes of fundamental data. This endpoint helps consume API credits more efficiently and request new data once it is updated.")
1164 |     async def GetLastChanges(params: GetLastChangesRequest, ctx: Context) -> GetLastChanges200Response:
1165 |         return await _call_endpoint("last_change/{endpoint}", params, GetLastChanges200Response, ctx)
1166 | 
1167 |     @server.tool(name="GetTimeSeriesLinearRegIntercept",
1168 |                  description="The Linear Regression Intercept (LINEARREGINTERCEPT) calculates the point where the linear regression line intersects the vertical axis, providing a reference point for trend analysis.")
1169 |     async def GetTimeSeriesLinearRegIntercept(params: GetTimeSeriesLinearRegInterceptRequest, ctx: Context) -> GetTimeSeriesLinearRegIntercept200Response:
1170 |         return await _call_endpoint("linearregintercept", params, GetTimeSeriesLinearRegIntercept200Response, ctx)
1171 | 
1172 |     @server.tool(name="GetTimeSeriesLinearRegSlope",
1173 |                  description="The Linear Regression Slope (LINEARREGSLOPE) measures the steepness of the linear regression line, indicating the rate of change of the underlying trend.")
1174 |     async def GetTimeSeriesLinearRegSlope(params: GetTimeSeriesLinearRegSlopeRequest, ctx: Context) -> GetTimeSeriesLinearRegSlope200Response:
1175 |         return await _call_endpoint("linearregslope", params, GetTimeSeriesLinearRegSlope200Response, ctx)
1176 | 
1177 |     @server.tool(name="GetTimeSeriesLn",
1178 |                  description="The Natural Logarithm (LN) indicator calculates the natural logarithm of a given input value, often used in advanced mathematical analysis or calculations in financial markets.")
1179 |     async def GetTimeSeriesLn(params: GetTimeSeriesLnRequest, ctx: Context) -> GetTimeSeriesLn200Response:
1180 |         return await _call_endpoint("ln", params, GetTimeSeriesLn200Response, ctx)
1181 | 
1182 |     @server.tool(name="GetTimeSeriesLog10",
1183 |                  description="The Base-10 Logarithm (LOG10) indicator calculates the base-10 logarithm of a given input value, commonly used in advanced mathematical analysis or calculations in financial markets.")
1184 |     async def GetTimeSeriesLog10(params: GetTimeSeriesLog10Request, ctx: Context) -> GetTimeSeriesLog10200Response:
1185 |         return await _call_endpoint("log10", params, GetTimeSeriesLog10200Response, ctx)
1186 | 
1187 |     @server.tool(name="GetTimeSeriesMacdSlope",
1188 |                  description="The MACD Slope is the rate of change of the MACD line, helping traders identify the acceleration or deceleration of momentum in a security's price.")
1189 |     async def GetTimeSeriesMacdSlope(params: GetTimeSeriesMacdSlopeRequest, ctx: Context) -> GetTimeSeriesMacdSlope200Response:
1190 |         return await _call_endpoint("macd_slope", params, GetTimeSeriesMacdSlope200Response, ctx)
1191 | 
1192 |     @server.tool(name="GetMarketMovers",
1193 |                  description="Get the list of the top gaining or losing stocks today.  Top gainers are ordered by the highest rate of price increase since the previous day''s close. Top losers are ordered by the highest percentage of price decrease since the last day.  Data is available for all international equities, forex, crypto.")
1194 |     async def GetMarketMovers(params: GetMarketMoversRequest, ctx: Context) -> GetMarketMovers200Response:
1195 |         return await _call_endpoint("market_movers/{market}", params, GetMarketMovers200Response, ctx)
1196 | 
1197 |     @server.tool(name="GetTimeSeriesMaxIndex",
1198 |                  description="The Maximum Index (MAXINDEX) returns the index of the highest value in a data series over a specified period, providing information about the timing of extreme price movements.")
1199 |     async def GetTimeSeriesMaxIndex(params: GetTimeSeriesMaxIndexRequest, ctx: Context) -> GetTimeSeriesMaxIndex200Response:
1200 |         return await _call_endpoint("maxindex", params, GetTimeSeriesMaxIndex200Response, ctx)
1201 | 
1202 |     @server.tool(name="GetTimeSeriesMcGinleyDynamic",
1203 |                  description="The McGinley Dynamic (MCGINLEY_DYNAMIC) indicator is a smoothing tool designed to minimize the lag between the indicator and price action. It adjusts its speed based on the volatility of the security, providing a more accurate representation of price trends and potential support or resistance levels compared to traditional moving averages.")
1204 |     async def GetTimeSeriesMcGinleyDynamic(params: GetTimeSeriesMcGinleyDynamicRequest, ctx: Context) -> GetTimeSeriesMcGinleyDynamic200Response:
1205 |         return await _call_endpoint("mcginley_dynamic", params, GetTimeSeriesMcGinleyDynamic200Response, ctx)
1206 | 
1207 |     @server.tool(name="GetTimeSeriesMin",
1208 |                  description="The Minimum (MIN) indicator calculates the lowest value of a data series over a specified period, often used to identify potential support levels or extreme price movements.")
1209 |     async def GetTimeSeriesMin(params: GetTimeSeriesMinRequest, ctx: Context) -> GetTimeSeriesMin200Response:
1210 |         return await _call_endpoint("min", params, GetTimeSeriesMin200Response, ctx)
1211 | 
1212 |     @server.tool(name="GetTimeSeriesMinIndex",
1213 |                  description="The Minimum Index (MININDEX) returns the index of the lowest value in a data series over a specified period, providing information about the timing of extreme price movements.")
1214 |     async def GetTimeSeriesMinIndex(params: GetTimeSeriesMinIndexRequest, ctx: Context) -> GetTimeSeriesMinIndex200Response:
1215 |         return await _call_endpoint("minindex", params, GetTimeSeriesMinIndex200Response, ctx)
1216 | 
1217 |     @server.tool(name="GetTimeSeriesMinMax",
1218 |                  description="The Minimum and Maximum (MINMAX) indicator calculates the lowest and highest values of a data series over a specified period, often used to identify potential support and resistance levels or extreme price movements.")
1219 |     async def GetTimeSeriesMinMax(params: GetTimeSeriesMinMaxRequest, ctx: Context) -> GetTimeSeriesMinMax200Response:
1220 |         return await _call_endpoint("minmax", params, GetTimeSeriesMinMax200Response, ctx)
1221 | 
1222 |     @server.tool(name="GetTimeSeriesMinMaxIndex",
1223 |                  description="The Minimum and Maximum Index (MINMAXINDEX) returns the indices of the lowest and highest values in a data series over a specified period, providing information about the timing of extreme price movements.")
1224 |     async def GetTimeSeriesMinMaxIndex(params: GetTimeSeriesMinMaxIndexRequest, ctx: Context) -> GetTimeSeriesMinMaxIndex200Response:
1225 |         return await _call_endpoint("minmaxindex", params, GetTimeSeriesMinMaxIndex200Response, ctx)
1226 | 
1227 |     @server.tool(name="GetTimeSeriesMult",
1228 |                  description="The Multiplication (MULT) indicator performs arithmetic multiplication of two input data series, typically used to combine or normalize multiple technical indicators or price data.")
1229 |     async def GetTimeSeriesMult(params: GetTimeSeriesMultRequest, ctx: Context) -> GetTimeSeriesMult200Response:
1230 |         return await _call_endpoint("mult", params, GetTimeSeriesMult200Response, ctx)
1231 | 
1232 |     @server.tool(name="GetTimeSeriesRocp",
1233 |                  description="The Rate of Change Percentage (ROCP) indicator calculates the percentage change in a security's price over a specified period, providing insight into momentum and potential trend reversals.")
1234 |     async def GetTimeSeriesRocp(params: GetTimeSeriesRocpRequest, ctx: Context) -> GetTimeSeriesRocp200Response:
1235 |         return await _call_endpoint("rocp", params, GetTimeSeriesRocp200Response, ctx)
1236 | 
1237 |     @server.tool(name="GetTimeSeriesRocr",
1238 |                  description="The Rate of Change Ratio (ROCR) indicator measures the ratio of a security's current price to its price a specified number of periods ago, helping traders identify potential price trends and reversals.")
1239 |     async def GetTimeSeriesRocr(params: GetTimeSeriesRocrRequest, ctx: Context) -> GetTimeSeriesRocr200Response:
1240 |         return await _call_endpoint("rocr", params, GetTimeSeriesRocr200Response, ctx)
1241 | 
1242 |     @server.tool(name="GetTimeSeriesRocr100",
1243 |                  description="The Rate of Change Ratio 100 (ROCR100) indicator measures the percentage change in a security's price over a specified period, expressed as a ratio to 100, providing insight into momentum and potential trend reversals.")
1244 |     async def GetTimeSeriesRocr100(params: GetTimeSeriesRocr100Request, ctx: Context) -> GetTimeSeriesRocr100200Response:
1245 |         return await _call_endpoint("rocr100", params, GetTimeSeriesRocr100200Response, ctx)
1246 | 
1247 |     @server.tool(name="GetSourceSanctionedEntities",
1248 |                  description="This API endpoint returns a list of sanctioned entities for a given sanction source (ofac, uk, eu, au, etc)")
1249 |     async def GetSourceSanctionedEntities(params: GetSourceSanctionedEntitiesRequest, ctx: Context) -> GetSourceSanctionedEntities200Response:
1250 |         return await _call_endpoint("sanctions/{source}", params, GetSourceSanctionedEntities200Response, ctx)
1251 | 
1252 |     @server.tool(name="GetTimeSeriesSarExt",
1253 |                  description="The Parabolic SAR Extended (SAREXT) is a customizable version of the Parabolic SAR indicator, allowing traders to choose different parameters for increased flexibility in identifying potential entry and exit points.")
1254 |     async def GetTimeSeriesSarExt(params: GetTimeSeriesSarExtRequest, ctx: Context) -> GetTimeSeriesSarExt200Response:
1255 |         return await _call_endpoint("sarext", params, GetTimeSeriesSarExt200Response, ctx)
1256 | 
1257 |     @server.tool(name="GetTimeSeriesSqrt",
1258 |                  description="The Square Root (SQRT) indicator calculates the square root of a given input value, often used in advanced mathematical analysis or calculations in financial markets.")
1259 |     async def GetTimeSeriesSqrt(params: GetTimeSeriesSqrtRequest, ctx: Context) -> GetTimeSeriesSqrt200Response:
1260 |         return await _call_endpoint("sqrt", params, GetTimeSeriesSqrt200Response, ctx)
1261 | 
1262 |     @server.tool(name="GetTimeSeriesSub",
1263 |                  description="The Subtraction (SUB) indicator performs arithmetic subtraction of two input data series, typically used to combine or normalize multiple technical indicators or price data.")
1264 |     async def GetTimeSeriesSub(params: GetTimeSeriesSubRequest, ctx: Context) -> GetTimeSeriesSub200Response:
1265 |         return await _call_endpoint("sub", params, GetTimeSeriesSub200Response, ctx)
1266 | 
1267 |     @server.tool(name="GetTimeSeriesSum",
1268 |                  description="The Summation (SUM) indicator calculates the sum of a data series over a specified period, often used in conjunction with other indicators for data analysis or calculation purposes.")
1269 |     async def GetTimeSeriesSum(params: GetTimeSeriesSumRequest, ctx: Context) -> GetTimeSeriesSum200Response:
1270 |         return await _call_endpoint("sum", params, GetTimeSeriesSum200Response, ctx)
1271 | 
1272 |     @server.tool(name="GetTimeSeriesSuperTrendHeikinAshiCandles",
1273 |                  description="The Supertrend and Heikin Ashi Candles indicator delivers a combined analysis of trend-following signals and smoothed price action visualization, widely used for identifying trends and potential entry or exit points in trading.")
1274 |     async def GetTimeSeriesSuperTrendHeikinAshiCandles(params: GetTimeSeriesSuperTrendHeikinAshiCandlesRequest, ctx: Context) -> GetTimeSeriesSuperTrendHeikinAshiCandles200Response:
1275 |         return await _call_endpoint("supertrend_heikinashicandles", params, GetTimeSeriesSuperTrendHeikinAshiCandles200Response, ctx)
1276 | 
1277 |     @server.tool(name="GetTimeSeriesT3ma",
1278 |                  description="The Triple Exponential Moving Average (T3MA) is a smoothing indicator that applies three exponential moving averages to price data, reducing lag and providing a more accurate representation of trends.")
1279 |     async def GetTimeSeriesT3ma(params: GetTimeSeriesT3maRequest, ctx: Context) -> GetTimeSeriesT3ma200Response:
1280 |         return await _call_endpoint("t3ma", params, GetTimeSeriesT3ma200Response, ctx)
1281 | 
1282 |     @server.tool(name="GetTaxInfo",
1283 |                  description="This API endpoint returns tax information for the instrument.")
1284 |     async def GetTaxInfo(params: GetTaxInfoRequest, ctx: Context) -> GetTaxInfo200Response:
1285 |         return await _call_endpoint("tax_info", params, GetTaxInfo200Response, ctx)
1286 | 
1287 |     @server.tool(name="GetTimeSeriesTsf",
1288 |                  description="The Time Series Forecast (TSF) indicator projects future price levels based on linear regression analysis, helping traders identify potential support, resistance, and trend direction.")
1289 |     async def GetTimeSeriesTsf(params: GetTimeSeriesTsfRequest, ctx: Context) -> GetTimeSeriesTsf200Response:
1290 |         return await _call_endpoint("tsf", params, GetTimeSeriesTsf200Response, ctx)
1291 | 
1292 |     @server.tool(name="GetTimeSeriesVar",
1293 |                  description="The Variance (VAR) indicator measures the dispersion of a data series from its mean, often used as a volatility indicator to identify potential trading opportunities and risk management.")
1294 |     async def GetTimeSeriesVar(params: GetTimeSeriesVarRequest, ctx: Context) -> GetTimeSeriesVar200Response:
1295 |         return await _call_endpoint("var", params, GetTimeSeriesVar200Response, ctx)
1296 | 
```
Page 2/3FirstPrevNextLast