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.
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
Add the server, no key needed
claude mcp add --transport http alphasurveillance https://api.ashgun.in/mcp
For more, use a key
Make a free key in Settings → API keys once signed in, then:
export ASV_KEY=asv_your_key_here
claude mcp add --transport http alphasurveillance https://api.ashgun.in/mcp --header "Authorization: Bearer $ASV_KEY"
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_companiesget_surveillance_statuslist_surveillanceget_company_factsget_filingscompany_briefsurveillance_overview
Data calls only (tool calls, resource reads, prompts). Connecting and listing what the server offers are free.
Start without a keyFree key
60 requests a minute
1,000 data calls a day
Any signed-in account
- Everything in No key
run_screenscreen
Every request, connecting included (about 5 requests when a client connects).
Get a free keyPro key
120 requests a minute
5,000 data calls a day
Pro accounts
- Everything in Free key
get_sme_screenget_peopleboard_check
Every request, connecting included.
Get ProCompare every tool and prompt
| No key | Free key | Pro 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:
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:
export ASV_KEY=asv_your_key_here
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
- Open Settings → Connectors → Add custom connector.
- Paste https://api.ashgun.in/mcp/oauth and choose Add.
- Choose Connect, sign in with your site account, then Allow.
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:
{
"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
- Open Settings → Apps & Connectors → Advanced, and turn on Developer mode.
- Choose Create, paste the URL below, and set authentication to OAuth.
- Sign in with your site account, then Allow.
https://api.ashgun.in/mcp/oauth
Grok
Add this URL as a custom connector, then sign in with your site account. Beta
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:
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
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:
https://api.ashgun.in/mcp
Authorization: Bearer asv_your_key_here
Test with curl
Lists the tools your tier has; tools/list never counts toward a limit.
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”.
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 keyget_surveillance_status
A company's surveillance status today (ESM, ASM, GSM, stage, since when)
No keylist_surveillance
Today's ESM, ASM or GSM list
No keyget_company_facts
A company's facts from its filings: listings, results, balance sheet
No keyget_filings
A company's recent exchange filings, newest first
No keyrun_screen
Run a stock screen: companies matching every rule, largest market cap first
Free keyget_sme_screen
SME companies (NSE Emerge, BSE SME): lot, trade-for-trade, GSM, results
Pro keyget_people
A company's board and each director's other listed boards
Pro keyPrompts
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 keysurveillance_overview
Today's ESM, ASM or GSM list summarised by exchange and stage
No keyscreen
Turn a plain description into a screen, run it and show the matches
Free keyboard_check
A company's board and its directors' other listed boards, with their surveillance status
Pro keyResources
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:.
@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
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
asv://lists/esm
Today's ESM list
Every listing on the ESM list today, with exchange and stage.
@alphasurveillance:asv://lists/esm
asv://lists/asm
Today's ASM list
Every listing on the ASM list today, with exchange and stage.
@alphasurveillance:asv://lists/asm
asv://lists/gsm
Today's GSM list
Every listing on the GSM list today, with exchange and stage.
@alphasurveillance:asv://lists/gsm
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
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.