# Agent Rynku - Warsaw Stock Exchange (GPW) data for your agent (remote · agentrynku.pl)

Warsaw Stock Exchange data: quotes, ESPI/EBI filings, quarterly KPIs, earnings forecasts.

- Trust score: 71/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-25

## Components

- remote · `agentrynku.pl`: 71/100 (this document), [markdown](https://verifymcp.io/servers/pl-agentrynku-gpw/api-mcp.md), [page](https://verifymcp.io/servers/pl-agentrynku-gpw/api-mcp)
- npm · `agentrynku-mcp`: 38/100, [markdown](https://verifymcp.io/servers/pl-agentrynku-gpw/agentrynku-mcp.md), [page](https://verifymcp.io/servers/pl-agentrynku-gpw/agentrynku-mcp)

## Channel facts

- Endpoint: `https://agentrynku.pl/api/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-25.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 12325 tokens (~132/item across 93 items; 93 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 94% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 94 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Agent Rynku - Warsaw Stock Exchange (GPW) data for your… MCP server?

Agent Rynku - Warsaw Stock Exchange (GPW) data for your… is a hosted endpoint at https://agentrynku.pl/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http pl-agentrynku-gpw 'https://agentrynku.pl/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "pl-agentrynku-gpw": {
      "url": "https://agentrynku.pl/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "pl-agentrynku-gpw": {
      "type": "http",
      "url": "https://agentrynku.pl/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.pl-agentrynku-gpw]
url = "https://agentrynku.pl/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pl-agentrynku-gpw": {
      "type": "remote",
      "url": "https://agentrynku.pl/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add pl-agentrynku-gpw --url 'https://agentrynku.pl/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  pl-agentrynku-gpw:
    url: "https://agentrynku.pl/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "pl-agentrynku-gpw": {
      "Transport": "http",
      "Url": "https://agentrynku.pl/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add pl-agentrynku-gpw -t streamable-http -u 'https://agentrynku.pl/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "pl-agentrynku-gpw": {
      "type": "http",
      "url": "https://agentrynku.pl/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 71)

First indexed and scored.

## MCP tools (93)

### `get_portfolio_context` (~91 tokens)

Pełny obraz portfela użytkownika: pozycje, gotówka, watchlista i cele alokacji.

Input parameters:

- `include` (array): Sekcje do zwrócenia. Pominięcie = pełna odpowiedź (jak dotąd). Nieznana nazwa to BŁĄD z listą dozwolonych, nie ciche pominięcie.

### `get_portfolio_analytics` (~106 tokens)

Krzywa kapitału portfela dzień po dniu, ze stopą zwrotu, obsunięciem, zmiennością i porównaniem z WIG-iem lub S&P 500.

Input parameters:

- `benchmark` (string): Optional benchmark series. WIG (polish-stocks beta), SPY (broad US beta), QQQ (US growth/AI tilt).
- `period` (string): Lookback period. Default 30d.

### `get_cross_market_peers` (~74 tokens)

Odpowiedniki spółki na drugim rynku, z korelacją i różnicą wyceny - do porównania GPW z USA.

Input parameters:

- `market` (string): Optional peer market filter.
- `symbol` (string, required): Either side of the PL<->US mapping; server canonicalizes.

### `get_total_portfolio_view` (~82 tokens)

Portfel zsumowany ze wszystkich rachunków maklerskich, przeliczony na jedną walutę.

Input parameters:

- `baseCurrency` (string): Default 'PLN'. USD requires usdPlnRate driver - falls back to PLN with warning if missing.
- `topN` (number): Default 10. Max concentration rows in response.

### `get_portfolio_value_history` (~39 tokens)

Historia wartości portfela w czasie.

Input parameters:

- `days` (number): Lookback in calendar days. Default 180, maximum 730.

### `recommend_position_size` (~247 tokens)

Podpowiedź wielkości pozycji na podstawie relacji zysku do ryzyka, zmienności i koncentracji portfela.

Input parameters:

- `account` (object): Optional cash scope: size the position from ONE account instead of the sum over all of them. Use when the order goes to a specific brokerage account (a retirement account cannot fund a purchase on a…
- `availableCash` (number): Cash available for the position, in PLN. Optional; defaults to portfolio cash when omitted. Mutually exclusive with `account`.
- `conviction` (required): Conviction level. Strings high/medium/low or numeric 1-10 (7-10 high, 4-6 medium, 1-3 low).
- `holdingPeriodMonths` (number): Optional intended holding period. Defaults to user.profile.defaultHorizonMonths; reserved for future horizon-aware tuning.
- `stopLossPct` (number): Optional stop-loss percent (>0). When provided, sizing also respects risk-per-trade R-multiple budget. Omit (or pass null) to skip R-multiple sizing.
- `symbol` (string, required): Required ticker. Server canonicalizes GPW aliases.

### `compare_portfolio_risk_reward` (~60 tokens)

Ranking pozycji i watchlisty według relacji zysku do ryzyka.

Input parameters:

- `includeWatchlist` (boolean): Include watchlist symbols alongside holdings
- `limit` (number): Max symbols to return, default 25

### `analyze_thesis_exposure` (~40 tokens)

Rozkład portfela na ogniwa łańcucha wartości AI - gdzie masz ekspozycję, a gdzie dziurę.

### `get_daily_brief` (~34 tokens)

Odprawa na dziś: co się zmieniło w Twoim portfelu i na watchliście.

### `get_alerts` (~237 tokens)

Alerty dostarczone temu użytkownikowi, z filtrami po spółce i klasyfikacji.

Input parameters:

- `classification` (string): Optional: earnings | preliminary_results | earnings_conference | regulatory | ma | guidance | operational | other.
- `limit` (number): Max results. Default 20, max 100.
- `sinceIso` (string): ISO date. Return alerts after this date. Default: 7 days ago.
- `symbol` (string): Optional symbol filter, e.g. KGHM.
- `universe` (string): Optional market filter: polish-stocks (GPW) or us-stocks. Applied in the DATABASE query, so asking for 20 polish alerts scans past the US ones instead of returning whatever fits in the first page - o…

### `list_webhook_events` (~59 tokens)

Zdarzenia z webhooka - do sprawdzenia, czy TradingView dochodzi do Agenta Rynku.

Input parameters:

- `limit` (number): 1-100, default 20.
- `sourceFilter` (string): Optional source filter.

### `get_forecast` (~40 tokens)

Prognoza wyników spółki na najbliższe kwartały wraz z wyceną modelową.

Input parameters:

- `symbol` (string, required)

### `get_forecast_accuracy` (~62 tokens)

Historyczna celność modeli prognostycznych i to, czy model przeszedł bramkę jakości.

Input parameters:

- `limit` (number): Leaderboard size, 1-50 (default 10).
- `symbol` (string): Optional GPW ticker.

### `get_asset_signals` (~177 tokens)

Szanse i ryzyka wykryte automatycznie dla spółki, każde z podpiętym dowodem w danych.

Input parameters:

- `symbol` (string): Ticker spółki; serwer kanonikalizuje aliasy GPW.
- `symbols` (array): Opcjonalna lista tickerów. Dla pytania o cały portfel użyj jednego wywołania z tą listą zamiast wielu wywołań symbol po symbolu.
- `universe` (string): Opcjonalny rynek. Podaj, gdy ten sam kod istnieje na obu rynkach; bez tego wygrywa GPW, ale WYŁĄCZNIE spośród wierszy aktywnych. Inna wartość niż te dwie to błąd, nie ciche puste.

### `get_signal_prediction_performance` (~108 tokens)

Celność liczbowych przewidywań ruchu ceny: trafienia, kierunek, średni błąd.

Input parameters:

- `kind` (string): Opcjonalny filtr rodzaju sygnału, np. opportunity | risk.
- `symbol` (string): Opcjonalny ticker; serwer kanonikalizuje aliasy GPW.
- `universe` (string): Opcjonalne uniwersum: polish-stocks | us-stocks. Domyślnie wszystkie.

### `get_spot_price` (~51 tokens)

Bieżąca cena jednej spółki, z informacją, czy pochodzi z zamknięcia, czy z kwotowania w trakcie sesji.

Input parameters:

- `symbol` (string, required)

### `get_dividends` (~52 tokens)

Historia i znane przyszłe dywidendy spółki, z kwotą, datą, źródłem i świeżością.

Input parameters:

- `symbol` (string, required): Ticker spółki.

### `get_price_series` (~163 tokens)

Świece OHLC i zmienność zrealizowana - do stop-lossów i wielkości pozycji.

Input parameters:

- `days` (integer): Exact rolling lookback in calendar days; takes precedence over period. Max 365 for daily and 7 for intraday intervals.
- `interval` (string): Bar size. '1d' (default) -> daily candles, period 30d/90d/1y. '1h'/'15min'/'5min' -> intraday, period clamped to 1d/1w. Requires EODHD intraday subscription.
- `period` (string): Lookback period (default 30d for daily, 1d for intraday)
- `symbol` (string, required)

### `get_intraday_candles` (~108 tokens)

Świece godzinowe z bieżącej i poprzednich sesji.

Input parameters:

- `intervalSec` (number): Bar interval in seconds. Only 3600 (1h) supported in Faza B; 15m/5m planned for a later phase.
- `period` (string): Lookback window. '1d' = last 24h, '1w' = last 7d. Default '1d'.
- `symbol` (string, required)

### `get_intraday_quote` (~64 tokens)

Kwotowanie w trakcie sesji: cena, otwarcie, zakres dnia, zmiana wobec zamknięcia.

Input parameters:

- `symbols` (array, required): 1-10 tickers (e.g. ['KGHM','CDPROJEKT']).

### `get_company_analysis` (~28 tokens)

Analiza fundamentalna spółki przygotowana przez model.

Input parameters:

- `symbol` (string, required)

### `get_company_dossier` (~72 tokens)

Źródłowa pamięć decyzyjna: trwałe przewagi, słabości, otwarte ryzyka, potwierdzone wzorce i kontekst biznesowy.

Input parameters:

- `perCategoryLimit` (number): Max entries per category. Default 10.
- `symbol` (string, required)

### `get_report_event` (~114 tokens)

Jeden raport kwartalny jako zdarzenie: co mówi, co rozliczył, co zmienił, co zostaje otwarte, z wiekiem i źródłem każdej liczby.

Input parameters:

- `eventId` (string): Exact report-event id (24 hex chars) when you already have one; overrides `quarter`.
- `quarter` (string): Target quarter as YYYY-Qn, e.g. 2026-Q2. Omit for the company's most recent report.
- `symbol` (string, required)

### `get_drivers` (~91 tokens)

Bieżące czynniki makro: surowce, waluty, stopy, nastroje na rynku amerykańskim.

Input parameters:

- `includeForumSentiment` (boolean): When true, append driver-like forumSentyment rows for provided symbols.
- `symbols` (array): Symbols for forumSentyment, e.g. ['KGHM','XTB']. Max 20.

### `get_factor_context` (~140 tokens)

Deterministyczny kontekst jednej zmiany czynnika dla spółki, zakotwiczony w chwili asKnownAt.

Input parameters:

- `asKnownAt` (string, required): Kotwica wiedzy w ISO 8601.
- `baselineObservationKey` (string): Opcjonalny observationKey podstawy porównania.
- `currentObservationKey` (string, required): Dokładny observationKey bieżącej obserwacji.
- `seriesId` (string, required): Id serii z rejestru, np. fx.usd_pln_legacy_mixed.
- `symbol` (string, required): Symbol GPW, np. UNIMOT.

### `macro_attribution` (~70 tokens)

Co najprawdopodobniej stało za ostatnim ruchem WIG20.

Input parameters:

- `date` (string): Optional YYYY-MM-DD. Defaults to latest WIG20 driver history date.
- `topN` (number): How many ranked drivers to return. Default 6, max 12.

### `query_companion` (~156 tokens)

Zapytanie do asystenta Agenta Rynku w języku naturalnym.

Input parameters:

- `agentLabel` (string): Optional tag (e.g. 'Claude-makler', 'PortfolioBot-1'). Persists the call but flags it as agent-origin so summarizer + RAG skip it.
- `message` (string, required): Question/message in Polish.
- `reasoningMode` (string): Anti-slop guardrail: minimal = final answer only, standard = default natural prose, verbose = explicit data→fakt→implikacja→wniosek chain with ≥3 sources cited.
- `silent` (boolean): If true, neither user message nor reply is persisted. Use for cron-driven agent checks. Default false.

### `submit_feature_request` (~313 tokens)

Zgłoszenie błędu, pomysłu albo brakujących danych do zespołu Agenta Rynku.

Input parameters:

- `callback_url` (string): Optional URL. Agent Rynku will POST { id, status, founderNote, updatedAt } when status changes.
- `context` (string): Optional: co próbowałeś, expected vs actual behavior
- `description` (string, required): Pełny opis (10-5000 znaków)
- `owner` (string): WHO WORKS ON IT. Optional: defaults to the main coding agent, which is correct for almost every request. Override only when the work clearly belongs elsewhere, or pass 'operator' when the request exi…
- `priority` (string): Optional declared urgency: P0 is most urgent, P3 least urgent. Omit only when the request has not been ranked.
- `reporter` (string): WHO IS FILING THIS: your own session name, e.g. 'BOSSA makler', 'XTB makler', 'AR PM'. Spaces and capitals are fine, they are folded for you ('AR PM' becomes 'ar-pm'). NEVER CHANGES afterwards - it i…
- `title` (string, required): Krótki tytuł (3-200 znaków)
- `type` (string, required)

### `claim_feature_request` (~224 tokens)

Wzięcie zgłoszenia do pracy albo oddanie go do kolejki.

Input parameters:

- `id` (string, required): Full 24-character feature request ObjectId or its final 8-character suffix.
- `owner` (string): Optional handle of the agent claiming or releasing the request. Defaults to the API key identity.
- `pomiarDzis` (string): Today's value of the measurement the request argues from, re-measured by you before starting. Free text up to 1000 characters, because a measurement is often a sentence rather than a number. It is st…
- `release` (boolean): Set to true to release a request you currently hold; defaults to false to claim it.

### `submit_portfolio_snapshot` (~207 tokens)

Wgranie stanu rachunku z zewnętrznego brokera.

Input parameters:

- `account` (string, required): Account identifier: number, alias, or ''.
- `asOfIso` (string, required): ISO 8601 timestamp from broker API.
- `broker` (string, required): Broker identifier: 'xtb', 'bossa', 'mbank', etc.
- `cashByCurrency` (object): Native multi-currency cash, keyed by ISO code, e.g. {"PLN": 22578, "USD": 144}. Preferred over cashPLN for multi-currency accounts (keeps USD/EUR cash in native currency — no manual FX conversion). V…
- `cashPLN` (number): PLN cash balance (optional, legacy single-currency field).
- `holdings` (array, required)
- `notes` (string)
- `totalEquityPLN` (number): Total equity for sanity check.

### `submit_broker_transactions` (~46 tokens)

Wgranie historii transakcji do rozliczeń i podatków.

Input parameters:

- `account` (string, required)
- `broker` (string, required)
- `transactions` (array, required)

### `get_realized_pnl` (~43 tokens)

Zrealizowany wynik od początku roku i okazje do rozliczenia strat podatkowych.

Input parameters:

- `year` (number): Calendar year (default current)

### `get_transaction_history` (~100 tokens)

Historia transakcji użytkownika, od najnowszej.

Input parameters:

- `broker` (string): Optional broker filter (normalized to lowercase).
- `limit` (number): Maximum rows to return. Default 50, max 200.
- `side` (string): Optional transaction side filter.
- `sinceIso` (string): Optional ISO timestamp; only transactions at or after it are returned.
- `symbol` (string): Optional symbol filter (normalized to uppercase).

### `get_portfolio_stats` (~157 tokens)

Statystyki ryzyka i wyniku portfela liczone z historii transakcji.

Input parameters:

- `account` (string): Optional account filter.
- `broker` (string): Optional broker filter, e.g. xtb or bossa.
- `curveLimit` (number): Max equityCurve points returned. Default 260, max 750.
- `excludeTestBrokers` (boolean): Default true for combined scope. Excludes broker/account test or audit rows unless explicitly disabled.
- `includeOpeningBalance` (boolean): Default true. Adds synthetic opening-balance buys from current holdings when broker_transactions history is incomplete.
- `periodDays` (number): Lookback window in calendar days. Default 365, max 1825.

### `get_sygnal_score` (~126 tokens)

Ocena 0-100 dla spółki z GPW: siedem wymiarów z uzasadnieniem każdego. Do samej oceny wchodzą tylko wymiary z dowodem, najwyżej sześć: płynność pokazujemy osobno i nie punktujemy.

Input parameters:

- `days` (number): Price-history lookback window for momentum/risk. Default 365, min 90, max 730.
- `symbol` (string, required): GPW symbol or broker alias, e.g. KGHM, KGH.PL, ASBIS.

### `get_conference_reminders` (~65 tokens)

Nadchodzące konferencje wynikowe spółek, które śledzisz.

Input parameters:

- `daysAhead` (number): Window in days. Default 60, max 365.
- `symbol` (string): Optional single-symbol filter (canonicalized server-side).

### `modify_chat_settings` (~379 tokens)

Ustawienia powiadomień: próg istotności, kanały, wyciszone klasy alertów.

Input parameters:

- `alertWeighting` (string): How the per-ticker daily alert cap treats companies you do NOT hold. 'flat' (default, unchanged behaviour): every ticker gets the same 5/day cap. 'portfolio_first': tickers absent from your holdings…
- `channels` (array): Active alert channels. SMS not yet supported. Empty array silences alerts entirely.
- `espiCommunicationsEnabled` (boolean): Send every official ESPI/EBI filing for watched companies. These entries are marked as communications, not alerts, and do not enter alert limits or performance history.
- `impactThresholdPct` (number): Minimum extent of the predicted range from zero in percentage points: max(|rangeLowPct|, |rangeHighPct|) (default 2, ≥ 0). This filters range extent, not the expected directional move.
- `mutedAlertClassifications` (array): Mute-lista klasyfikacji alertów — te typy nie będą wysyłane realtime. Pusta = nic nie wyciszone.
- `notificationEmail` (string): Override email (null clears, falling back to UserDoc.email).

### `get_evaluation_outcomes` (~171 tokens)

Rozliczenie dawnych alertów po cenach: co się sprawdziło, a co nie, na tle indeksu.

Input parameters:

- `days` (integer): Rolling calendar-day window over evaluatedAt (market time); takes precedence over sinceIso.
- `hitBandOnly` (boolean): If true, only outcomes where hitBand=true (alerts that landed inside their predicted range).
- `limit` (number): Default 20, max 100. Response includes effectiveLimit and truncated=true when a larger request is capped.
- `sinceIso` (string): ISO8601 lower bound for evaluatedAt. Default: 90 days ago. Ignored when days is provided.
- `symbol` (string): Filter by single symbol (canonicalized server-side, e.g. KGH.PL → KGHM).

### `submit_alert_feedback` (~105 tokens)

Ocena alertu - ten sam sygnał, co kciuki w Telegramie.

Input parameters:

- `alertId` (string): Hex alertId from get_alerts. Server resolves the underlying evaluationId.
- `evaluationId` (string): Alternative: hex evaluationId directly.
- `verdict` (string, required): hit = direction matched and was actionable; miss = wrong / unactionable; spam = routine ESPI noise that shouldn't have alerted at all (drives future filter tightening).

### `get_quarterly_kpis` (~85 tokens)

Wyniki kwartalne spółki: przychód, zysk, bilans i przepływy, wraz z oceną jakości każdego wiersza.

Input parameters:

- `quartersBack` (number): How many recent quarters to return. Default 8, max 20.
- `symbol` (string, required): Required. XTB-style 'KGH.PL' canonicalized.

### `get_conference_summary` (~89 tokens)

Streszczenie konferencji wynikowej: cytaty zarządu, prognozy i sygnały ostrzegawcze.

Input parameters:

- `conferenceDate` (string): Optional ISO date for a specific past conference. If omitted, returns the latest.
- `limit` (number): Max meetings (newest-first). Default 1.
- `symbol` (string, required): Required. Server canonicalizes.

### `get_bond_series` (~199 tokens)

Wyszukiwanie serii obligacji z Catalyst po emitencie, marży i terminie wykupu.

Input parameters:

- `couponPctMin` (number): Minimum current annual coupon percentage. Works for floating and fixed rate types.
- `includeMatured` (boolean): If true include already matured series. Default false.
- `issuer` (string): Optional case-insensitive issuer substring, e.g. 'kruk' matches 'KRUK SA'.
- `issuerEquitySymbol` (string): Optional exact listed equity ticker, e.g. KRUK returns KRUK SA bonds.
- `limit` (number): Max results. Default 25, max 100.
- `marginPctMin` (number): Minimum margin over the floating reference rate. Read referenceRate in each result for the exact tenor. Default unset.
- `maturityWithinDays` (number): Only return series maturing within this many days from now.
- `sector` (string)

### `calculate_early_redemption` (~92 tokens)

Rachunek opłacalności wcześniejszego wykupu obligacji.

Input parameters:

- `holdingsValuePLN` (number, required): User's bond position value at par: number of bonds × faceValue.
- `redemptionPricePct` (number): Redemption price as percent of par. Defaults to lastPricePct, then 100.
- `series` (string, required): Catalyst series ticker, e.g. BST0930.

### `get_bond_orderbook` (~57 tokens)

Arkusz zleceń dla obligacji - na razie niedostępny, zwraca informację o odroczeniu.

Input parameters:

- `series` (string, required): Catalyst series ticker, e.g. KRU1130.

### `get_earnings_deepdive` (~130 tokens)

Pogłębione omówienie raportu kwartalnego: co zaskoczyło, co niepokoi, co zapowiedział zarząd.

Input parameters:

- `limit` (number): Max results (newest-first). Default 1.
- `quarter` (string): Optional 'YYYY-Qn' (e.g. '2026-Q1'). Default: latest.
- `symbol` (string): Required. Server canonicalizes.
- `symbols` (array): Opcjonalna lista tickerów do pobrania w jednym wywołaniu dla całego portfela.

### `get_wza_summary` (~89 tokens)

Streszczenie walnego zgromadzenia akcjonariuszy.

Input parameters:

- `limit` (number): Max meetings to return (newest-first). Default 1. Use 5+ for historical comparison.
- `symbol` (string, required): Required. Server canonicalizes.
- `wzaDate` (string): Optional ISO date for a specific past WZA. If omitted, returns the latest.

### `recommend_diversification` (~138 tokens)

Propozycje dywersyfikacji tam, gdzie portfel jest skupiony.

Input parameters:

- `candidatesPerSector` (number): How many ranked candidates to return per under-represented sector. Default 2, max 5.
- `exclude` (array): Symbols to omit from this response. The server canonicalizes GPW and broker aliases; this list is not stored.
- `minImpliedUpsidePct` (number): Forwarded to the underlying find_opportunities scoring. Default 5.
- `underweightThresholdPct` (number): Sector treated as under-represented when current weight < threshold. Default 5pp.

### `get_top_opportunities` (~62 tokens)

Ta sama lista spółek spoza portfela co w kafelku Top okazje na pulpicie.

Input parameters:

- `limit` (number): Maksymalna liczba wyników. Domyślnie 5, maksymalnie 20.

### `find_opportunities` (~314 tokens)

Wyszukiwanie okazji według zadanych kryteriów.

Input parameters:

- `excludeSymbols` (array): Symbols to exclude (e.g. user's current portfolio when looking for new ideas). Server canonicalizes.
- `forecastFreshnessDays` (number): Max age of the FUNDAMENTAL baseline (asset_forecasts.baseline.asOf) in days. Default 400, max 800. Baselines refresh on ANNUAL reports, so a 60-day window returned an empty list for most of the year…
- `limit` (number): Max results. Default 10, max 50.
- `maxPriceSessionsMissed` (number): Drop symbols whose last daily candle is older than N CLOSED sessions (weekends/holidays don't count). Default 3 — guards against upside computed against a zombie quote from a delisted or suspended ti…
- `minImpliedUpsidePct` (number): Minimum forecast.impliedUpsidePct (vs spot) to include. Default 5 — typically a meaningful target threshold.
- `minSentimentAvg30d` (number): Minimum sentimentAvg30d (-5..+5). Default unset (no sentiment gate). Use to bias towards momentum (e.g. 1).
- `sectorFilter` (array): Optional sector whitelist (e.g. ['Banki','Energetyka']). Empty = all sectors.

### `find_dip_candidates` (~398 tokens)

Spółki, które mocno spadły, ale fundamenty trzymają.

Input parameters:

- `anchor` (string): What the drawdown is measured FROM. Default '52w_high' (unchanged behaviour). 'blended_avg_cost' measures it from YOUR quantity-weighted average purchase price - the same blend the tax-loss tool uses…
- `limit` (number): Default 50, max 200.
- `minDrawdownPct` (number): Default 15. Min drawdown % from 52w high to qualify as 'dip'.
- `minScore` (number): Default 55. Minimum overall Agent Rynku score, to avoid value traps.
- `scope` (string): Default 'both' (watchlist + portfolio). 'universe' scans the selected universe filter (expensive).
- `universe` (string): Alias of `universeFilter` (FR 063b45f0). Use whichever feels natural.
- `universeFilter` (string): Default 'all' (mixed PL+US). Use 'polish-stocks' or 'us-stocks' to scope. Accepts `universe` as alias.

### `find_overheat_candidates` (~368 tokens)

Spółki, które urosły szybciej, niż uzasadniają to wyniki.

Input parameters:

- `limit` (number): Default 50, max 200.
- `maxScore` (number): Default 50. ⚠️ This is NOT an exclusion filter, despite how the name reads: it only decides whether the Agent-Rynku-score CONFIRMATION counts, and one confirmation out of three is enough for `trim_ca…
- `minRunUpPct` (number): Default 25.
- `scope` (string): Default 'both' (watchlist + portfolio). 'universe' scans the selected universe filter (expensive).
- `universe` (string): Alias of `universeFilter` (FR 063b45f0). Use whichever feels natural.
- `universeFilter` (string): Default 'all' (mixed PL+US). Use 'polish-stocks' or 'us-stocks' to scope. Accepts `universe` as alias.

### `run_predictive_scan` (~170 tokens)

Skan spółek pod kątem zbliżających się raportów i przewidywanego zaskoczenia.

Input parameters:

- `excludeSectors` (array): Sector names to omit, e.g. ['Energetyka'].
- `excludeSymbols` (array): Symbols to omit. Server canonicalizes XTB-style tickers.
- `limit` (number): Max candidates. Default 8, max 100.
- `peThreshold` (number): Max forward P/E to include. Default 15; symbols above threshold are dropped.
- `pricingInPenaltyWeight` (number): Weight applied to the pricing-in penalty. Default 1.0; set 0 to disable.
- `universe` (string): Universe to scan. Default 'polish-stocks' (currently supported universe).

### `get_news_history` (~314 tokens)

Historia depesz o spółce razem z ich oceną.

Input parameters:

- `classification` (string): Optional: earnings | preliminary_results | earnings_conference | regulatory | ma | guidance | operational | sentiment | macro | management | other.
- `includeOtherSubjects` (boolean): Default false. When true, also returns evaluations written about OTHER companies that merely tag this ticker (pre-2026-08-18 behaviour). Use only when you want the full article context, not this comp…
- `limit` (number): Max results. Default 20, max 100.
- `sinceIso` (string): ISO date. Default 30 days ago.
- `sources` (array): Optional allowlist of source values. Applied before limit; e.g. ['gpw-espi', 'gpw-espi-archive', 'pap:biznes'] returns ESPI and PAP without forum rows. Omit to preserve the default of all sources.
- `symbol` (string, required): Required. Server canonicalizes.
- `universe` (string): Opcjonalny rynek symbolu. Ten sam ticker może należeć do spółek na obu rynkach, więc podaj universe, aby wskazać właściwy instrument; bez niego jednoznaczny symbol rozstrzyga kolekcja assets, a homog…

### `get_market_anomalies` (~376 tokens)

Ruchy cen odstające od zwykłej zmienności spółki, wyłapane automatycznie.

Input parameters:

- `includeMarketContext` (boolean): If true, also return WIG / WIG20 / mWIG40 / sWIG80 today's change as context. Default true.
- `sigmaThreshold` (number): Min |move|/σ to flag. Default 1.5 (catches mid-magnitude moves). Use 2 for stricter, 1 for noisier.
- `symbolsScope` (string): What universe to scan. Default 'both' (portfolio + watchlist). ⛔ 'all_covered' now means EVERY ACTIVE polish-stocks name - 392 as measured 2026-08-19. Until then it meant [symbols that happen to have…
- `withSynthesis` (boolean): If true, run a Sonnet 4.6 call per flagged anomaly to write a 1-2 sentence Polish hypothesis (~$0.05 per anomaly). Default false — caller can synthesize itself or post-hoc.

### `suggest_order_size` (~233 tokens)

Wielkość zlecenia z uwzględnieniem dostępnej gotówki na konkretnym rachunku.

Input parameters:

- `broker` (string, required): Broker fee schedule to use. 'bossa' (0.291% min 5 PLN), 'xtb' (0% to 100k EUR MTD turnover, then 0.2% min 10 EUR), 'mbm' (0.39% min 5 PLN).
- `currentPrice` (number): Last known price PLN/share. If omitted, server reads price_history_daily.
- `intent` (string, required): Direction. Affects commission for some brokers (currently none — symmetric — but kept for future).
- `symbol` (string): Ticker. Used for commission calculation only — server canonicalizes for diagnostics.
- `targetQty` (number, required): How many shares to transact total.
- `xtbCurrentMtdEur` (number): XTB only: user's MTD stocks turnover EUR. Default 0 (assume tier-1 free). Used to compute when remaining order cliffs into 0.2% paid tier.

### `analyze_trade_outcome` (~98 tokens)

Rozliczenie pojedynczej transakcji: co wyszło, a co nie.

Input parameters:

- `dateIso` (string): ISO date (YYYY-MM-DD) — analyze all trades on that day.
- `externalId` (string): Specific broker order ID to analyze.
- `limit` (number): Cap result size. Default 20, max 50.
- `symbol` (string): Filter by symbol (canonicalised server-side).

### `get_concentration_risk` (~91 tokens)

Ile portfela stoi na jednej spółce, sektorze i rynku.

Input parameters:

- `thresholds` (object): Optional override of {warningPct, criticalPct}. Default tied to risk tolerance. Apply same threshold to all 3 axes if provided.
- `topDriversPerSymbol` (number): How many drivers per symbol to count toward driver-level exposure. Default 1 (primary), max 3.

### `find_tlh_opportunities` (~113 tokens)

Pozycje ze stratą, którą da się odliczyć od podatku w tym roku.

Input parameters:

- `maxResults` (number): Cap on opportunities returned (sorted by tax shield desc). Default 10, max 25.
- `minLossPLN` (number): Min |unrealized loss| PLN to surface. Default 1000. Filters tiny noise positions.
- `sameSector` (boolean): If true (default), include suggestedReplacement same-sector. False = pure loss listing without replacements.

### `sector_pulse_pl` (~233 tokens)

Puls sektorów GPW: które radzą sobie dziś lepiej, a które gorzej.

Input parameters:

- `includeMarketContext` (boolean): If true, also return WIG / WIG20 / mWIG40 / sWIG80 today's change for cross-reference. Default true.
- `minSymbolsPerSector` (number): Skip sectors with fewer covered symbols than this. Default 2 (avoids 1-stock 'sectors'). Max 10.
- `topMoversPerSector` (number): How many extreme movers to return per sector (sorted by |change|). Default 2, max 5.
- `universe` (string): Which symbols to aggregate. Default 'all_covered' = every polish-stocks asset carrying a sector tag - 412 as measured 2026-08-02 with the handler's own predicate, NOT the ~197 this description claime…

### `whats_moving_now` (~196 tokens)

Co się dziś rusza na rynku - największe zmiany sesji.

Input parameters:

- `sigmaThreshold` (number): Min |move|/σ for the anomaly leg. Default 1.5.
- `topAlerts` (number): How many recent material alerts (last 24h) to surface. Default 3, max 10.
- `topAnomalies` (number): How many σ-anomalies (from all_covered scan) to surface. Default 5, max 10.
- `topSectors` (number): How many sectors (by abs median move) to surface. Default 3, max 5.
- `withNarrative` (boolean): If true, run a single Sonnet 4.6 call (~$0.05) that weaves sectors+anomalies+alerts+market context into a 2-4 sentence Polish hypothesis (LABELED). Default false.

### `get_pipeline_health` (~127 tokens)

Stan potoków danych: świeżość źródeł, opóźnienia, awarie.

Input parameters:

- `windowHours` (number): Lookback window for the recent-evals check. Default 2. NIE dotyczy `alerts_recent` - ten mierzy alerty OD OTWARCIA SESJI i wydaje werdykt dopiero po 16:00, bo okno dwugodzinne dawalo ostrzezenie w 53…

### `get_alert_delivery_stats` (~86 tokens)

Statystyki dostarczania alertów: ile poszło, ile się nie udało.

Input parameters:

- `channel` (string): Filter to one channel: 'telegram' | 'email' | 'webhook'. Default 'telegram'. Pass 'all' to mix.
- `windowDays` (number): Lookback window in days. Default 7, max 90.

### `get_my_alert_performance` (~224 tokens)

Skuteczność alertów, które dostałeś: ile się sprawdziło.

Input parameters:

- `days` (number): Lookback window in days. Default 90, max 365. Preferred over the legacy windowDays alias.
- `universe` (string): Optional market filter. Every number in the response is then computed on that market ALONE, and the response carries `universe` plus `alertsOutsideUniverse` so the scope is readable after the fact. W…
- `windowDays` (number): Deprecated alias for days, retained for existing clients. Do not pass both unless the values match.

### `compare_symbols` (~103 tokens)

Porównanie kilku spółek obok siebie.

Input parameters:

- `metrics` (array): Optional subset. Default: ['lastClose','changePct30d','realizedVolPctAnnualized','sentimentAvg30d','alertCount30d','impliedUpsidePct','sanityFiltered','impliedPriceUnavailableReason','sector','inPort…
- `symbols` (array, required): 2-10 tickers. Server canonicalizes.

### `get_earnings_calendar` (~92 tokens)

Kalendarz zbliżających się raportów okresowych.

Input parameters:

- `daysAhead` (number): Window in days. Default 60, max 365.
- `includePast` (boolean): If true also returns lastEarningsDate alongside upcoming (default false — upcoming only).
- `symbols` (array): Optional filter. Server resolves canonical symbols before lookup. Default: all user's holdings and watchlist.

### `modify_holdings` (~68 tokens)

Ręczna zmiana pozycji w portfelu.

Input parameters:

- `add` (array)
- `remove` (array): A symbol string removes only manual entries. Use {symbol, broker, account?} to remove a specific broker-synced position.
- `update` (array)

### `set_cash_balance` (~79 tokens)

Ustawienie salda gotówki na rachunku.

Input parameters:

- `account` (string, required): Numer lub alias konta.
- `amount` (number, required): Stan po zmianie w walucie natywnej (nie delta).
- `broker` (string, required): Identyfikator brokera, np. xtb.
- `currency` (string, required)

### `set_agent_prefs` (~140 tokens)

Ustawienia zachowania agenta.

Input parameters:

- `emoji` (boolean): true = emoji dozwolone, false = całkowicie bez emoji.
- `focus` (array): Obszary na których agent ma się skupiać. Pusta tablica = wszystko.
- `jargon` (string): laik = tłumacz terminy, pro = pełny żargon rynkowy bez tłumaczenia.
- `tone` (string): kumpel = luźny forumowicz-trader, neutralny = rzeczowo, formalny = profesjonalny rejestr.
- `verbosity` (string): Długość odpowiedzi.

### `modify_profile` (~122 tokens)

Zmiana profilu inwestora.

Input parameters:

- `about` (string): Free-form self-description, ≤2000 chars.
- `confirmed` (boolean): false/omitted = preview only, no profile write. true = consume a matching, non-expired preview and persist exactly its fields once; otherwise refuse.
- `constraints` (string): Constraints / no-go list, ≤2000 chars.
- `defaultHorizonMonths` (number): 1..120. Investment horizon in months.
- `riskTolerance` (string)
- `tradingStyle` (string)

### `modify_watchlist` (~250 tokens)

Dodanie lub usunięcie spółki z watchlisty.

Input parameters:

- `add` (array): Symbols to add (uppercased server-side).
- `remove` (array): Symbols to remove.
- `setAlarm` (array): Set, re-arm, or clear one-shot price alarms. Example: `setAlarm: [{symbol: 'KGHM', price: 130, direction: 'below'}]`.
- `setThreshold` (array): Set per-asset notification threshold for one or more symbols already in the watchlist. Symbols not yet on the watchlist are auto-added.
- `universe` (string): Asset universe. Default: 'polish-stocks'. ROZSTRZYGA HOMOGRAF: ten sam kod bywa dwiema spółkami (CRM to Cormay na GPW i Salesforce w USA), a wpis watchlisty jest parą (rynek, symbol). Bez tego pola o…

### `list_feature_requests` (~343 tokens)

Lista zgłoszeń i ich stan.

Input parameters:

- `brief` (boolean): Headline mode: id, type, status, title, priority, createdAt, updatedAt, truncated founderNote, autoImplAttempts. Omits description and autoImplLastError.
- `limit` (number): Default 20, max 50.
- `offset` (number): Skip this many rows IN THE SELECTED ORDER before returning the page. Default 0. With the default sort:'priority' that means skipping queue-ordered rows (so a large offset skips urgent work, not old h…
- `owner` (string): Optional filter by owner handle. 'operator' finds what needs a human decision, 'unassigned' finds requests nobody owns.
- `priority` (string): Optional filter by declared priority. Matches legacy spellings of the same rank too (P1 also finds 1 and 'high'). Requests nobody ranked are NOT returned by any value - absent priority is a separate…
- `reporter` (string): Optional filter by reporter handle. Pass your own session name to see everything YOU filed, whoever ended up owning it. 'unassigned' finds requests filed before reporters were recorded.
- `sort` (string): Ordering. 'priority' (default) = queue order: P0 first, oldest first within a rank, unranked treated as P2. 'newest' = createdAt desc (what this tool did before). 'oldest' = createdAt asc.
- `status` (string): Optional filter.

### `track_priced_event` (~216 tokens)

Zapisanie zdarzenia, którego wpływ na cenę chcesz rozliczyć później.

Input parameters:

- `alertRef` (string): Optional ObjectId of the alert that triggered this flag.
- `eventType` (string, required): earnings_beat | earnings_miss | dividend | regulatory | ma_close | guidance_raise | product_launch | capacity_addition | contract_award.
- `expectedDateIso` (string, required): ISO date or datetime when event is expected to occur.
- `expectedDirection` (string, required): up | down - direction of expected price impact.
- `expectedMagnitudePct` (number, required): Absolute magnitude in pct (e.g. 5 = 5%, sign in expectedDirection).
- `note` (string): Free-text user note <=500 chars.
- `probabilityEstimate` (number): 0-100 confidence event will occur. Default 50.
- `symbol` (string, required): Alias OR canonical symbol - server canonicalises.
- `thesisRef` (string): Optional ObjectId of a PositionThesis (FR A).

### `get_priced_events` (~121 tokens)

Lista śledzonych zdarzeń wycenionych.

Input parameters:

- `eventType` (string): Optional event-type filter.
- `limit` (number): 1-200, default 50.
- `status` (string): pending | resolved | cancelled | all. Default: pending.
- `symbol` (string): Optional symbol filter.
- `universe` (string): Optional universe scope. Joins through assets to restrict by symbol universe. Accepts `universeFilter` as alias.
- `universeFilter` (string): Alias of `universe`.

### `historical_event_hit_rate` (~116 tokens)

Jak podobne zdarzenia wpływały na cenę w przeszłości.

Input parameters:

- `eventType` (string, required): earnings_beat | earnings_miss | dividend | regulatory | ma_close | guidance_raise | product_launch | capacity_addition | contract_award.
- `lookbackQuarters` (number): 1-20, default 8 (≈2 years for dividends — typical GPW issuers pay annually so this captures 1-2 events per stock).
- `symbol` (string, required): Alias OR canonical symbol.

### `cancel_priced_event` (~61 tokens)

Odwołanie śledzonego zdarzenia.

Input parameters:

- `eventId` (string, required): ObjectId hex of the priced event to cancel.
- `reason` (string): Optional free-text reason ≤500 chars (overwrites the event's note field).

### `update_priced_event` (~136 tokens)

Zmiana szczegółów śledzonego zdarzenia.

Input parameters:

- `eventId` (string, required): ObjectId hex of the event to update.
- `expectedDateIso` (string): New expected date (ISO).
- `expectedDirection` (string): up | down.
- `expectedMagnitudePct` (number): 0 < magnitude ≤ 100.
- `note` (string): Free-text ≤500 chars (overwrites).
- `probabilityEstimate` (number): 0-100.
- `thesisRef` (string): Cross-link to a PositionThesis ObjectId (must belong to user). Empty string clears the link.

### `create_decision_rule` (~565 tokens)

Utworzenie reguły decyzyjnej, która ma pilnować warunku za Ciebie.

Input parameters:

- `action` (object, required): Discriminated by kind. `alert_agent` = {kind: 'alert_agent', message, priority?: low|medium|high|critical} (`message` is required, priority defaults to medium). `propose_trade` = {kind: 'propose_trad…
- `cooldownMinutes` (number): 0-43200. Default 60.
- `expiresAt` (string): Optional ISO expiry. Null/omitted means no expiry.
- `ruleName` (string, required): Human-readable name, <=120 chars.
- `trigger` (object, required): Discriminated by kind: position_drawdown, thesis_validity, news_classification, or price_level. ⛔ `price_level` = {symbol, universe, operator: lte|gte, price, basis?: last|close} — the plain [alert m…

### `list_decision_rules` (~47 tokens)

Lista Twoich reguł decyzyjnych.

Input parameters:

- `limit` (number): Default 50, max 200.
- `statusFilter` (string): Optional status filter.

### `update_decision_rule` (~65 tokens)

Zmiana reguły decyzyjnej.

Input parameters:

- `patch` (object, required): Allowed fields: status active|paused|expired, cooldownMinutes 0-43200, expiresAt ISO|null.
- `ruleId` (string, required): ObjectId hex of the rule.

### `delete_decision_rule` (~37 tokens)

Usunięcie reguły decyzyjnej.

Input parameters:

- `ruleId` (string, required): ObjectId hex of the rule.

### `list_decision_rule_proposals` (~72 tokens)

Propozycje reguł decyzyjnych wynikające z Twojego zachowania.

Input parameters:

- `limit` (number): 1-100, default 20.
- `ruleId` (string): Optional ObjectId filter to a specific rule.
- `status` (string): Default pending.

### `get_activity_feed` (~81 tokens)

Ostatnie zdarzenia na Twoim koncie.

Input parameters:

- `kind` (string): all | thesis_attached | thesis_evaluated | thesis_status_change | event_resolved. Default all.
- `limit` (number): 1-200, default 30.
- `sinceIso` (string): Optional ISO timestamp — only entries after this point.

### `resolve_priced_event_now` (~46 tokens)

Natychmiastowe rozliczenie zdarzenia po bieżącej cenie.

Input parameters:

- `eventId` (string, required): ObjectId hex of the priced event to resolve.

### `get_risk_regime` (~32 tokens)

Reżim ryzyka na rynku: spokojny, podwyższony czy kryzysowy.

### `get_risk_themes` (~24 tokens)

Motywy ryzyka aktywne w tej chwili.

### `get_risk_dashboard` (~34 tokens)

Zbiorczy obraz ryzyka rynkowego: reżim i aktywne motywy razem.

### `get_event_risks` (~46 tokens)

Kalendarz zdarzeń makro, które mogą poruszyć rynkiem.

Input parameters:

- `daysAhead` (number): Forward window in calendar days. Default 30.

### `get_codex_pipeline_stats` (~28 tokens)

Statystyki potoku ekstrakcji danych ze sprawozdań.

### `get_outcome_settlement_health` (~26 tokens)

Stan rozliczania wyników alertów i prognoz.

### `get_ranking_performance` (~74 tokens)

Jak ranking sprawdzał się w przeszłości.

Input parameters:

- `horizonDays` (number): Horyzont zwrotu forward w dniach kalendarzowych. Default 21. Ta sama liczba wyznacza odstep, przy ktorym okna uznaje sie za niezalezne.

### `get_stock_rankings` (~192 tokens)

Ranking spółek GPW według wybranego kryterium.

Input parameters:

- `category` (string): Ranking category. overall sorts by Agent Rynku score; growth, dividend, and defensive sort by category fit. Default: overall.
- `dateKey` (string): Data opublikowanego runu wybranej kategorii. Brak nigdy nie wraca do bieżącego dnia.
- `limit` (number): Maksymalna liczba pozycji. Default 20, max 50.
- `minAdvPLN` (number): Dodatkowy filtr ADV w PLN. Overall zawęża opublikowanych członków bez zmiany ich rang. Pozostałe kategorie: defensive 1000000, dividend 100000, growth 1000000.
- `runId` (string): Identyfikator opublikowanego runu wybranej kategorii.

### `rank_revenue_growth` (~144 tokens)

Ranking wzrostu przychodów.

Input parameters:

- `limit` (number): Max rows, default 20, max 50
- `maxQuarterAgeDays` (number): Maximum age in full days of the latest report used for a row. Default 180. Rows without reportedAt cannot be age-filtered and remain eligible.
- `minAdvPLN` (number): Minimum average daily turnover in PLN. Default 1000000; set 0 to disable.
- `minBaseRevenuePLN` (number): Minimum revenue in the comparison quarter, in PLN. Default 5000000; set 0 to retain micro-base rows (flagged with microBase).

### `rank_thematic` (~90 tokens)

Ranking spółek w obrębie wybranego motywu inwestycyjnego.

Input parameters:

- `limit` (number): Maksymalna liczba spółek. Default 20, max 50.
- `theme` (string): Opcjonalny id tematu, np. ai, gaming, defense. Bez argumentu narzędzie zwraca tematy dostępne do rankingu.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/pl-agentrynku-gpw/api-mcp#diagnostics

## Score history

- 2026-09-25: 71

## Common questions

### What is the Agent Rynku - Warsaw Stock Exchange (GPW) data for your… MCP server?

Agent Rynku - Warsaw Stock Exchange (GPW) data for your… is an MCP server listed in the public MCP registry as pl.agentrynku/gpw. Warsaw Stock Exchange data: quotes, ESPI/EBI filings, quarterly KPIs, earnings forecasts. This page covers its hosted endpoint (https://agentrynku.pl/api/mcp).

### Is the Agent Rynku - Warsaw Stock Exchange (GPW) data for your… MCP server safe to use?

Agent Rynku - Warsaw Stock Exchange (GPW) data for your… scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Agent Rynku - Warsaw Stock Exchange (GPW) data for your… MCP server expose?

Agent Rynku - Warsaw Stock Exchange (GPW) data for your… exposes 93 tools: get_portfolio_context, get_portfolio_analytics, get_cross_market_peers, get_total_portfolio_view, get_portfolio_value_history, and 88 more. Their descriptions and schemas cost roughly 12,233 tokens of context every time the server is loaded.

### Does the Agent Rynku - Warsaw Stock Exchange (GPW) data for your… MCP server require authentication?

Yes. Agent Rynku - Warsaw Stock Exchange (GPW) data for your… asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Agent Rynku - Warsaw Stock Exchange (GPW) data for your… MCP server still maintained?

Agent Rynku - Warsaw Stock Exchange (GPW) data for your… is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://agentrynku.pl/api/mcp
- Authorisation metadata: https://agentrynku.pl/.well-known/oauth-protected-resource/api/mcp
- Repository: https://github.com/krystiangw/agentrynku-mcp
- Website: https://agentrynku.pl/mcp
- Changelog RSS feed: https://verifymcp.io/servers/pl-agentrynku-gpw/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/pl-agentrynku-gpw/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/pl-agentrynku-gpw/api-mcp
