Information and calculation tools by Rachid Asen. Not investment advice or research.

Disclaimer. Information tool. Compiles data published by NSE and BSE and calculations from the exchanges' published ESM and ASM criteria. Prices are end-of-day, not live: updated each evening after trading ends. Ethical business criteria are matched by AI, which can make mistakes; this is a criteria match, not a certification, fatwa, rating or advice. Check the company's filings. Not investment advice, research or a recommendation to buy, sell or hold any security; not SEBI-registered as an Investment Adviser or Research Analyst. Calculated dates are the earliest a security could become eligible; inclusion, stage changes and exit are decided solely by the exchanges. ESM, ASM and GSM shortlisting are surveillance measures and not an adverse action against the company. Data may be delayed or inaccurate; verify with the exchange.

SurveillanceLabConnect AISign in
Developers

Connect your AI agents to NSE and BSE surveillance data

SurveillanceLab's MCP server gives Claude and other agents the surveillance lists, company facts, filings and screens. It works without a key; a free key raises the limit, and a Pro key adds the SME screens and company boards.

Get a free keyQuickstart ›

Copies the sign-in URL and opens the app: paste it there, press Connect and sign in with your account.

MCPStreamable HTTPFree without a keySign-in connectors (beta)8 tools · 4 prompts

Quickstart

  1. Add the server, no key needed

    Terminal
    claude mcp add --transport http alphasurveillance https://api.ashgun.in/mcp
  2. For more, use a key

    Make a free key in Settings → API keys once signed in, then:

    Terminal
    export ASV_KEY=asv_your_key_here
    Terminal
    claude mcp add --transport http alphasurveillance https://api.ashgun.in/mcp --header "Authorization: Bearer $ASV_KEY"
  3. Ask your agent

    “Is HFCL under surveillance, and since when?”

    “Which Nifty 500 companies meet the ethical criteria and have debt to equity below 0.5?”

Tiers and limits

Each tier has everything the one before it has. Days are UTC days; when you reach a limit, the answer says when it resets.

No key

2 data calls a minute per address

100 data calls a day per address

Anyone

  • search_companies
  • get_surveillance_status
  • list_surveillance
  • get_company_facts
  • get_filings
  • company_brief
  • surveillance_overview

Data calls only (tool calls, resource reads, prompts). Connecting and listing what the server offers are free.

Start without a key

Free key

60 requests a minute

1,000 data calls a day

Any signed-in account

  • Everything in No key
  • run_screen
  • screen

Every request, connecting included (about 5 requests when a client connects).

Get a free key

Pro key

120 requests a minute

5,000 data calls a day

Pro accounts

  • Everything in Free key
  • get_sme_screen
  • get_people
  • board_check

Every request, connecting included.

Get Pro
Compare every tool and prompt
Tools and prompts by tier
No keyFree keyPro key
search_companiesTool: Find a listed company by name, symbol, BSE code or ISIN✓✓✓
get_surveillance_statusTool: A company's surveillance status today (ESM, ASM, GSM, stage, since when)✓✓✓
list_surveillanceTool: Today's ESM, ASM or GSM list✓✓✓
get_company_factsTool: A company's facts from its filings: listings, results, balance sheet✓✓✓
get_filingsTool: A company's recent exchange filings, newest first✓✓✓
run_screenTool: Run a stock screen: companies matching every rule, largest market cap first–✓✓
get_sme_screenTool: SME companies (NSE Emerge, BSE SME): lot, trade-for-trade, GSM, results––✓
get_peopleTool: A company's board and each director's other listed boards––✓
company_briefPrompt: A factual brief on one company: surveillance status, key facts and latest filings✓✓✓
surveillance_overviewPrompt: Today's ESM, ASM or GSM list summarised by exchange and stage✓✓✓
screenPrompt: Turn a plain description into a screen, run it and show the matches–✓✓
board_checkPrompt: A company's board and its directors' other listed boards, with their surveillance status––✓

Set up your client

Claude Code

Without a key:

Terminal
claude mcp add --transport http alphasurveillance https://api.ashgun.in/mcp

With a key, kept in a variable so it stays out of the command:

Terminal
export ASV_KEY=asv_your_key_here
Terminal
claude mcp add --transport http alphasurveillance https://api.ashgun.in/mcp --header "Authorization: Bearer $ASV_KEY"

Check it with claude mcp list. Prompts show as /alphasurveillance:<name>.

Claude apps

In claude.ai, Claude Desktop or the Claude mobile app, sign in with your site account; no key to copy. Beta

  1. Open Settings → Connectors → Add custom connector.
  2. Paste https://api.ashgun.in/mcp/oauth and choose Add.
  3. Choose Connect, sign in with your site account, then Allow.
Connector URL
https://api.ashgun.in/mcp/oauth

The connector gets your account's tier: the same tools and limits as your key. Without an account, add https://api.ashgun.in/mcp as a custom connector instead.

Use a key instead (Claude Desktop)

Custom connectors cannot send a header, so the key goes through mcp-remote. Add this and restart Claude Desktop:

claude_desktop_config.json
{
  "mcpServers": {
    "alphasurveillance": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://api.ashgun.in/mcp",
        "--header",
        "Authorization:${ASV_AUTH}"
      ],
      "env": {
        "ASV_AUTH": "Bearer asv_your_key_here"
      }
    }
  }
}

ChatGPT

Sign in with your site account. Beta

  1. Open Settings → Apps & Connectors → Advanced, and turn on Developer mode.
  2. Choose Create, paste the URL below, and set authentication to OAuth.
  3. Sign in with your site account, then Allow.
Connector URL
https://api.ashgun.in/mcp/oauth

Grok

Add this URL as a custom connector, then sign in with your site account. Beta

Connector URL
https://api.ashgun.in/mcp/oauth

On grok.com: Connectors → New connector → Custom, paste the URL, and complete the sign-in.

In the Grok CLI, then sign in when it asks:

Terminal
grok mcp add --transport http alphasurveillance https://api.ashgun.in/mcp/oauth

Other clients

Apps that sign in, such as Gemini CLI, use the sign-in address: Beta

Sign-in server URL
https://api.ashgun.in/mcp/oauth

Anything else: a remote MCP server over Streamable HTTP (POST only), with no key or a key in this header:

Server URL
https://api.ashgun.in/mcp
Header
Authorization: Bearer asv_your_key_here

Test with curl

Lists the tools your tier has; tools/list never counts toward a limit.

Terminal
curl -s -X POST https://api.ashgun.in/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Add -H "Authorization: Bearer $ASV_KEY" to see your key's tools.

Chat here with your own AI

No app to set up: ask about any listed company on this site, answered by your own AI through these tools with your account's access. Beta

  • Sign in, open Chat, and choose Claude, ChatGPT, Grok or Gemini with your own API key, or Sign in with OpenRouter (no key to copy; any of those models).
  • Your key goes from your browser straight to that provider; usage is billed to your account there. It is never sent to this site.
  • Keep the key for this visit only, or choose “Remember on this device”.

Open the chat

Tools

Every result carries a short notice naming its source (exchange filings and published lists) and its date.

search_companies

Find a listed company by name, symbol, BSE code or ISIN

No key

get_surveillance_status

A company's surveillance status today (ESM, ASM, GSM, stage, since when)

No key

list_surveillance

Today's ESM, ASM or GSM list

No key

get_company_facts

A company's facts from its filings: listings, results, balance sheet

No key

get_filings

A company's recent exchange filings, newest first

No key

run_screen

Run a stock screen: companies matching every rule, largest market cap first

Free key

get_sme_screen

SME companies (NSE Emerge, BSE SME): lot, trade-for-trade, GSM, results

Pro key

get_people

A company's board and each director's other listed boards

Pro key

Prompts

Ready-made starting questions. In Claude Code, type / and pick /alphasurveillance:<name>.

company_brief

A factual brief on one company: surveillance status, key facts and latest filings

No key

surveillance_overview

Today's ESM, ASM or GSM list summarised by exchange and stage

No key

screen

Turn a plain description into a screen, run it and show the matches

Free key

board_check

A company's board and its directors' other listed boards, with their surveillance status

Pro key

Resources

Context your agent can read directly, without calling a tool. In Claude Code, type @ in a message and pick the resource, or write its address after @alphasurveillance:.

Claude Code message
@alphasurveillance:asv://lists/esm Which of these moved to Stage 2 this week?

asv://guide/surveillance

Surveillance lists and stages

What ESM, ASM and GSM are, what each stage means for trading, and how ASM reviews work.

@alphasurveillance:asv://guide/surveillance

Every tier

asv://guide/screen-fields

Screen fields and rules

Every field run_screen accepts, its unit and operators, and the allowed text values.

@alphasurveillance:asv://guide/screen-fields

Every tier

asv://lists/esm

Today's ESM list

Every listing on the ESM list today, with exchange and stage.

@alphasurveillance:asv://lists/esm

Every tier

asv://lists/asm

Today's ASM list

Every listing on the ASM list today, with exchange and stage.

@alphasurveillance:asv://lists/asm

Every tier

asv://lists/gsm

Today's GSM list

Every listing on the GSM list today, with exchange and stage.

@alphasurveillance:asv://lists/gsm

Every tier

asv://company/{isin}

A company's facts by ISIN

The same facts as get_company_facts; your tier decides how much. Find the ISIN with search_companies.

@alphasurveillance:asv://company/INE548A01028

Every tier

Reading a resource counts as a data call toward your limit.

Your keys

  • Make keys in Settings → API keys once signed in.
  • Up to 3 per account; revoke any of them at any time.
  • A key is shown once, when you make it: store it then.
  • Each key shows when it was last used and how many calls it made.
  • Keep keys private: anyone with one uses your account's access.

Troubleshooting

401 naming /mcp/oauth

A sign-in token was sent to the key address. Point a connector that signs in at https://api.ashgun.in/mcp/oauth; keep https://api.ashgun.in/mcp for keys.

401 invalid_key

The key is wrong, revoked, or the header lacks "Bearer ". Copy it again from where you stored it, or make a new one.

429 with Retry-After

Over your limit for this minute. Wait the seconds Retry-After says; a free key raises the keyless limit.

429 daily limit

Over your data calls for the day (UTC). The answer says when it resets; a free key or Pro raises the cap.

503 keys_unavailable

Keys cannot be checked right now. Try again in a few minutes; the tools that need no key still work without the header.

405 on GET

The server takes POST only (Streamable HTTP). Point your client at the URL as an HTTP MCP server, not a web page.

A tool is not listed

Your tier does not include it: run_screen needs a key, the SME screens and People a Pro key.

Is it connected?

Run claude mcp list: alphasurveillance should show as connected.