# nepse.link (remote · nepse.link)

Nepal Stock Exchange data: prices, company filings, signals, broker flow, IPOs, fund NAVs.

- Trust score: 36/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `nepse.link`: 36/100 (this document), [markdown](https://verifymcp.io/servers/link-nepse-nepse/nepse.md), [page](https://verifymcp.io/servers/link-nepse-nepse/nepse)

## Channel facts

- Endpoint: `https://nepse.link/mcp`
- Transports: `streamable-http`
- Auth: `required (not validated)`
- Version: `1.1.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-11-05.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, but returns a challenge with no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**Unverified: 6 categories.** Categories scored 0 because we could not verify them: 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 nepse.link MCP server?

nepse.link is a hosted endpoint at https://nepse.link/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 link-nepse-nepse 'https://nepse.link/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "link-nepse-nepse": {
      "url": "https://nepse.link/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "link-nepse-nepse": {
      "type": "http",
      "url": "https://nepse.link/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.link-nepse-nepse]
url = "https://nepse.link/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "link-nepse-nepse": {
      "type": "remote",
      "url": "https://nepse.link/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add link-nepse-nepse --url 'https://nepse.link/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  link-nepse-nepse:
    url: "https://nepse.link/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "link-nepse-nepse": {
      "Transport": "http",
      "Url": "https://nepse.link/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add link-nepse-nepse -t streamable-http -u 'https://nepse.link/mcp'
```

### Other

```json
{
  "mcpServers": {
    "link-nepse-nepse": {
      "type": "http",
      "url": "https://nepse.link/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-10-28 (score 36, −39)

- [security regression] Endpoint reachability: reachable → behind authorisation
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → unverified
- [security regression] Stability: 0.03 → unverified
- [security regression] Authorization: partial → fail
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified

### 2026-10-27 (score 75, +1)

- [security] Resource “glossary” now points somewhere else: nepse://glossary → nepse://page/glossary
- [functional improvement] Stability: unverified → 0.03

### 2026-10-26 (score 74)

First indexed and scored.

## MCP tools (22)

### `get_market_overview` (~50 tokens)

NEPSE market overview

Latest NEPSE session: market status, NEPSE/Sensitive/Float indices, turnover and market cap summary, sector sub-indices, and the top gainers, losers and turnover leaders.

Output parameters:

- `fetched_at` (string|null): When the market data was fetched (ISO)
- `indices` (array): NEPSE, Sensitive, Float and other headline indices
- `market`: Whether the market is open, and as of when
- `page` (string|null): nepse.link page to open for the full view
- `sub_indices` (array): Sector sub-indices
- `summary`: Turnover, traded shares, transactions and market cap
- `top_gainers` (array): Top gainers
- `top_losers` (array): Top losers
- `top_turnover` (array): Turnover leaders

### `get_index_history` (~42 tokens)

NEPSE index history

Daily NEPSE index OHLC, change, turnover and volume for recent sessions.

Input parameters:

- `days` (integer): Number of most recent sessions (1-365)

Output parameters:

- `sessions` (array): Daily NEPSE index bars, oldest first

### `search_companies` (~90 tokens)

Search listed companies

Find NEPSE-listed securities by ticker or company name, optionally within a sector. Returns symbols to use with the other tools and the list of sector names.

Input parameters:

- `limit` (integer): Maximum rows to return (1-100)
- `query` (string): Ticker or part of the company name
- `sector` (string): Sector name or part of it, e.g. Hydro Power

Output parameters:

- `companies` (array): Matching securities
- `sectors` (array): Every sector name, for the sector filter
- `total_matches` (number|null): Matches before the limit

### `get_company` (~93 tokens)

Company snapshot

One security in depth: profile, price summary (1m/3m/1y change, 52-week range, liquidity), latest quarterly fundamentals with year-on-year change, sector metrics, dividend history and latest AGM agenda, the nepse.link scorecard, and technical indicators with the latest floorsheet broker activity.

Input parameters:

- `symbol` (string, required): NEPSE ticker symbol, e.g. NABIL or UPPER

Output parameters:

- `company`: Name, sector, regulator, instrument, listing status
- `dividends`: Latest and recent dividends with book close and AGM dates
- `filing_flags`: Inconsistencies spotted in the company's filings
- `fundamentals`: Latest quarter: EPS, book value, ROE, P/E, PEG, paid-up capital, net profit, YoY change
- `page` (string|null): nepse.link page to open for the full view
- `price`: Last close, 1m/3m/1y change, 52-week range and position, liquidity
- `scorecard`: nepse.link 0-4 scores and profile tags
- `sector_metrics`: Sector-specific ratios (banks: NPL, CD ratio, capital adequacy...)
- `symbol` (string): Ticker
- `technicals`: RSI, moving averages, Bollinger position, levels, trend and floorsheet broker activity

### `get_price_history` (~62 tokens)

Price history

Daily OHLC, volume and turnover bars for one security, most recent last.

Input parameters:

- `days` (integer): Number of most recent sessions (1-750)
- `symbol` (string, required): NEPSE ticker symbol, e.g. NABIL or UPPER

Output parameters:

- `bars` (array): Daily bars, oldest first
- `symbol` (string|null): Ticker

### `get_scorecard` (~197 tokens)

Company scorecards

Rule-based scorecards for every actively traded company with filings: earnings trajectory, earnings quality, valuation, dividend reliability, balance-sheet strain, profile tags and structural AGM proposals, plus last traded price, the latest declared dividend (cash, bonus and total % of face value) and cash dividend yield. Filter and sort to screen companies, e.g. sector Hydro Power sorted by cash_yield.

Input parameters:

- `agm_action` (string): Only companies whose latest AGM agenda proposes this
- `limit` (integer): Maximum rows to return (1-100)
- `order` (string)
- `profile` (string): Only companies tagged with this profile
- `sector` (string): Sector name or part of it
- `sort_by` (string): Field to sort by: a 0-4 score, cash_yield (cash dividend over price) or total_dividend (latest cash plus bonus %); omit to sort by symbol

Output parameters:

- `as_of` (string|null): Scorecard date
- `legend` (string|null): How to read the scores
- `page` (string|null): nepse.link page to open for the full view
- `rows` (array): One row per company
- `total_matches` (number|null): Matches before the limit

### `get_trading_signals` (~77 tokens)

Technical trading signals

Technical-indicator signals (trend, RSI, MACD, volume) computed for every traded security after the latest session, with recommendation counts. Use get_company for one symbol's full technicals.

Input parameters:

- `limit` (integer): Maximum rows to return (1-400)
- `recommendation` (string): Only symbols with this recommendation

Output parameters:

- `data_date` (string|null): Session the signals were computed after
- `page` (string|null): nepse.link page to open for the full view
- `recommendation_counts`: How many symbols carry each recommendation
- `symbols` (array): Signals
- `total_matches` (number|null): Matches before the limit

### `get_broker_flow` (~107 tokens)

Broker flow

Broker-wise floorsheet analysis: symbols that brokers with a proven track record are accumulating or distributing, herding where many brokers trade one side, and the broker leaderboard. horizon is the holding period in sessions the track record was measured over.

Input parameters:

- `direction` (string)
- `horizon` (string)
- `limit` (integer): Maximum rows to return (1-100)
- `symbol` (string): NEPSE ticker symbol, e.g. NABIL or UPPER

Output parameters:

- `broker_leaderboard` (array): Brokers by track record
- `buys` (array): Symbols proven brokers are accumulating
- `herding` (array): Many brokers trading one side
- `horizon_days` (number|null): Holding period the track records were measured over
- `latest_date` (string|null): Latest floorsheet date
- `page` (string|null): nepse.link page to open for the full view
- `sells` (array): Symbols proven brokers are distributing

### `get_market_calendar` (~92 tokens)

Market calendar

IPO, FPO, right share, book closure, AGM and other corporate-action windows, plus NEPSE trading holidays, overlapping a date range.

Input parameters:

- `days` (integer): Length of the window in days
- `from` (string): Start date YYYY-MM-DD; defaults to today
- `search` (string): Filter by text, e.g. IPO, Right Share, Holiday or a company name

Output parameters:

- `events` (array): IPO, FPO, right share, book closure, AGM and holiday windows
- `page` (string|null): nepse.link page to open for the full view

### `get_book_closures` (~117 tokens)

Dividend book closures and AGMs

Declared dividends (cash and bonus %, fiscal year) with their book closure and AGM dates. Hold the shares, settled, before the book closure date to be entitled. Without a symbol, returns closures in a date window; with one, that company's recent closures.

Input parameters:

- `days` (integer): Length of the window in days
- `from` (string): Start date YYYY-MM-DD; defaults to today
- `limit` (integer)
- `symbol` (string): NEPSE symbol, e.g. NABIL

Output parameters:

- `page` (string|null): nepse.link page to open for the full view
- `rows` (array): Declared dividends with their dates

### `get_mutual_funds` (~126 tokens)

Mutual fund NAVs

Latest NAVs for Nepali mutual funds, with each fund's estimated NAV now (its latest NAV moved by today's prices of the holdings in its monthly report; null where holdings are unknown). Closed-end funds also carry their market price and premium or discount to both. Sort by estimated_nav_gap for the funds whose estimate is furthest from their published NAV.

Input parameters:

- `kind` (string)
- `limit` (integer): Maximum rows to return (1-200)
- `query` (string): Symbol or part of the fund name
- `sort_by` (string)

Output parameters:

- `estimate_prices_as_of` (string|null): Price date the estimated NAVs use
- `fetched_at` (string|null): When NAVs were fetched
- `funds` (array): One row per fund
- `page` (string|null): nepse.link page to open for the full view
- `total_matches` (number|null): Matches before the limit

### `get_mf_holdings` (~208 tokens)

Mutual fund holdings

What Nepali mutual funds own, from each fund's latest monthly report, joined with today's prices. Pass stock to see which funds hold a company, how much of it they own and how many days of normal volume it would take them to sell out. Pass fund for one fund's full portfolio, latest published NAV, estimated NAV now, price against both, maturity capture, and the P/E and dividend yield of its holdings. Pass neither for the overview: sector weights against the market, the most held stocks, the cheapest closed-end funds against estimated NAV, and busy stocks no fund owns.

Input parameters:

- `fund` (string): Fund symbol, e.g. NIBLSF or PSF
- `limit` (integer): Maximum rows to return (1-150)
- `sector` (string): Limit the overview's stock list to a sector, e.g. Hydro Power
- `stock` (string): NEPSE ticker symbol, e.g. NABIL or UPPER

Output parameters:

- `closed_end_cheapest_vs_nav`: Overview: closed-end funds furthest below estimated NAV
- `fund`: With fund: its portfolio, latest and estimated NAV, premium and holdings valuation
- `page` (string|null): nepse.link page to open for the full view
- `prices_as_of` (string|null): Price date
- `report_periods`: Report months the holdings come from
- `sectors`: Overview: fund money by sector against the market
- `stock`: With stock: which funds hold it, how much, and days to exit
- `top_stocks`: Overview: most held stocks

### `lookup_glossary` (~63 tokens)

Stock market glossary

Plain-language definitions of Nepali stock market terms (English and Nepali), e.g. book closure, right share, MeroShare, EDIS.

Input parameters:

- `limit` (integer): Maximum rows to return (1-20)
- `term` (string, required)

Output parameters:

- `page` (string|null): nepse.link page to open for the full view
- `terms` (array): Matching terms

### `find_links` (~109 tokens)

Find investor links

Search the nepse.link directory of Nepali stock market resources: broker TMS portals, MeroShare, CDSC, SEBON, NEPSE, news, research and apps. Links reported down are marked.

Input parameters:

- `category` (string): Category id or name
- `limit` (integer): Maximum rows to return (1-100)
- `query` (string): Text to search for, e.g. MeroShare, CDSC or a broker number such as TMS 57

Output parameters:

- `categories`: Link categories
- `links` (array): Matching links
- `total_matches` (number|null): Matches before the limit

### `get_data_status` (~27 tokens)

Data freshness

When each nepse.link dataset was last refreshed and whether it is within its expected age.

Output parameters:

- `datasets` (array): Each dataset's freshness
- `overall` (string|null): fresh, degraded or stale

### `screen_stocks` (~322 tokens)

Stock screener

Find stocks by criteria, as the nepse.link screener does: RSI range, position in the 52-week range, minimum turnover, sector, scorecard profile, a technical tag (OVERSOLD, OVERBOUGHT, GOLDEN_CROSS, DEATH_CROSS, VOL_SPIKE, ACCUMULATION, BREAKOUT) and the technical recommendation. A preset fills in a ready-made screen: quality-pullback, income, oversold, overbought, volume, engines-buy (engines-buy needs the site's in-browser engines, so it applies no filter here; use signal instead). Each row has the close, 1-day and 20-session change, RSI, 52-week position, volume ratio, turnover, scorecard valuation and dividend scores, signal and tags.

Input parameters:

- `limit` (integer): Maximum rows to return (1-200)
- `max_52w_position` (number): At most this far up the 52-week range, 0 = at the low
- `min_turnover_crore` (number): Minimum turnover in the latest session, NPR crore
- `order` (string)
- `preset` (string)
- `profile` (string): Scorecard profile; quality means growth, income or value
- `rsi_max` (number)
- `rsi_min` (number)
- `sector` (string): Sector name or part of it, e.g. Hydro Power
- `signal` (string)
- `sort_by` (string)
- `tag` (string)

Output parameters:

- `filters_applied`: Every filter in effect
- `page` (string|null): nepse.link page to open for the full view
- `preset`: The preset applied, if any
- `rows` (array): Matching stocks
- `tag_meanings`: What each tag means
- `total_matches` (number|null): Matches before the limit
- `universe` (number|null): Stocks screened

### `compare_companies` (~104 tokens)

Compare companies

Two to eight securities side by side: last close, 1m/3m/1y change, 52-week position, latest-quarter EPS, P/E, book value and P/B, ROE, paid-up capital, latest dividend and cash dividend yield, and the nepse.link scorecard. Use get_company for one symbol in depth.

Input parameters:

- `symbols` (array, required): Tickers to compare, e.g. [NABIL, NICA, GBIME]

Output parameters:

- `companies` (array): One entry per requested symbol, in the order asked

### `calculate_trade_costs` (~225 tokens)

Trade costs and tax

Works out NEPSE trading costs with the rates nepse.link's calculators use: broker commission (tiered), SEBON fee and DP charge on a buy or a sell, capital gains tax on a sale (individuals 3.75% held over 365 days, 5% otherwise; institutions 10%), and the tax on a cash and bonus dividend. Use this rather than computing fees or tax yourself.

Input parameters:

- `bonus_pct` (number): Dividend: bonus shares as % of holdings
- `buy_price` (number): Sell: your WACC per share, buy charges included; needed for capital gains tax and profit
- `cash_pct` (number): Dividend: cash dividend as % of the NPR 100 face value
- `holding_days` (integer): Sell: days held; over 365 is taxed at the long-term rate
- `investor` (string)
- `price` (number): Buy or sell price per share (required for buy and sell)
- `quantity` (integer, required): Number of shares
- `side` (string, required)

Output parameters:

- `amount_npr` (number|null): Share amount, quantity times price
- `capital_gains_tax_npr` (number|null): Sell: capital gains tax, when buy_price is given
- `commission_npr` (number|null): Broker commission
- `cost_per_share_npr` (number|null): Buy: cost per share with charges (your WACC)
- `dp_charge_npr` (number|null): CDSC DP charge
- `net_cash_npr` (number|null): Dividend: cash after tax
- `profit_npr` (number|null): Sell: profit over buy_price
- `rates`: Rates used
- `sebon_fee_npr` (number|null): SEBON fee
- `side` (string)
- `total_payable_npr` (number|null): Buy: everything you pay
- `total_receivable_npr` (number|null): Sell: what reaches you after charges and tax

### `get_market_insights` (~131 tokens)

Market insights

What moved and what changed in the latest session: advance/decline breadth for recent sessions, each sector's move (1d, 1w, 1m, 3m) with its P/E, P/B, ROE, EPS growth and dividend yield, stocks near the daily circuit limit, new 52-week highs and lows, limit streaks, and the symbols that newly gained or lost a buy or sell signal.

Input parameters:

- `limit` (integer): Maximum rows to return (1-100)
- `sector` (string): Limit to a sector, e.g. Microfinance

Output parameters:

- `breadth` (array): Advance/decline for recent sessions
- `near_circuit_limit` (array): Stocks near the daily circuit limit
- `new_52w_highs` (array): New 52-week highs
- `new_52w_lows` (array): New 52-week lows
- `page` (string|null): nepse.link page to open for the full view
- `sectors` (array): Sector moves and valuation
- `session` (string|null): Session date
- `signal_changes`: Symbols that newly gained or lost a buy or sell signal

### `get_fund_nav_history` (~82 tokens)

Fund NAV history

One mutual fund's published NAVs over time with the NEPSE index change over the same window, so a fund's return can be set against the market. Use get_mutual_funds to list funds.

Input parameters:

- `days` (integer): Window length in days
- `fund` (string, required): Fund symbol, e.g. NIBLSF

Output parameters:

- `last_published` (string|null): Date of the latest NAV
- `nav_change_pct` (number|null): NAV change over the window %
- `nepse_change_pct` (number|null): NEPSE change over the same window %
- `page` (string|null): nepse.link page to open for the full view
- `points` (array): Published NAVs in the window, oldest first
- `symbol` (string): Fund ticker

### `get_broker_concentration` (~118 tokens)

Broker concentration

Stocks whose trading one broker dominates over the last sessions: the top buying and selling broker (number and name) and their share of volume, the top three's share, same-broker crossing, and flags for accumulation, distribution and heavy self-crossing. Pass symbol for one stock.

Input parameters:

- `flag` (string)
- `limit` (integer): Maximum rows to return (1-300)
- `sector` (string)
- `symbol` (string): NEPSE ticker symbol, e.g. NABIL or UPPER

Output parameters:

- `from` (string|null): Window start
- `legend` (string|null): How to read the fields
- `page` (string|null): nepse.link page to open for the full view
- `rows` (array): One row per stock
- `to` (string|null): Window end
- `total_matches` (number|null): Matches before the limit

### `get_floorsheet` (~107 tokens)

Floorsheet

One stock's latest floorsheet: its largest trades with buyer and seller broker, each broker's net position (top net buyers and sellers) and the session VWAP. Pass broker to see one broker's trades in it.

Input parameters:

- `broker` (integer): Broker number, e.g. 58
- `limit` (integer): Maximum rows to return (1-100)
- `symbol` (string, required): NEPSE ticker symbol, e.g. NABIL or UPPER

Output parameters:

- `dates`: Trade dates in the file
- `largest_trades` (array): Largest trades
- `page` (string|null): nepse.link page to open for the full view
- `symbol` (string): Ticker
- `top_net_buyers` (array): Brokers that bought the most net
- `top_net_sellers` (array): Brokers that sold the most net
- `vwap` (number|null): Volume-weighted price of the matching trades

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/link-nepse-nepse/nepse#diagnostics

## Score history

- 2026-11-05: 36
- 2026-11-04: 36
- 2026-11-03: 36
- 2026-11-02: 36
- 2026-11-01: 36
- 2026-10-31: 36
- 2026-10-30: 36
- 2026-10-29: 36
- 2026-10-28: 36
- 2026-10-27: 75
- 2026-10-26: 74

## Common questions

### What is the nepse.link MCP server?

nepse.link is an MCP server listed in the public MCP registry as link.nepse/nepse. Nepal Stock Exchange data: prices, company filings, signals, broker flow, IPOs, fund NAVs. This page covers its hosted endpoint (https://nepse.link/mcp).

### Is the nepse.link MCP server safe to use?

nepse.link scores 36 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 nepse.link MCP server expose?

nepse.link exposes 22 tools: get_market_overview, get_index_history, search_companies, get_company, get_price_history, and 17 more. Their descriptions and schemas cost roughly 2,549 tokens of context every time the server is loaded.

### Does the nepse.link MCP server require authentication?

Yes. nepse.link 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 nepse.link MCP server still maintained?

nepse.link is still listed as active in the MCP registry. We last reached this channel on 5 November 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://nepse.link/mcp
- Repository: https://github.com/summonshr/nepse.link
- Website: https://nepse.link/about
- Changelog RSS feed: https://verifymcp.io/servers/link-nepse-nepse/nepse.xml
- Changelog JSON feed: https://verifymcp.io/servers/link-nepse-nepse/nepse.json
- HTML version of this page: https://verifymcp.io/servers/link-nepse-nepse/nepse
