Skip to content

Agent Rynku - Warsaw Stock Exchange (GPW) data for your agent

by agentrynku.pl · remote · local (npm) · no sign-in to list tools · v1.2.2 · published by pl.agentrynku

Public GPW daily prices, financials, ratios, company search, earnings calendar and WZA dividends.

Read only

6 tools: 6 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

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

Findings

Matches of fixed checks, with the text they matched.

1 info
  • The description is 2,799 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...justed variants while revenue stays, so never read those nulls as "not reported"."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

6 tools

Only reads 6Claude Code: allow
  • get_financial_ratiosGPW quarterly financial ratios from published, quality-gated reports: EBITDA, operating, net profit margins, plus equity/assets.No findings

    Why it is in this group

    • The name "get_financial_ratios" says "get": a word for reading.
    Description, as the server wrote it
    GPW quarterly financial ratios from published, quality-gated reports: EBITDA, operating, net profit margins, plus equity/assets. Each percentage includes its formula and report basis. Null means missing, withheld or nonpositive denominator. No price-based valuation multiples or TTM estimates.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_public_dividendsKnown GPW dividend resolutions from issuer WZA announcements only, with amount per share, currency, status, dates and source URLs.No findings

    Why it is in this group

    • The name "get_public_dividends" says "get": a word for reading.
    Description, as the server wrote it
    Known GPW dividend resolutions from issuer WZA announcements only, with amount per share, currency, status, dates and source URLs. Limited coverage: excludes vendor EODHD history and predictions. An empty result does not mean the company pays no dividend. Latest resolution generation is retained, including cancellations.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_public_earnings_calendarGet known scheduled GPW reports over the next 1 to 90 days, including today in Warsaw.No findings

    Why it is in this group

    • The name "get_public_earnings_calendar" says "get": a word for reading.
    Description, as the server wrote it
    Get known scheduled GPW reports over the next 1 to 90 days, including today in Warsaw. Covers the public market calendar, without a personal watchlist. Includes source and fetch date, removes dates superseded by published results, and declares truncation. An empty result is not proof that no companies will report.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_public_price_historyStored GPW daily OHLCV price history without an account.No findings

    Why it is in this group

    • The name "get_public_price_history" says "get": a word for reading.
    Description, as the server wrote it
    Stored GPW daily OHLCV price history without an account. Returns the latest up to 500 candles within 1-3650 calendar days, in chronological order, with truncation, source, stored-series update timestamp and actual candle dates. Coverage may be shorter than requested. Per-candle priceScale and adjustment metadata are preserved; unknown means unrecorded, currency null means not recorded. Adjusted history can change after splits or dividends. No intraday, live quote or supplier fetch on demand. GPW equities only, excluding indices, ETFs and bonds; use ticker or ISIN.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_quarterly_kpisQuarterly financial KPIs for a symbol (revenue, EBITDA, net income, EPS, balance sheet, cash flow, adjusted vs reported).1 finding

    Why it is in this group

    • The name "get_quarterly_kpis" says "get": a word for reading.

    Findings

    • Info

      The description is 2,799 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...justed variants while revenue stays, so never read those nulls as "not reported"."

      What this check looks for
    Description, as the server wrote itContains invisible characters, shown as [U+…]
    Quarterly financial KPIs for a symbol (revenue, EBITDA, net income, EPS, balance sheet, cash flow, adjusted vs reported). Foundation data for predictive scanner / earnings bridge / forecast calibration. Coverage varies by GPW company and quarter. Instruments are resolved from the registry by ticker, alias or ISIN, within the Polish market. Missing data is not zero. Each row includes reportScope (null when unknown); do not assume standalone and consolidated figures are comparable. ⚠[U+FE0F]⚠[U+FE0F] UNITS: monetary `...PLN` fields here are in MILLIONS — `revenuePLN: 11872` for KGHM means 11.87 BILLION, not 11872. This differs from `get_forecast`, where `baseline.ttm*PLN` is in BARE units (KGHM 39296000000); the two scales differ by exactly 1e6 (verified 2026-08-05 on 6 companies), so never compare or divide a value from this tool by one from get_forecast without converting first. ⚠[U+FE0F]⚠[U+FE0F] CURRENCY: despite the `PLN` suffix, these amounts are in the issuer's REPORTING currency — always read the row's `currency` field, which may be EUR or USD. The suffix is a legacy field name, not a currency assertion. EXCEPTIONS to the million rule: `epsPLN` and `adjustedEpsPLN` are per-share and therefore in bare currency units. ⚠[U+FE0F]⚠[U+FE0F] DATA QUALITY: every row carries `dataQuality` with `flagRule` (our detector's rule, null when clean), `manualVerdict` (`legit` = a human confirmed the number at the source, `confirmed_bad` = a human rejected it) and `blocksComputation` (the SHARED predicate the forecast pipeline itself applies). A row with `blocksComputation: true` is one WE do not trust: quote it only with that caveat, and never feed it into a TTM sum or a growth rate. Measured 2026-08-09: of 4665 polish-stocks rows, 257 carry a detector flag and 257 have `blocksComputation: true` - the two counts match by coincidence, not by definition: the blocked set drops one flagged row a human confirmed as `legit` and adds one row a human rejected as `confirmed_bad` without any detector flag. Always read `blocksComputation`, never infer it from `flagRule`. ⭐ PROVENANCE (ARCH-3.5): every row also carries `values.<field>` = {value, currency, unit ('mln' for money, absent for per-share), asOf, source (producer label), evidenceCount, sourceUrl}. Prefer `values` over the bare `...PLN` fields: it names the currency and unit explicitly, and a field with no complete provenance is ABSENT from `values` rather than null or 0. The bare `...PLN` fields are legacy and will be removed. `withheld` lists fields returned as null (flat fields and `values`) because a data-quality flag withholds them, each with `field`, `rule` and a Polish `reason`: a profit-read flag withholds net income, parent net income, EBIT, EBITDA, EPS and their adjusted variants while revenue stays, so never read those nulls as "not reported".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_gpw_companiesFind active GPW companies by name, ticker, alias or ISIN before requesting financial data.No findings

    Why it is in this group

    • The name "search_gpw_companies" says "search": a word for reading.
    Description, as the server wrote it
    Find active GPW companies by name, ticker, alias or ISIN before requesting financial data. Returns canonical symbols, ISIN and public company URLs; does not search other markets. Results are bounded and truncated is explicit.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.2.2. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__gpw__get_public_price_history",
      "mcp__gpw__get_financial_ratios",
      "mcp__gpw__get_public_dividends",
      "mcp__gpw__search_gpw_companies",
      "mcp__gpw__get_public_earnings_calendar",
      "mcp__gpw__get_quarterly_kpis"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as gpw. Review it before you use it.