Skip to main content
Glama

Indian Stock Exchange MCP Server

by nikhilcherry
discover-endpoints.js•4.01 kB
// Comprehensive API endpoint discovery script import * as dotenv from "dotenv"; dotenv.config(); const BASE_URL = "https://stock.indianapi.in"; const API_KEY = process.env.ISE_API_KEY; console.log("=".repeat(70)); console.log("šŸ” Indian Stock Exchange API - Endpoint Discovery"); console.log("=".repeat(70)); console.log(`Base URL: ${BASE_URL}`); console.log(`API Key: ${API_KEY ? API_KEY.substring(0, 20) + "..." : "āŒ NOT FOUND"}`); console.log("=".repeat(70)); // All possible endpoints to test const endpoints = [ // News endpoints { name: "General News", url: "/news" }, { name: "Market News", url: "/market/news" }, // Stock data endpoints { name: "Stock Details (Reliance)", url: "/stock/details?name=Reliance" }, { name: "Stock Price (Reliance)", url: "/stock/price?name=Reliance" }, { name: "Stock History (Reliance, 1m)", url: "/stock/history?name=Reliance&period=1m" }, // Market movers { name: "Top Gainers", url: "/stock/gainers" }, { name: "Top Losers", url: "/stock/losers" }, // Recommendations { name: "Stock Recommendations", url: "/stock/recommendations" }, // Additional possible endpoints { name: "Market Overview", url: "/market/overview" }, { name: "Market Status", url: "/market/status" }, { name: "Indices", url: "/indices" }, { name: "Stock List", url: "/stocks" }, ]; async function testEndpoint(endpoint) { const url = `${BASE_URL}${endpoint.url}`; try { const response = await fetch(url, { headers: { "x-api-key": API_KEY || "", }, }); const status = `${response.status} ${response.statusText}`; if (response.ok) { const data = await response.json(); const dataStr = JSON.stringify(data); const preview = dataStr.length > 150 ? dataStr.substring(0, 150) + "..." : dataStr; return { name: endpoint.name, url: endpoint.url, status: "āœ… " + status, working: true, dataLength: dataStr.length, preview: preview }; } else { const errorText = await response.text(); return { name: endpoint.name, url: endpoint.url, status: "āŒ " + status, working: false, error: errorText.substring(0, 100) }; } } catch (err) { return { name: endpoint.name, url: endpoint.url, status: "āŒ ERROR", working: false, error: err.message }; } } async function discoverEndpoints() { console.log("\nšŸ“” Testing Endpoints...\n"); const results = []; for (const endpoint of endpoints) { const result = await testEndpoint(endpoint); results.push(result); console.log(`${result.status} ${result.name}`); console.log(` URL: ${result.url}`); if (result.working) { console.log(` Data: ${result.dataLength} bytes`); console.log(` Preview: ${result.preview}`); } else { console.log(` Error: ${result.error}`); } console.log(""); } // Summary console.log("=".repeat(70)); console.log("šŸ“Š Summary"); console.log("=".repeat(70)); const working = results.filter(r => r.working); const broken = results.filter(r => !r.working); console.log(`\nāœ… Working Endpoints (${working.length}):`); working.forEach(r => console.log(` - ${r.name}: ${r.url}`)); console.log(`\nāŒ Broken Endpoints (${broken.length}):`); broken.forEach(r => console.log(` - ${r.name}: ${r.url}`)); console.log("\n" + "=".repeat(70)); } discoverEndpoints().then(() => { console.log("āœ… Discovery complete!"); process.exit(0); }).catch(err => { console.error("āŒ Discovery failed:", err); process.exit(1); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nikhilcherry/Indian-stock-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server