github TypeScript analyzed 5f6d747

Jinansh230705/ncert-mcp

github

Try the Hosted NCERT MCP

maintainer
Jinansh230705
license
first seen
2026-08-14
last seen
2026-08-14
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 13 tools
transport stdio · http · sse counts 13 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • generate_explanation
  • generate_question
  • generate_question_paper
  • get_chapter
  • get_chapter_metadata
  • get_curriculum_map
  • get_learning_path
  • get_prerequisites
  • list_books
  • list_exam_types
  • list_topics
  • search_chapters
  • search_content
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 5f6d747 · analyzer v32 · 1h ago

danger signals4

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 27

filesystem 8

  • fs (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/apply_chapters_json.ts :4 import fs from 'fs';
  • fs (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/build_chapters_json.ts :6 import fs from 'fs';
  • fs (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/extract_classic.ts :3 import fs from 'fs';
  • fs (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/generate_updates.ts :2 import * as fs from 'fs';
  • fs (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/scrape_book_titles.ts :41 const fs = require('fs');
  • fs (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/sync_codes.ts :1 import * as fs from 'fs';
  • fs Jinansh230705-ncert-mcp-5f6d747/src/db-local.ts :3 import fs from 'fs';
  • fs Jinansh230705-ncert-mcp-5f6d747/src/pipeline.ts :1 import fs from 'fs';

shell / exec 1

  • shell (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/test.js :1 const { spawn } = require('child_process');

network 4

  • net (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/build_chapters_json.ts :32 const res = await fetch(`https://html.duckduckgo.com/html/?q=${encodeURIComponent(query)}`, {
  • net (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/scrape_book_titles.ts :7 const res = await fetch("https://ncert.nic.in/textbook.php", {
  • net (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/sync_codes.ts :35 const res = await fetch(dataUrl);
  • net Jinansh230705-ncert-mcp-5f6d747/src/pipeline.ts :128 return await fetch(url, init);

secrets 8

  • secrets (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/build_chapters_json.ts :12 apiKey: process.env.OPENAI_API_KEY || "dummy",
  • secrets (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/fix_clean_titles.ts :11 apiKey: process.env.OPENAI_API_KEY
  • secrets (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/fix_noisy_titles.ts :11 apiKey: process.env.OPENAI_API_KEY
  • secrets (weak) Jinansh230705-ncert-mcp-5f6d747/scripts/fix_titles.ts :11 apiKey: process.env.OPENAI_API_KEY || "dummy",
  • secrets Jinansh230705-ncert-mcp-5f6d747/src/index.ts :11 OPENAI_API_KEY: process.env.OPENAI_API_KEY,
  • secrets Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :20 OPENAI_API_KEY: process.env.OPENAI_API_KEY,
  • secrets Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :16 OPENAI_API_KEY: process.env.OPENAI_API_KEY,
  • secrets Jinansh230705-ncert-mcp-5f6d747/src/pipeline.ts :16 apiKey: process.env.OPENAI_API_KEY || "dummy",

database 1

  • db Jinansh230705-ncert-mcp-5f6d747/src/db-local.ts :1 import Database from 'better-sqlite3';

tool registrations 39

  • list_books Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :27
  • list_topics Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :38
  • list_exam_types Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :49
  • get_chapter Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :57
  • get_chapter_metadata Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :70
  • get_curriculum_map Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :83
  • search_chapters Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :96
  • search_content Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :111
  • generate_explanation Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :130
  • generate_question Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :157
  • generate_question_paper Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :190
  • get_prerequisites Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :209
  • get_learning_path Jinansh230705-ncert-mcp-5f6d747/src/mcp-express.ts :222
  • list_books Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :28
  • list_topics Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :39
  • list_exam_types Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :50
  • get_chapter Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :58
  • get_chapter_metadata Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :71
  • get_curriculum_map Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :84
  • search_chapters Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :97
  • search_content Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :112
  • generate_explanation Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :131
  • generate_question Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :158
  • generate_question_paper Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :191
  • get_prerequisites Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :210
  • get_learning_path Jinansh230705-ncert-mcp-5f6d747/src/mcp.ts :223
  • list_books Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :130
  • list_topics Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :141
  • list_exam_types Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :152
  • get_chapter Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :160
  • get_chapter_metadata Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :173
  • get_curriculum_map Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :186
  • search_chapters Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :199
  • search_content Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :214
  • generate_explanation Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :233
  • generate_question Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :260
  • generate_question_paper Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :293
  • get_prerequisites Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :312
  • get_learning_path Jinansh230705-ncert-mcp-5f6d747/src/worker.ts :325

declared dependencies 19

  • @modelcontextprotocol/sdk@^1.29.0
  • @hono/zod-openapi@^1.4.0
  • @types/express@^5.0.6
  • adm-zip@^0.5.17
  • better-sqlite3@^12.11.1
  • dotenv@^17.4.2
  • express@^5.2.1
  • hono@^4.12.27
  • minisearch@^7.2.0
  • openai@^6.44.0
  • pdf-parse@^2.4.5
  • zod@^4.4.3
  • @cloudflare/workers-types@^5.20260705.1
  • @types/adm-zip@^0.5.8
  • @types/better-sqlite3@^7.6.13
  • @types/bun@^1.3.14
  • @types/node@^26.0.0
  • @types/pdf-parse@^1.1.5
  • typescript@^5