Server data from the Official MCP Registry
Pakistan Stock Exchange in plain English — quotes, dividends, announcements, and indices.
Pakistan Stock Exchange in plain English — quotes, dividends, announcements, and indices.
Valid MCP server (2 strong, 5 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
8 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-revolutionarybukhari-psx-mcp": {
"args": [
"psx-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
mcp-name: io.github.revolutionarybukhari/psx-mcp
Talk to the Pakistan Stock Exchange in plain English.
psx-mcp is a Model Context Protocol server that exposes PSX market data — quotes, dividends, announcements, indices — as tools any MCP-compatible AI client can call. Connect it to Claude Desktop, Cursor, ChatGPT, or your own agent, and ask questions like:
"What are the upcoming dividends on PSX with payouts above 100%?"
"Should I buy MEBL today to collect the dividend?"
"Pull recent announcements for OGDC and summarize anything material."
"How has FFC's dividend history looked over the past 5 years?"
The LLM picks the right tools automatically and answers in your language.
Existing PSX tools are libraries — you import them, write code, get data. MCP servers are tools an LLM calls for you. You ask in English, the model invokes get_quote, get_upcoming_dividends, get_dividend_history, and synthesizes an answer. No Python required for the end user.
This is also the first PSX MCP server published. If you're building agents, financial copilots, or AI-augmented research workflows for Pakistani markets, this gives them eyes.
| Tool | What it does |
|---|---|
get_quote(symbol) | Current price snapshot for a symbol |
get_upcoming_dividends(symbol?) | Payouts table, optionally filtered, with computed buy deadlines |
get_buy_deadline(symbol) | Last day to buy and still collect the dividend (T+2 settlement) |
get_dividend_history(symbol, years) | Historical payouts |
get_announcements(symbol?, limit) | Recent corporate filings + PDF links |
search_symbols(query) | Fuzzy match company names → tickers |
get_indices() | KSE100, KSE30, KMI30, ALLSHR, PSXDIV20, etc. |
get_market_status() | Is PSX open right now? When does it open next? |
screen_dividend_stocks(min_payout_pct) | Filter upcoming dividends by payout size |
psx://market-statuspsx://indicespsx://upcoming-dividendsanalyze_dividend_play(symbol) — full dividend-trade analysisportfolio_review(symbols) — review a holdings listfind_dividend_opportunities(min_payout_pct) — screener + per-name analysisRequires Python 3.10+.
# From PyPI (once published)
pip install psx-mcp
# Or with uv (recommended)
uv tool install psx-mcp
# From source
git clone https://github.com/revolutionarybukhari/psx-mcp
cd psx-mcp
pip install -e .
Edit your Claude Desktop config:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"psx": {
"command": "uvx",
"args": ["psx-mcp"]
}
}
}
Restart Claude Desktop. You should see the PSX tools listed in the connection icon. Try:
"What dividends are coming up this week on PSX?"
Settings → MCP → add server:
{
"mcpServers": {
"psx": {
"command": "psx-mcp",
"args": []
}
}
}
For shared/team use or hosted agents:
psx-mcp --transport http --host 0.0.0.0 --port 8000
The server is then reachable at http://localhost:8000/mcp. Test it with the MCP Inspector:
npx @modelcontextprotocol/inspector
# point it at http://localhost:8000/mcp
Once connected:
"List all PSX stocks paying more than 50% dividend right now,
sorted by buy deadline."
"For each stock in my portfolio (HBL, OGDC, PSO, ENGRO, MEBL),
tell me if there's an upcoming dividend and what the buy deadline is."
"Find me consistent dividend payers on PSX — companies that have
paid every year for the last 3+ years with payouts above 30%."
"What's happening with FFC today? Pull the quote and the latest
3 announcements."
"Walk me through the dividend trade for MARI step by step."
┌──────────────────────┐ ┌─────────────────┐
│ Claude / Cursor / │ MCP │ psx-mcp │
│ ChatGPT / Agent │ ──────► │ server │
└──────────────────────┘ └────────┬────────┘
│ httpx + bs4
▼
┌─────────────────┐
│ dps.psx.com.pk │
└─────────────────┘
Tools call the public PSX Data Portal, parse HTML with BeautifulSoup, normalize into structured JSON, and return to the LLM. No keys, no auth, no scraping headaches for the consumer.
httpx.AsyncClient so MCP calls don't block.search_symbols fast.BC_From − 2 trading days, skipping weekends and configurable holidays in dividend_calc.PSX_HOLIDAYS_2026.This is one server in a wider PSX open-source toolkit:
psx-dividend-alert — proactive Telegram alerts for upcoming dividendspsx-cgt-calculator — Pakistan capital-gains-tax with FIFO lotspsx-zakat-calculator — zakat on stock holdings (zakatable assets method)psx-broker-statement-parser — normalize KTrade/AKD/JS Global PDFspsx-announcements-summarizer — LLM-powered summaries of every PSX filingThe MCP server makes all of these LLM-callable. Pair them and you have a complete conversational PSX research stack.
PSX_HOLIDAYS_2026 in dividend_calc.py once PSX publishes the annual calendar. Without it, the buy-deadline math correctly skips weekends but will be off during Eid/Independence Day weeks.marketdatarequest@psx.com.pk if you need one.scraper.py, expose it in server.py with @mcp.tool(), add a docstring (the docstring becomes the LLM's tool description — make it clear).tests/. The MCP SDK supports in-memory testing.MIT. See LICENSE.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.