ceyloncharts

Live and historical market data for the Colombo Stock Exchange (CSE) — Sri Lanka's only stock exchange — via 13 tools covering prices, fundamentals…

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inRU / CISFreeRead-only

What it can do

  • Get Symbols: List available CSE symbols with metadata. Optionally search by company name and/or sector. Returns CSV (symbol,name,sector,industry,is_active,last_updated).
  • Get Ohlc Data: Get OHLCV (open, high, low, close, volume) data for a CSE symbol. Prices are adjusted for splits by default (clean price action), but NOT for rights issues or dividends, unless requeste
  • Get Financial Statement: Get full line-item detail for one financial statement (income statement, balance sheet, or cash flow statement) for a CSE symbol — every quarter available, one row per line it

What data it sees

Do you need an account

No: the server works without sign-in

Live and historical market data for the Colombo Stock Exchange (CSE) — Sri Lanka's only stock exchange — via 13 tools covering prices, fundamentals, technicals, and macro data.

Market data

  • get_symbols — search listed companies by name or sector
  • get_ohlc_data — historical OHLCV price history, split-adjusted
  • get_market_summary, get_indices, get_index_data — index-level snapshots and history
  • get_technicals — moving averages, RSI, relative-strength rating

Screening

  • screen_stocks — filter by EMA position, RS rating, 52-week highs/lows, unusual volume
  • screen_indices — sector-level screening

Company & macro data

  • get_financial_statement — income statement, balance sheet, cash flow
  • get_corporate_actions — dividends, splits, rights issues
  • get_announcements — company disclosures
  • get_macro_data, get_macro_series — economic indicators

Access: OAuth 2.0 (authorization code + PKCE), scopes mcp:read and mcp:analyze. Dynamic client registration supported — no manual API key request needed. Full setup: auth.md.

Built and maintained by CeylonCharts — free charting and market data for Sri Lankan retail investors.

How to connect

How to connect ceyloncharts to Claude

The server address to paste into Claude settings:

https://ceyloncharts--creondesigns.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect ceyloncharts to ChatGPT

The server address to paste into ChatGPT settings:

https://ceyloncharts--creondesigns.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect ceyloncharts to Cursor

The server address to paste into Cursor settings:

https://ceyloncharts--creondesigns.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (13)

Raw names from tools/list. Only developers need these.

get_symbolsList available CSE symbols with metadata. Optionally search by company name and/or sector. Returns CSV (symbol,name,sector,industry,is_active,last_updated).
get_ohlc_dataGet OHLCV (open, high, low, close, volume) data for a CSE symbol. Prices are adjusted for splits by default (clean price action), but NOT for rights issues or dividends, unless requested. Defaults to the most recent 50 trading days; if more history is available the response says so and how to page further back with offset. Returns CSV (date,open,high,low,close,volume) preceded by a note if the symbol was resolved from a name/typo, if the company has other instruments, or if any corporate actions (splits/rights/dividends) fall within the requested range. If the input is ambiguous, returns JSON candidates instead.
get_financial_statementGet full line-item detail for one financial statement (income statement, balance sheet, or cash flow statement) for a CSE symbol — every quarter available, one row per line item. Cash-flow figures are cumulative (year-to-date) while income-statement figures are per-quarter — don't diff adjacent columns on the cash flow statement as if they were quarterly deltas. Returns CSV (label,canonical_key,<one column per fiscal period>), or JSON candidates if the input is ambiguous.
get_announcementsGet general CSE company disclosures for a symbol — board changes, AGM/EGM notices, listings, trading suspensions/resumptions, name changes, and other regulatory announcements. For dividends, rights issues, or share splits specifically, use get_corporate_actions instead — it has the parsed, structured detail (amounts, ratios, ex-dates) that this tool's raw announcement text does not. Returns CSV (date,type,description,pdf_url), or JSON candidates if the input is ambiguous.
get_macro_seriesList available macroeconomic series definitions. Optionally search by name. Returns CSV (id,name,description,frequency,unit,source).
get_macro_dataGet macroeconomic data for a specific series. Returns CSV (date,value), or JSON candidates if the input is ambiguous.
get_indicesList CSE market/sector indices (ASPI, S&P SL20, and industry sub-indices). Optionally search by name. Returns CSV (symbol,name,index_code,index_name,is_main_index).
get_index_dataGet historical data for a CSE market/sector index. Returns CSV (date,open,high,low,close,change,change_pct,sector_turnover,sector_volume,sector_trades,price_index,per,pbv,dy,companies_traded,companies_listed), or JSON candidates if the input is ambiguous. Headline indices (ASPI, S&P SL20) populate open/high/low/close; industry sub-indices instead populate sector_turnover/sector_volume/sector_trades and leave high/low empty.
screen_stocksScreen CSE stocks by pre-computed technical criteria (moving-average position, relative-strength rating, 52-week range, unusual volume). Every filter is optional and AND-combined; omit a filter to not constrain on it. E.g. above_ema50=true & above_ema200=true & rs_rating_min=80 finds market-leading uptrends; is_52w_high=true finds stocks making new highs today; vol_vs_sma50_pct_min=100 finds unusual volume (trading at 2x+ its 50-day average). Returns CSV, one row per matching stock.
screen_indicesScreen CSE sector/headline indices (ASPI, S&P SL20, and industry sub-indices) by the same pre-computed technical criteria as screen_stocks — moving-average position and relative-strength rating. There is no 52-week-range or volume filter here (those are not tracked for indices). Use this to find which sectors are in a sustained uptrend/downtrend, as distinct from get_indices/get_index_data which show a single day's performance. Returns CSV, one row per matching index.
get_technicalsGet pre-computed daily technicals (moving averages, relative-strength rating, 52-week range, volume anomalies) for a CSE stock OR a sector/headline index (ASPI, S&P SL20, industry sub-indices) — one tool for both. Returns CSV, one row per trading day, most recent last. Defaults to the most recent 50 trading days; if more history is available the response says so and how to page further back with offset. If the input is ambiguous, returns JSON candidates instead.
get_market_summaryGet a daily/weekly/monthly market-wide overview: top gainers/losers, top by volume/turnover/crossings, ASI and S&P SL20 performance, and top/bottom performing sectors. A weekly or monthly summary requested mid-period covers what has happened so far (e.g. Monday through today for a weekly summary requested on a Wednesday), not a wait for the period to finish and not the prior complete period — the response's isPartialPeriod field says which case applies. Returns JSON (not CSV — this is a bundle of several small lists, not one table).
get_corporate_actionsGet a calendar of corporate actions (dividends, rights issues, share splits) — announcement details, not just a price-adjustment factor. This is the tool for dividends/rights/splits specifically; for other company disclosures (board changes, AGM/EGM notices, trading suspensions, etc.), use get_announcements instead. Omit all filters to browse every corporate action in the dataset, past and future, oldest first; pass from=<today> to jump straight to upcoming ones, which is the most common need. Optionally scope to one company (matches every one of its share classes, not just one) and/or one kind. Returns CSV, one row per action. If the symbol is ambiguous, returns JSON candidates instead.