psxdata-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_pricesA | Load daily OHLCV prices (PKR, unadjusted) for up to 50 PSX symbols into table Omit start/end for the full history. Re-loading a symbol replaces all its rows. |
| load_screenerA | Load the full PSX screener (~729 symbols: sector, price, market cap, P/E, dividend
yield, free float, 30-day avg volume, 1-year change) into table |
| load_indexA | Load constituents and weights of a PSX index (e.g. KSE100, KSE30, KMI30) into table
|
| load_sectorsA | Load the PSX sector summary (advances, declines, turnover, market cap for all 37
sectors) into table |
| load_fundamentalsA | Load the list of filed financial reports (year, type, period, posting date, document
link) into table |
| load_symbolsB | Load all listed PSX symbols with company name, sector and ETF/debt/GEM flags into
table |
| load_debt_marketB | Load PSX debt instruments (TFCs, Sukuks, government securities: face value, dates,
coupon rate, maturity) into table |
| load_eligible_scripsB | Load margin-trading eligible scrips by market category into table |
| queryA | Run DuckDB SQL over the loaded tables. Returns at most 200 rows as a table; aggregate or LIMIT for large results. You may create views/tables. No file or network access. |
| list_tablesA | List loaded tables with row counts and load time (UTC). No columns — use query("DESCRIBE ") for those. |
| quoteA | Get the latest snapshot for one PSX symbol (price, sector, market cap, P/E, dividend yield, 1-year change). Does not create a table. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| psx-playbook | Rules for analysing Pakistan Stock Exchange data with the psxdata tools — data traps (unadjusted prices, zero-means-missing valuations), SQL patterns, hosted-only marts, web cross-checks and how to present results. Use before any PSX price, return, valuation or screening analysis. |
| compare | Side-by-side comparison of 2–10 PSX stocks over a period — returns, risk, correlation, valuation and a rebased price path, optionally against the KSE-100. Use when asked to compare PSX stocks, pick between them, or see how they moved together. |
| market-wrap | Daily or weekly summary of the Pakistan Stock Exchange — KSE-100 move and the stocks driving it, breadth, sector performance, top movers, turnover and the news behind it. Use when asked how the PSX or KSE-100 did today or this week, or for a market summary. |
| screen | Find PSX stocks matching conditions — ready-made value, dividend and momentum screens, or the user's own criteria (P/E, yield, sector, index, liquidity, returns). Use when asked which PSX stocks are cheap, pay high dividends, are trending, or meet a list of conditions. |
| shariah-screen | Find Shariah-compliant PSX stocks (KMI All-Share Islamic Index members) on their own or combined with a value, dividend, momentum or custom screen, with purification and recomposition caveats. Use when asked for halal, Islamic or Shariah-compliant PSX stocks. |
| tearsheet | One-page report on a single PSX stock — price performance, risk, valuation against sector peers, recent filings and news. Use when asked to analyse, review or summarise one PSX-listed company. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool loads a distinct dataset or performs a distinct operation (prices, screener, index, sectors, fundamentals, symbols, debt, eligible scrips, query, list_tables, quote). Overlap between load_screener and quote is resolved by scope (all symbols vs single symbol) and table creation behavior. load_fundamentals explicitly clarifies it excludes valuation metrics, avoiding confusion with load_screener.
All names use snake_case, which is consistent. However, eight tools follow a load_<noun> (verb_noun) pattern, while query and quote deviate (just verb and noun), making the pattern not perfectly uniform.
11 tools are appropriate for the breadth of PSX data categories, each loading a distinct table or providing a distinct query utility. No tool appears redundant, and the count is well within the sweet spot of 3-15.
The surface covers key market data: prices, snapshots, indices, sectors, symbols, debt, and filings. However, it lacks tools for deeper fundamental data (e.g., financial statement line items) and time-series index values, which are notable gaps for advanced analysis.