Skip to main content
Glama
hasancagrigungor

kapmcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KAP_API_KEYNoAPI key issued by MKK (required for KAP tools; also whitelist your IP with MKK)
KAP_TIMEOUTNoTimeout for KAP API requests in seconds30
KAP_CACHE_TTLNoCache TTL in seconds for KAP responses600
KAP_LOG_LEVELNoLog level; logs go to stderr only
KAP_TEST_MODENoSet to 1 to use the test gateway (apigwdev.mkk.com.tr)0
YAHOO_TIMEOUTNoTimeout for Yahoo Finance requests in seconds45
KAP_API_SECRETNoOnly for the MKK test gateway
KAP_MAX_SCAN_PAGESNoHard cap on 50-item index windows one call may scan400
KAP_MAX_CONCURRENCYNoMaximum concurrent KAP requests4
KAP_MAX_RESULT_CHARSNoHard cap on a single tool result (lists are truncated with a note)60000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_reference_codesA

Code tables used across tools: disclosure types/classes, member types, fund states/types, corporate-action types/statuses, normalised financial field names, ratio names, gateway fault codes. No network call.

kap_statusA

Configuration and connectivity check. Call first when other tools fail to tell a configuration problem (missing key, IP whitelist) from a data problem.

search_companiesA

Find KAP members (companies, funds' founders, brokers…) by ticker or name and get their company_id, which other KAP tools take. Exact ticker matches rank first. Use when the user names a company; use get_company for the full profile.

get_companyA

Company profile from KAP: name, tickers, member type, paid-in/registered capital, ISINs, plus shareholders / board / subsidiaries / sector / market / indices when KAP's memberDetail payload contains them (sections KAP does not provide are returned as null with a not_available note, never invented). Optionally adds Yahoo profile and holders.

search_disclosuresA

Search KAP disclosures by company, keywords, type/template and date range, newest first, with cursor paging. Covers: latest disclosures, a company's disclosures over a period, everything since an id (monitoring), topic hunts like 'sözleşme' or 'bedelsiz' across companies (use query_scope='content' for subject/summary matching). The KAP API only pages by index, so wide ranges scan many windows: check scan_complete; if false, continue with cursor or raise max_pages. Items carry disclosure_id, templates (KAP's topic template codes), ticker, company name and source_url.

get_disclosureA

One disclosure with normalised metadata (company, ticker, published_at, subject, summary, fiscal period, related tickers, attachments with ids, source_url) and, by default, the body as plain text plus structured data flattened to 'path: value' lines.

search_disclosure_dataA

Find matching fields inside a disclosure's structured data (financial statement line items, form fields) and return path/value pairs. Turkish-insensitive. Use to pull single figures from an official KAP financial report or form without reading the whole body.

get_blocked_disclosuresA

Disclosures KAP has withdrawn from public access (e.g. under KVKK) with the stated reason. Explains 'not found' results for specific ids.

get_disclosure_documentsA

List a disclosure's attachments (PDF/XLSX/…) with attachment_id, name and source_url. Pass an id to get_document_text or search_documents to read it.

get_document_textA

Extract text from a PDF/HTML/text attachment (in memory; nothing is stored). Binary formats (xlsx, zip) and scanned PDFs return text: null with a reason. Prefer search_documents to pull only the relevant part of long reports.

search_documentsA

Find passages inside disclosure attachments and return short snippets with page numbers and source_url instead of whole documents. Use for 'what does the report say about X'.

get_financialsA

Income statement, balance sheet and cash flow in one normalised schema (revenue, gross_profit, operating_profit, ebitda, net_income, total_assets, cash, financial_debt, equity, operating/investing/financing cash flow …) with the source line/taxonomy name per field and the reporting currency. Two sources: ticker → Yahoo Finance time series (several periods); disclosure_id → the official KAP filing (source: kap, exact figures, labels '(3M)' quarter vs '(YTD)' cumulative). Find FR ids with search_disclosures(tickers=[…], disclosure_type='FR').

get_metric_historyA

Time series of normalised financial metrics, oldest first, ready for tables and charts: {series: [{period: '2025Q1', revenue: …, net_income: …}]}. No charts are produced here.

get_financial_ratiosA

Deterministic ratios with the formula stated per item: margins, current/cash ratio, debt-to-equity, financial debt-to-equity, net debt (/EBITDA), interest coverage, ROA, ROE, asset turnover, equity ratio. Flow-based ratios on quarterly data use trailing-12-month sums. A ratio whose inputs are missing returns value null with a reason — never a guess.

get_growthA

Period-over-period change of one metric: current/previous period and value, absolute and percentage change (relative to |previous|, so loss→profit swings are signed correctly). Computed here, not by the model.

compare_financialsA

Side-by-side values of metrics and ratios for several companies in one call. Rows are returned in the order given, with currency per company — no ranking or judgement.

get_corporate_actionsA

Dividends, bonus/rights issues, capital changes, buybacks and general meetings for a company. Yahoo supplies exact ex-dates and per-share cash amounts; KAP supplies the disclosures, classified by a fixed title keyword table (type 'other' when unmatched). Amounts inside KAP bodies are not parsed — read the referenced disclosure. Optionally returns KAP process statuses for given reference ids.

get_company_newsA

News from Yahoo Finance's news module for a ticker or keyword: title, publisher, published_at, url, summary, source. No sentiment or interpretation is added. Coverage is mostly English wire/press; for Turkish primary sources use search_disclosures.

get_quoteA

Latest price data per symbol: last, previous close, change %, day and 52-week range, volume vs 3-month average, market cap, currency. Bad symbols return an error entry without failing the batch. Source: Yahoo Finance (delayed for BIST).

get_price_historyA

OHLCV candles with a computed summary (return, high/low, max drawdown, annualised volatility, average volume) and optional standard technical indicators — all numeric, chart-ready, no interpretation.

get_market_overviewA

Snapshot of BIST 100/30, bank index, USD/TRY, EUR/TRY, gold, Brent, S&P 500, DAX and VIX (last, change %, 52-week range). Source: Yahoo Finance.

get_price_reactionA

Daily closes, returns and volume around an event date, plus excess return versus BIST 100. Pure arithmetic on price data; whether the move was 'caused' by the event is not asserted.

get_analyst_estimatesA

Third-party analyst consensus as published on Yahoo Finance: buy/hold/sell counts, mean/ high/low targets, next earnings date, recent rating changes. Reported as data; the server issues no target or recommendation of its own.

get_company_timelineA

Chronological events for a company (newest first): KAP disclosures typed by KAP's own metadata (disclosure_type/class, subject), corporate actions (Yahoo ex-dates/splits) and Yahoo news. Each event has date, type, title, ids and source_url. No classification or summarisation beyond KAP's fields.

search_fundsA

Investment funds registered on KAP (identity, type, class, state, founder, KAP URL), or one fund's full detail when fund_id is given. Prices/returns are not in KAP — this is the registry.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
reference_codes_resource

TDQS

A4/5.0

Scored across 25 tools

Disambiguation4/5

Each tool has a clearly described output, and the disclosure/document/financial families are carefully separated by function. However, tools like get_financials, get_metric_history, and get_growth are close enough that an agent may need to read descriptions carefully before choosing.

Naming Consistency4/5

Nearly every tool follows a clean get_ or search_ verb_noun pattern, making the API predictable. The only real outlier is kap_status, which breaks the verb_noun convention and prevents a perfect score.

Tool Count4/5

25 tools is at the high end, but the server covers KAP disclosures, companies, funds, financials, corporate actions, price data, news, and analyst estimates, so most tools earn their place. It is a large surface, but not bloated for the breadth of the domain.

Completeness4/5

The read-only KAP and market-data domain is very well covered: disclosures, attachments, structured fields, financial statements, ratios, growth, price history, corporate actions, news, timeline, funds, and reference data are all present. Minor gaps remain around binary attachments and fund performance data, but these are documented and usually workaroundable.