MCP App Store

Overview

Forinvest MCP: Real-Time Market Intelligence & Trading Integration Connect your AI assistant directly to the heartbeat of global financial markets. The Forinvest MCP (Model Context Protocol) app transforms ChatGPT into a powerful financial agent, providing secure, low-latency access to: Live Market Data: Instant access to BIST, VIOP, global indices, commodities, and crypto prices. Advanced Analytics: Professional-grade technical analysis tools and financial indicators at your fingertips. Smart Portfolio Insights: Seamlessly retrieve and analyze portfolio data with institutional precision. Seamless Connectivity: Built on the MCP standard for secure, bidirectional communication between ChatGPT and Forinvest's robust financial infrastructure. Whether you're tracking real-time price movements or seeking deep market analysis, Forinvest MCP provides the reliable data layer needed for informed decision-making. We provide a next-generation financial ecosystem, offering real-time Borsa Istanbul (BIST) data, AI-driven stock analysis, and comprehensive financial tools. Our platform streamlines investment processes by integrating deep-dive balance sheet metrics, brokerage expectations, and instant access to public disclosure (KAP) documents. Data collected: ForInvest account credentials (for OAuth authentication), symbol codes and date ranges you query, and session identifiers. Tool inputs and outputs are not stored beyond the active session. Financial data returned by tools is sent back to ChatGPT for display. No personal data is sold or used for advertising. Privacy Policy: https://mcp.forinvest.com/privacy.html

Tools

akdAt

ChatGPT
Returns broker transaction volume (AKD - Aracı Kurum Dağılımı) data for specified symbols or broker codes and date. Supports optional sorting in akdItem list using sortby and sortorder parameters. - sortby: Selects which numeric akdItem field to sort by. - sortorder: Sort direction, asc or desc (default: desc). - limit: Returns only the first N records from akdItem after sorting (optional). - codes: accepts symbol code/legacy code (GARAN, GARAN.E.BIST) and broker code/legacy code (BMK, BMK.B). - inputType (required): "symbol" | "broker". Use this to explicitly choose direction. - inputType=symbol: akdItem rows are brokers and brokerName is broker legal name. - inputType=broker: akdItem rows are symbols and brokerName is symbol display name (fallback: symbol code). When ranking top buyers or sellers, use sortby: NetAmount and sortorder: desc. Example (symbol -> brokers): codes: [GARAN], inputType: symbol, type: E, at: 20250118 Example (broker -> symbols): codes: [CIM], inputType: broker, type: E, at: 20250118 Note: No data for weekends Output: { "akdItem": [ { "brokerName": "GARAN", "TotalBuyVolume": 0, "TotalBuyAmount": 0, "TotalSellVolume": 0, "TotalSellAmount": 0, "BuyPrice": 0, "NetAmount": 0, "NetVolume": 0, "Cost": 0, "SellPrice": 0, "TotalAmount": 0, "TotalVolume": 0 } ], "GrandNetVolume": 0, "GrandNetAmount": 0, "GrandBuyAmount": 0, "GrandSellAmount": 0, "GrandBuyVolume": 0, "GrandSellVolume": 0, "GrandTotalVolume": 0, "GrandTotalAmount": 0 }

balanceSheets

ChatGPT
Returns balance sheet line items (assets, liabilities, equity) for the most recent periods. Period discovery uses the balance sheet nature endpoint; returns up to the requested limit per symbol. Example: balanceSheets with codes: ["GARAN", "ASELS"], limit: 4, consolidated: true — parallel execution.

brokerDefinitions

ChatGPT
Resolves one or more broker codes to full brokerage firm records: BrokerId, BrokerCode, BrokerShortName, BrokerName, BrokerLegacyCode, BrokerType, BrokerStatus. Matches both internal codes (GDK) and legacy codes (GDK.B). Example: brokerDefinitions with brokerCodes: ["GDK", "FNY.B"] Use when you have broker codes from settlementAt, akdAt, or transaction and need their names.

cashFlows

ChatGPT
Returns cash flow statement line items (operating/investing/financing activities) with description, value, and lineCodeId. Periods discovered from balance sheet nature endpoint; returns up to the requested limit per symbol. Example: codes: ["GARAN", "ASELS"], limit: 4, consolidated: true — parallel execution.

changeStatisticsMulti

ChatGPT
Returns percentage and nominal price changes across multiple timeframes (daily, weekly, monthly, 3M, 6M, YTD, 1Y, 3Y, 5Y, all-time). Example: changeStatisticsMulti with codes: ["GARAN", "ASELS"]

chart

ChatGPT
Generates PNG chart images from historical price data using Canvas. Returns: PNG image as base64 encoded data via MCP image response. Chart Types: line, area, column, bar, pie Data Source: Uses historicalLast or historicalFromTo based on parameters Limitation: Supports up to 10 unique codes per request. Example usage: - Line chart with last 100 candles: chart with codes: [GARAN], chartType: line, resolution: 1440, last: 100 - Multiple symbols area chart: chart with codes: [GARAN, ASELS], chartType: area, resolution: 1440, from: 20241101000000, to: 20250101000000

companyInfos

ChatGPT
Returns detailed company profile: BistCode, IpoDate, EstablishmentDate, Phone, FieldOfActivity, RegisteredCapital, GeneralManager, NumberOfEmployee, Address, Website, BoardMembers, CompanyName, Partners (subsidiaries with ownership %), Shareholders (major shareholders with %), ExchangePosition (FX assets/liabilities/net position). Example: companyInfos with codes: ["GARAN", "ASELS", "THYAO"] — parallel execution.

depths

ChatGPT
Returns market depth (order book) data for given symbols via socket snapshot. Field Reference: - Bid: b0-b9 (prices), q0-q9 (lots), v0-v9 (amounts), bg (weighted avg), bl (total) - Ask: a0-a9 (prices), k0-k9 (lots), w0-w9 (amounts), ag (weighted avg), al (total) - Level 0 = best price, Level 9 = furthest from market Example: depths with codes: ["GARAN", "ASELS", "THYAO"]

dividendChamps

ChatGPT
Returns top 20 BIST stocks by dividend yield (%) per year within a specified year range. Example: dividendChamps with from: 2023, to: 2024

economicCalendar

ChatGPT
Returns economic calendar events: date, country, event name, importance level (1-3), and actual/forecast/previous values. Filters by country code (default: TR). Date format: YYYYMMDDHHmmss. Example: economicCalendar with countryCode: "US", from/to for date range.

financialStatementDates

ChatGPT
Returns financial statement announcement dates for BIST companies: SymbolCode, AnnouncementDate, Year, Period, IsConsolidated. Example: financialStatementDates with year: 2025, period: 1, last: 100

forecastAverages

ChatGPT
Returns analyst consensus target prices (lowest/average/highest) and buy/sell/hold recommendation counts per symbol. Example: forecastAverages with symbolCodes: ["GARAN", "THYAO"] — or omit symbolCodes for all symbols. Parallel execution.

forecastByBrokerOrSymbol

ChatGPT
Returns target price forecasts filtered by broker and/or symbol: BrokerCode, SymbolCode, TargetPrice, TargetPriceDate, ForecastWeight. At least one of brokerCode or symbolCode must be provided. Example: forecastByBrokerOrSymbol with brokerCode: "ACP", symbolCode: "GARAN"

forecastHistory

ChatGPT
Returns historical price target revisions by broker for a symbol: TargetPrice, PreviousTargetPrice, OpinionId (1=Sell, 2=Hold, 3=Buy), NewsContent. Example: forecastHistory with brokerCode: "FNY", symbolCode: "GARAN"

fundamentalAnalysisLast

ChatGPT
Calculates fundamental analysis metrics (temel analiz) for one or multiple stock symbols. Returns per symbol: EarningsPerShare (HBK), PriceToEarningsRatio (F/K), FreeFloatMarketValue (FD), FreeFloatShareCount (FDH), FreeFloatPercentage (FDO), NetProfit (NK), NetDividend (NT), PriceToBookRatio (PD/DD), ReturnOnEquityPercentage (ROE), MarketCapitalization (PD), PublicShareCount (HH), NominalCapital (SN), PublicOfferingPercentage (HAO), ShareholdersEquity (ÖS), DividendYieldOnNominalPercentage (TP), DividendPayoutPercentage (TDO), ReportingPeriod. Example: fundamentalAnalysisLast with codes: ["GARAN", "THYAO"] — parallel execution.

futureSplit

ChatGPT
Returns future stock split schedule: SymbolCode, AnnouncementDate, BonusIssuePercentage, RightsIssuePercentage, DividendPercentage, IsSpkApproved, FutureCapital, CurrentCapital, SplitEffectiveDate. Example: futureSplit with codes: ["GARAN", "ASELS"] — or omit codes for all symbols. Parallel execution.

heatMap

ChatGPT
Returns hierarchical XU100 index tree with nested sectors/subsectors. Each node: code, changePercentage, calculation (market value), childs array.

historicalFromTo

ChatGPT
Returns historical OHLCV price data for specified symbol(s) within a date/time range. Usable for BIST and US markets. Fields: Timestamp, OpenPrice, HighPrice, LowPrice, ClosePrice, Volume, TradeAmount, WeightedAveragePrice, OpenInterest. Max 10 codes per request. Example: historicalFromTo with codes: ["GARAN", "ASELS"], period: "1440", from: "20241101000000", to: "20250101000000" — parallel execution.

historicalLast

ChatGPT
Returns the last N historical OHLCV price entries for specified symbol(s). Usable for BIST and US markets. Fields: Timestamp, OpenPrice, HighPrice, LowPrice, ClosePrice, Volume, TradeAmount, WeightedAveragePrice, OpenInterest. Max 10 codes per request. Example: historicalLast with codes: ["GARAN", "ASELS"], resolution: "1440", last: 100 — parallel execution.

holidays

ChatGPT
Returns BIST exchange holidays and early-close days with dates, status, and close time.

incomeStatements

ChatGPT
Returns income statement line items (interest income/expense, fees, trading profit, operating income/expense, net profit, tax, EPS) with description, value, and lineCodeId. Example: incomeStatements with codes: ["GARAN", "ASELS"], consolidated: true, term: "2024-3" — parallel execution.

indicatorFromTo

ChatGPT
Returns technical indicator calculations for a specified symbol within a given date range. Provides indicator values by providing code, time period, date range (from/to) and query parameters which include indicator parameters. Period Parameter Rules: - Supported values are positive integers in range 1-1440 and special values "w", "m", "y" - Minute periods between 1 and 60 are accepted (e.g., 1, 5, 7, 15, 30, 60) - Special values: "w" (week), "m" (month), "y" (year) - If period > 60, it must be divisible by 60 (e.g., 120, 240, 1440) Date Format: yyyyMMddHHmmss (e.g., 20251201000000) Indicator Stability Note: - Indicator values can vary when the requested date range is too narrow. - Expanding the from/to window generally stabilizes final indicator values (especially RSI/MACD family indicators). - Very short ranges may return null for some indicators (for example, RSI with period 14 often needs more than 14 bars). Indicator Parameter Syntax: Each indicator has specific parameter names. Format: "param1:value-param2:value" | Indicator | Parameters | Example | |-----------|------------|---------| | ADX | per (Period) | "per:14" | | ADXR | per (Period) | "per:14" | | APO | fast (Fast Period), slow (Slow Period) | "fast:12-slow:26" | | ARO | per (Period) | "per:25" | | ATR | per (Period) | "per:14" | | BOL | per (Period), devu (Upper Deviation), devd (Lower Deviation) | "per:20-devu:2-devd:2" | | CCI | per (Period) | "per:20" | | DEMA | per (Period) | "per:9" | | DX | per (Period) | "per:14" | | EMA | per (Period) | "per:9" | | ENVE | per (Period), perc (Percent) | "per:20-perc:2.5" | | ENVS | per (Period), perc (Percent) | "per:20-perc:2.5" | | ENVW | per (Period), perc (Percent) | "per:20-perc:2.5" | | MACD | fast (Fast Period), slow (Slow Period), sig (Signal Period) | "fast:12-slow:26-sig:9" | | MOM | per (Period) | "per:10" | | PPO | fast (Fast Period), slow (Slow Period) | "fast:12-slow:26" | | PVT | (value only, no params) | "classic", "camarilla", "fibonacci", "woodie" | | RSI | per (Period) | "per:14" | | SAR | acc (Acceleration), max (Maximum) | "acc:0.02-max:0.2" | | SMA | per (Period) | "per:20" | | STOCHRSI | fastk (Fast K), fastd (Fast D), per (Period) | "fastk:14-fastd:14-per:14" | | STOF | fastk (Fast K Period), fastd (Fast D Period) | "fastk:14-fastd:3" | | STOS | fastk (Fast K), slowk (Slow K), slowd (Slow D) | "fastk:14-slowk:3-slowd:3" | | T3 | per (Period), vfactor (Volume Factor 0-1) | "per:5-vfactor:0.7" | | TEMA | per (Period) | "per:9" | | TSF | per (Period) | "per:14" | | VOL | per (Period), dev (Deviation) | "per:20-dev:2" | | WIL | per (Period) | "per:14" | | WMA | per (Period) | "per:9" | Example Requests: - RSI: code: "GARAN", period: "1440", from: "20251101000000", to: "20251201235959", RSI: "per:14" - MACD: code: "GARAN", period: "1440", from: "20251101000000", to: "20251201235959", MACD: "fast:12-slow:26-sig:9" - Bollinger: code: "GARAN", period: "1440", from: "20251101000000", to: "20251201235959", BOL: "per:20-devu:2-devd:2" - Combined: code: "GARAN", period: "1440", from: "20251101000000", to: "20251201235959", RSI: "per:14", MACD: "fast:12-slow:26-sig:9", BOL: "per:20-devu:2-devd:2"

indicatorLast

ChatGPT
Returns the latest technical indicator calculation result (single data point) for specified symbol(s). This tool requests indicator history from upstream using the given last value, then returns only the most recent data point per symbol. Provides indicator values by code, period, lookback window (last), and indicator query parameters. Output Behavior: - Returns exactly 1 data point per symbol (latest point only) - last controls the upstream lookback request, not the number of items returned to the client Indicator Stability Note: - Latest indicator values can vary when lookback history is short. - Increasing last generally stabilizes the latest value (especially RSI/MACD family indicators). - Very short history may return null for some indicators (for example, RSI with period 14 often needs more than 14 bars). Period Parameter (number | "w" | "m" | "y"): - Pass as a number (not a string) for minute-based periods: 1, 5, 15, 30, 60, 120, 240, 1440 - Pass as a string only for special values: "w" (weekly), "m" (monthly), "y" (yearly) - Valid numeric range: 1–1440. If > 60, must be divisible by 60 - Default: 1440 (daily candles) Indicator Parameter Syntax: Each indicator has specific parameter names. Format: "param1:value-param2:value" | Indicator | Parameters | Example | |-----------|------------|---------| | ADX | per (Period) | "per:14" | | ADXR | per (Period) | "per:14" | | APO | fast (Fast Period), slow (Slow Period) | "fast:12-slow:26" | | ARO | per (Period) | "per:25" | | ATR | per (Period) | "per:14" | | BOL | per (Period), devu (Upper Deviation), devd (Lower Deviation) | "per:20-devu:2-devd:2" | | CCI | per (Period) | "per:20" | | DEMA | per (Period) | "per:9" | | DX | per (Period) | "per:14" | | EMA | per (Period) | "per:9" | | ENVE | per (Period), perc (Percent) | "per:20-perc:2.5" | | ENVS | per (Period), perc (Percent) | "per:20-perc:2.5" | | ENVW | per (Period), perc (Percent) | "per:20-perc:2.5" | | MACD | fast (Fast Period), slow (Slow Period), sig (Signal Period) | "fast:12-slow:26-sig:9" | | MOM | per (Period) | "per:10" | | PPO | fast (Fast Period), slow (Slow Period) | "fast:12-slow:26" | | PVT | (value only, no params) | "classic", "camarilla", "fibonacci", "woodie" | | RSI | per (Period) | "per:14" | | SAR | acc (Acceleration), max (Maximum) | "acc:0.02-max:0.2" | | SMA | per (Period) | "per:20" | | STOCHRSI | fastk (Fast K), fastd (Fast D), per (Period) | "fastk:14-fastd:14-per:14" | | STOF | fastk (Fast K Period), fastd (Fast D Period) | "fastk:14-fastd:3" | | STOS | fastk (Fast K), slowk (Slow K), slowd (Slow D) | "fastk:14-slowk:3-slowd:3" | | T3 | per (Period), vfactor (Volume Factor 0-1) | "per:5-vfactor:0.7" | | TEMA | per (Period) | "per:9" | | TSF | per (Period) | "per:14" | | VOL | per (Period), dev (Deviation) | "per:20-dev:2" | | WIL | per (Period) | "per:14" | | WMA | per (Period) | "per:9" | Example Requests (note: period is a number, not a string): - Latest RSI (daily): codes: ["GARAN"], period: 1440, last: 100, indicators: [{"RSI": "per:14"}] - Latest MACD (hourly): codes: ["GARAN"], period: 60, last: 100, indicators: [{"MACD": "fast:12-slow:26-sig:9"}] - Latest Bollinger (daily): codes: ["GARAN"], period: 1440, last: 100, indicators: [{"BOL": "per:20-devu:2-devd:2"}] - Latest combined (daily): codes: ["GARAN"], period: 1440, last: 100, indicators: [{"RSI": "per:14"}, {"MACD": "fast:12-slow:26-sig:9"}, {"BOL": "per:20-devu:2-devd:2"}] - Weekly period: codes: ["GARAN"], period: "w", last: 100, indicators: [{"RSI": "per:14"}] Max last value: 1400 last Parameter: - Default: 1000 - Determines how much history is requested from upstream before selecting the latest point - Returned item count remains 1 per symbol

intradayFromTo

ChatGPT
Returns intraday OHLCV price data for specified symbol(s) within a date range. Important input rules: - codes must be an array of symbol strings like ["THYAO", "AKBNK"] - period must be a JSON string, not a number. Supported values: "1", "5", "15", "30", "60", "1440", "w", "m", "y" - from and to must be JSON strings in yyyyMMddHHmmss format - Do not send ISO timestamps like "2026-04-14T09:40:00" - Do not double-quote values inside strings. Use "5", not "\"5\"" Valid JSON example: ``json { "codes": ["THYAO", "AKBNK"], "period": "5", "from": "20260414094000", "to": "20260414180500" } ` **Common invalid examples:** - period: 5 - period: "\"5\"" - from: 20260414094000 - from: "2026-04-14T09:40:00"`

kapFundDetails

ChatGPT
Returns detailed fund information (TEFAS funds) from KAP: fund manager, portfolio managers, investment strategy, risk indicator, trading details (settlement periods, cut-off times, min/max quantities), and commissions. Provide exactly one of kapFundCode or legacyCode.

lastQuarterRatios

ChatGPT
Returns latest quarter financial metrics: NetProfit, GrossProfit, EBITDA, ROA, ROE, CompanyValue, TotalAssets, NetSales, debt ratios, and YearOverYearProfit. Example: lastQuarterRatios with codes: ["GARAN", "ASELS", "THYAO"] — parallel execution.

liquidity

ChatGPT
Returns liquidity analysis: market value, trading volumes, transaction ratios, free float data for specified instruments over a time period. Example: liquidity with codes: ["GARAN", "ASELS"], period: "1440", from: "20250101000000", to: "20250110000000"

marketData

ChatGPT
Returns real-time snapshot: symbol code, last price, daily change %, volume, and custom fields (l=last, C=change%, v=volume, E=code, h=high, o=open). Supports sorting and limiting. Usable for BIST and US markets.

news

ChatGPT
Returns financial news articles or KAP announcements with related stocks, tags, header, content, attachments, and publish date. Supports sources: FRKS, KAP, PICNEWS, IHA. - tags: array of strings, e.g. ["GARAN"] or ["FRKS-Y", "GARAN"]. Multiple entity tags are fetched in parallel, deduplicated, and sorted by date. Tags: FRKS-H=Enerji, FRKS-E=Menkul Piyasalar, FRKS-D=Kıymetli Metal, FRKS-F=Firma, FRKS-S=Genel, FRKS-U=Metal, FRKS-G=Ürün, FRKS-Y=Analiz Yorum, FRKS-I=Döviz, FRKS-T=Lojistik, FRKS-K=Kripto, FRKS-A=Ekonomi, FRKS-W=Son Dakika, FRKS-X=Flaş, FRKS-L=Halka Arz, FRKS-Q=Temettü, FRKS-P=Anket, FRKS-R=Şirketler

nonCurrentAssetPurchase

ChatGPT
Returns KAP-disclosed fixed asset purchases: CompanyCode, TransactionDate, TransactionValue, TryEquivalent, NonCurrentAssetTransactionRatio, NatureOfNonCurrentAsset, ImpactOfTheTransaction, LocationOfNonCurrentAsset. Example: nonCurrentAssetPurchase with from: "20230101", to: "20231231", last: 10

nonCurrentAssetSale

ChatGPT
Returns KAP-disclosed fixed asset sales: CompanyCode, TransactionDate, TransactionValue, TryEquivalent, NonCurrentAssetTransactionRatio, NatureOfNonCurrentAsset, ImpactOfTheTransaction, LocationOfNonCurrentAsset. Example: nonCurrentAssetSale with from: "20230101", to: "20231231", last: 10

portfolioAverages

ChatGPT
Returns broker consensus target prices: lowest, average, highest price forecasts and analyst count per symbol. Example: portfolioAverages with symbolCodes: ["GARAN", "ASELS"] — or omit symbolCodes for all symbols. Parallel execution.

portfolioListByBrokerOrSymbol

ChatGPT
Retrieves broker target prices, portfolio weights, and price dates per symbol or broker. - symbolCode: Returns all brokers' target prices for that symbol - brokerCode: Returns all symbols in that broker's portfolio Exactly one parameter is required. Example: portfolioListByBrokerOrSymbol with symbolCode: "GARAN"

portfolioUpdates

ChatGPT
Returns recent broker model portfolio changes: symbol code, number of portfolios holding it, and each broker's target price with update date. - last: Number of days to look back (1, 7, 14, or 30). Default: 7 Example: portfolioUpdates with last: 7

priceAnalysis

ChatGPT
Returns price ladder analysis: total buy/ask amounts, weighted avg prices, buy-ask ratio, and price levels array with amounts split by buyer/seller type for each price point. Example: priceAnalysis with codes: ["GARAN", "ASELS"], at: "20250110" — parallel execution.

publicOfferingAll

ChatGPT
Returns all public offerings (IPOs) list: CompanyCode, CompanyName, PublicOfferingId. Some offerings may not have a CompanyCode yet if in early stages. Example: publicOfferingAll (no parameters)

publicOfferingCalendar

ChatGPT
Returns IPO calendar for Turkish stocks: CompanyCode, CompanyName, Market, IpoAmount (total/secondary/capital increase), IpoLowPrice, IpoHighPrice, BookBuildingDates, FirstTransactionDate, IpoPlatform, IpoDistributionType, Brokers, IpoStatus. Example: publicOfferingCalendar with from: "2024", to: "2024"

publicOfferingDetail

ChatGPT
Returns detailed IPO information for a specific company: IpoAmount, PreIpoCapital, PostIpoCapital, prices, BookBuildingDates, FirstTransactionDate, Brokers, IpoDistributionStatistics, IpoStatus. Example: publicOfferingDetail with companyCode: "ARMGD"

quarterRatioMulti

ChatGPT
Returns financial ratio analysis for multiple selected periods: liquidity, profitability, debt ratios, etc. Example: quarterRatioMulti with codes: ["GARAN", "ASELS"], term: "2024-3", iry: 4 — parallel execution.

searchSymbol

ChatGPT
Searches ForInvest symbol definitions across BIST, VIOP, SPOT, FX, Crypto, CBOE exchanges. Returns matching codes with names and types. Use when: You need to find the correct symbol code for a company name, ticker, or instrument. Example: searchSymbol with key: "Garanti" or key: "THYAO"

settlementAt

ChatGPT
Returns broker-level settlement (custody) data for symbol(s) or broker code(s) on a specific date. Accepts both symbol codes (GARAN) and broker codes (TBY) as input. Fields: BrokerCode, Amount, DailyDelta, WeeklyDelta, MonthlyDelta, QuarterlyDelta, ShortSale2Day/1Day/Day, Price, TotalSettlement. Optional: rc (broker filter), sortby, sortorder, limit for BrokerPositions. Example: settlementAt with codes: ["GARAN"], at: "20250110", sortby: "Amount", sortorder: "desc", limit: 5

settlementLast

ChatGPT
Returns last N days of broker settlement (custody/takas) data for symbol(s) or broker code(s). Accepts both symbol codes (GARAN) and broker codes (TBY) as input. Data: InstrumentCode, Date, Price, TotalSettlement, BrokerPositions (BrokerCode, Amount, DailyDelta, WeeklyDelta, MonthlyDelta, QuarterlyDelta, Spot2Day, Spot1Day, SpotDay). Common foreign broker codes: CIY.B, DBY.B, TEB.B, JPY.B Foreign ownership %: Sum foreign broker Amounts / TotalSettlement × 100 Optional parameters: - f: Field filter (i, i.rc, i.a, i.dd, i.wd, i.md, i.qd). Cannot be used with rc. - rc: Broker code filter. Cannot be used with f. - Routing: If user asks for a broker's holdings, pass broker code in codes (not rc). - sortby, sortorder, limit: Sort/limit BrokerPositions per day. Example: settlementLast with codes: ["GARAN"], last: 10, sortby: "Amount", sortorder: "desc", limit: 5

settlementRatioTopBottom

ChatGPT
Returns top/bottom securities by settlement ratio change between two dates. Tracked brokers: FOREIGN (CIY.B, DBY.B, TEB.B), FUND (XEM.A, XYA.B). Fields: SymbolCode, RatioChangePercentage, FromPeriod/ToPeriod (Date, SettlementRatio, TrackedBrokerAmount, TotalLots). Example: settlementRatioTopBottom with direction: "TOP", period: "WEEKLY", size: 5, brokerType: "FOREIGN"

shortSalesAggregateVolume

ChatGPT
Returns aggregate short sales data by symbol for a date range: SymbolCode, TotalShortSalesVolumeTRY, TotalShortSalesAmount. Example: shortSalesAggregateVolume with from: "20241101", to: "20241130"

shortSalesBulletinAt

ChatGPT
Returns daily short sale bulletin for all symbols: ShortSalesVolume, ShortSalesAmount, TotalVolume, TotalAmount, LowPrice, HighPrice, WeightedAveragePrice, ShortSalesVolumeRatio, ShortSalesAmountRatio. Example: shortSalesBulletinAt with at: "20240218"

specialTransaction

ChatGPT
Returns special transactions (block orders and forced sales) for BIST Equity, VIOP, and Inforex markets. - stype "S" = Special/Blocked Orders (BIST + Inforex), "F" = Forced Sales (Inforex only) - Response: transaction ID, date, symbol, price, amount, volume, buyer/seller codes (AKD license required), process kind, direction. Example: specialTransaction with code: "GARAN", stype: "S"

splitByCode

ChatGPT
Returns historical corporate actions: stock splits, dividends, rights issues, and adjustment ratios for specified symbols. Example: splitByCode with codes: ["GARAN", "ASELS"] — parallel execution.

splitFromTo

ChatGPT
Returns corporate action split data within a date range: Date, SymbolCode, RightIssuesPercent, BonusIssuesPercent, DividendPercent, SplitRatio, SplitStatus, Exchange. Supports filtering by exchange (BIST, CSE, ATHEX). Example: splitFromTo with from: "20240101", to: "20241231", exchange: "BIST"

statistic

ChatGPT
Returns statistical values for securities: WTD/WOW/MTD/MOM/YTD/YOY high/low prices with dates, volumes, turnovers, and previous close prices. Example: statistic with codes: ["GARAN", "ASELS"] — parallel execution.

stockAnalysis

ChatGPT
Returns last 5 analysis reports per symbol: RelatedStocks, Tags, AnalysisTitle, ContentUrl, AttachmentUrls, PublishDate. Example: stockAnalysis with codes: ["GARAN", "ASELS"] — parallel execution.

stockChangeDistribution

ChatGPT
Returns BIST stock count distribution grouped by percentage change levels across 8 time periods (1d, 1w, 1m, 3m, 6m, 1y, 3y, 5y). Each period contains threshold levels with StockCount showing how many stocks changed by at least that percentage. Use for market breadth analysis and volatility measurement. Example: stockChangeDistribution (no parameters)

stockScreener

ChatGPT
Filters Borsa İstanbul equities with the Stock Screener service. Returns stock results based on provided filtering criteria. ⚠️ Works ONLY with Borsa İstanbul stocks. Available Filter Fields: - Definition: code, status (ACTIVE/PASSIVE), grossSettlement (Y/N), securityDescription, subMarket, subMarketDescription, sector, index, shortSalePolicy (NA/NR) - Price & Trading: open, close, previousClose, last, high, low, vwap, dailyChangePercent, weeklyChangePercent, monthlyChangePercent, yearlyChangePercent, woWeeklyChangePercent, moMonthlyChangePercent, yoYearlyChangePercent, volatility, totalTurnover, totalVolume, dailyDirection, lastPeriod - Moving Averages: sma5/8/10/20/50/100/200, ema5/8/10/20/50/100/200 - Historical Volatility: hisVol21/30/42/63/126/252 - Market & Valuation: bookValue, netCapital, marketValue, marketValueUSD, earningPerShare, priceEarning, priceBookValue, capital, capitalRatio - Ownership: returnOnEquity, freeFloatRate, publicOfferingRatio, individualInvestorRatio, institutionalInvestorRatio, freeFloatStockSize, publicStockSize - Quarter Ratios: grossProfit, netProfit, ebitda, grossMargin, netMargin, returnonAssets, companyValue, totalAssests, netSales, yoyprofit - Company Detail: numberOfEmployee, ipoDate, establishmentDate, shareholders, foreignCurrencyAssets/Liabilities, netForeignCurrencyPosition - Other: dividendYield, dividendYieldYears, threeMonthsChangePct, sixMonthsChangePct, threeYearsChangePct, fiveYearsChangePct, allTimeChangePct Supported Operators: - eq/neq: number, string, or boolean - gt/lt/gte/lte: number only - in/nin: non-empty array of primitives - between: array of exactly 2 numbers (inclusive) - exists: boolean (true/false) Example: filters=[{field:"priceEarning",op:"between",value:[5,15]}, {field:"sector",op:"in",value:["S8316","S1210"]}, {field:"close",op:"lt",value:200}], fields=["open","last"]

supplyDemandLastMinutes

ChatGPT
Supply-demand active trade analysis. Returns bid volume (bv), ask volume (av), total volume (tv), volume difference (vd), and percentages (bvp, avp, vdp) for the last N minutes. Supported periods: 5, 10, 15, 30, 60, 1440 minutes. Example: supplyDemandLastMinutes with codes: ["GARAN", "AKBNK"], last: 60 — parallel execution.

symbolSearchFlex

ChatGPT
Fuzzy full-text search across ForInvest symbol definitions. Searches code, name, issuer, exchange, and all metadata fields with typo tolerance. Usable for both BIST and US market symbols when available. When to use: - User mentions a company/asset name partially or with typos (e.g., "garant" → finds "Garanti Bankası") - Search policy: preserve the user's natural wording first. If the user says "ons altın", "altın", or "petrol", search those words first; do not prematurely rewrite them to tickers like "XAU/USD". Only try English equivalents if needed. - Finding symbols when exact code is unknown - Exploring available instruments in a sector or category - Searching US equities (e.g., Tesla, Apple) with superDomain: "us-equity" DIRECTIVE: Always use a superDomain when the user's query matches an available category. This improves search accuracy and performance. Available superDomains: - "bist-stock": Stocks traded on Borsa Istanbul (BIST). Use for Turkish equities, shares, and company stocks. - "us-equity": US equities from CBOE/EDGX definitions. Use for US stock symbol discovery. - "bist-derivatives": VIOP futures contracts, warrants, and options. Use for derivatives, VIOP sözleşmeleri, varantlar, and opsiyonlar. - "bist-broker": BIST broker/intermediary institutions. Use for searching brokers by code, name, or type. - "tefas-funds": TEFAS mutual funds (yatırım fonları). Use for searching Turkish investment funds by name or code. Parameters: - key (optional, min 2 chars): Search term - can be a partial name, ticker, or keyword. Prefer the user's original natural-language wording first; use ticker-style input only if the user explicitly gives it or it is already known. - keys (optional): Multiple search terms in one request. Uses the same where/superDomain for all keys. - topPercent (optional, 1-100, default: 40): Filters results to top X% by relevance score. Lower = stricter matching. Usually leave at default. - where (optional): Filter object with domain, exchange, market, securityType, and/or index fields (e.g., { domain: "BIST" }, { domain: "FX" }, { domain: "CBOE", exchange: "EDGX" }, { index: "XU030" }) - superDomain (optional): Choose a specific index to search first (e.g., "bist-stock", "us-equity", "bist-derivatives"). Falls back to default index if no results found. Returns: For a single key, matching symbols with: code, name, securityType, domain, sector. For multiple keys, returns the same result structure grouped under "queries". Instructions - Where clause (filtering) should only be used if specified by the agent prompt. Do not use filters that are not specified here. - For natural-language asset requests, search the asset name/phrase first (e.g., "ons altın"), not a guessed symbol code or parity. Example queries: - User asks: "Ons altın saatlik grafikte..." → use { "key": "ons altın" }, not { "key": "XAU/USD" } - "ons altın" → search with "ons altın" first; may find gold spot / XAUUSD-related instruments - "altın" or "gold" → Altın, Gold, Gold spot, gold futures, gold ETFs - "garanti" → GARAN (Garanti Bankası stock), { "key": "garanti", "where": { "securityType": "Stock" } } - "dolar" or "usd" → USD/TRY and related FX pairs, { "key": "USDTRY", "where": { "domain": "FX" } } - "tesla" → US equity listing, { "key": "Tesla", "superDomain": "us-equity" } or { "key": "Tesla", "where": { "domain": "CBOE" } } - "bist 30" → XU030 index, eg.: { "key": "<<optional>>", "where": { "index": "XU030" } } - "tahvil" or "bond" → Government and corporate bonds - "viop" → VIOP futures contracts / VIOP sözleşmeleri, eg.: { "key": "garanti", "superDomain": "bist-derivatives" } - "varant" → Warrants, eg.: { "key": "garanti", "superDomain": "bist-derivatives" } - "opsiyon" → Options, eg.: { "key": "akbank", "superDomain": "bist-derivatives" } - Other words for filtering Varant -> { "securityType": "Warrant" }, Opsiyon -> { "securityType": "Option" } - "aracı kurum" or "broker" → Broker institutions, eg.: { "key": "garanti", "superDomain": "bist-broker" } - "fon" or "yatırım fonu" → TEFAS mutual funds, eg.: { "key": "garanti", "superDomain": "tefas-funds" } - Multi search → { "keys": ["garanti", "akbank"], "superDomain": "bist-stock" }

symbolsByIndex

ChatGPT
Gets BIST symbols by index Parameters: sector (string) - see list of sector codes above Indexes: - XTAST - BIST TAS TOPRAK - XMESY - BIST METAL ESYA MAKINA - XKMYA - BIST KIMYA PETROL PLASTIK - XYORT - BIST MENKUL KIYM YO - XGMYO - BIST GAYRIMENKUL YO - XU100 - BIST 100 - XSPOR - BIST SPOR - XTMTU - BIST TEMETTU - XUTUM - BIST TUM - XSGRT - BIST SIGORTA - XUSRD - BIST SURDURULEBILIRLIK - XYUZO - BIST 100-30 - X100S - BIST 100 AGIRLIK SINIRLAMALI 10 - XUTEK - BIST TEKNOLOJI - X030S - BIST 30 AGIRLIK SINIRLAMALI 10 - XTM25 - BIST TEMETTU 25 - XILTM - BIST ILETISIM - XBLSM - BIST BILISIM - XUMAL - BIST MALI - XBANA - BIST ANA - KAT50 - KATILIM 50 - XU050 - BIST 50 - XYLDZ - BIST YILDIZ - XU030 - BIST 30 - KATLM - KATILIM 30 - XULAS - BIST ULASTIRMA - XUSIN - BIST SINAI - XUHIZ - BIST HIZMETLER - XMADN - BIST MADENCILIK - XTCRT - BIST TICARET - XINSA - BIST INSAAT - XTUMY - BIST TUM-100 - XTEKS - BIST TEKSTIL DERI - XTKJS - BIST TEKNOLOJI AGIRLIK SINIRLAMALI - XGIDA - BIST GIDA ICECEK - XKAGT - BIST ORMAN KAGIT BASIM - XELKT - BIST ELEKTRIK - XBANK - BIST BANKA - XKURY - BIST KURUMSAL YONETIM - XMANA - BIST METAL ANA - XHARZ - BIST HALKA ARZ - XTRZM - BIST TURIZM - XHOLD - BIST HOLDING VE YATIRIM - TIMEX - TIM IHRACAT - XLBNK - BIST LIKIT BANKA - X10XB - BIST BANKA DISI LIKIT 10 - XPGIP - BIST GIP - XAKUR - BIST ARACI KURUMLAR - X100C - BIST 100 AGIRLIK SINIRLAMALI 25 - X030C - BIST 30 AGIRLIK SINIRLAMALI 25 - X030EA - BIST 30 ESIT AGIRLIKLI - XELOT - BIST 50-30 - XELOS - BIST 50-30 AGIRLIK SINIRLAMALI 10 - XELOC - BIST 50-30 AGIRLIK SINIRLAMALI 25 - XK030 - BIST KATILIM 30 - XKTUM - BIST KATILIM TUM - XSRDK - BIST KATILIM SURDURULEBILIRLIK - XK100 - BIST KATILIM 100 - XK050 - BIST KATILIM 50 - XK030EA - BIST KATILIM 30 ESIT AGIRLIKLI - XKTMT - BIST KATILIM TEMETTU - XSD25 - BIST SURDURULEBILIRLIK 25 - XTM25S - BIST TEMETTU 25 AGIRLIK SINIRLAMALI 10 - XUGRA - BIST GERI ALIM - SUOSE - BIST SURDURULEBILIR OSBA EUROBOND USD - YEOSE - BIST YESIL OSBA EUROBOND USD - XSINS - BIST SINAI AGIRLIK SINIRLAMALI - XGYOS - BIST GAYRIMENKUL YO AGIRLIK SINIRLAMALI Use when: BIST index symbol information or list needed

technicalChart

ChatGPT
Generates technical analysis charts with OHLC candlesticks and optional indicators. Returns: PNG image as base64 encoded data via MCP image response. Chart Type: OHLC (candlestick) chart with optional technical indicators overlay Indicators: Uses indicatorLast/indicatorFromTo services - supports all available indicators (SMA, EMA, RSI, MACD, Bollinger, etc.) Data Source: Uses historicalLast or historicalFromTo for OHLC data Limitation: Single code per request for technical analysis. Example usage: - OHLC chart: technicalChart with code: GARAN, resolution: 1440, last: 100 - OHLC with SMA: technicalChart with code: GARAN, resolution: 1440, last: 100, indicators: [{"SMA": "per:20"}] - Multiple indicators: technicalChart with code: GARAN, resolution: 1440, last: 100, indicators: [{"SMA": "per:20"}, {"RSI": "per:14"}, {"BOL": "per:20-devu:2-devd:2"}] - Date range with indicators: technicalChart with code: GARAN, resolution: 1440, from: 20241101000000, to: 20250114000000, indicators: [{"EMA": "per:12"}, {"EMA": "per:26"}]

tickAtLast

ChatGPT
Returns historical tick transaction data for parity symbols (forex pairs, spot, foreign indices/futures) at a specific datetime. NOT for BIST stocks. Returns: co, d (timestamp), l (last), bid, ask, a (amount). Example: tickAtLast with codes: ["EUR/USD"], at: "20230101120000", last: 100

tickLast

ChatGPT
Returns latest tick transactions for parity symbols (forex pairs, spot, foreign indices/futures). Each tick: timestamp, last price, bid, ask, amount. NOT for BIST stocks. Example: tickLast with codes: ["EUR/USD", "USD/TRY"], last: 100

transaction

ChatGPT
Returns last N tick-level trades for one or more symbols: TransactionId, SymbolCode, Timestamp, Price, Amount, Volume, BuyerBrokerCode, SellerBrokerCode, ProcessKind (S=Special, N=Normal, F=Forced), Direction (0=buyer, 1=seller initiated), BidPrice, AskPrice. Broker codes can be resolved via brokerDefinitions tool. Example: transaction with codes: ["GARAN", "ASELS"], last: 10 — parallel execution.

App Stats

59

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily