NCERT MCP
Provides ChatGPT Custom GPTs and Custom Actions access to NCERT textbooks and educational tools via a REST API, including semantic search, chapter retrieval, explanation generation, question generation, and question paper creation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NCERT MCPExplain photosynthesis for grade 10"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NCERT MCP
Note: This project is a TypeScript/Bun port inspired by the original work from hatchedland/ncert-mcp. An open-source Model Context Protocol (MCP) server and REST API that turns the entire NCERT/CBSE curriculum (Grades 1–12) into structured, queryable infrastructure.
Built for ed-tech companies that want to build on top of NCERT content — explanations, question generation, semantic search, and topic mapping — without rebuilding the data pipeline themselves.
What it does
Capability | Description |
Semantic search | Vectorless search over NCERT chunks via Minisearch — each result includes topic highlight, Bloom's level, and pre-filled actions (explain, question, learning path) |
Keyword search | BM25 search across all chapter PDFs |
RAG explanations | Grade-aware explanations with Markdown structure, LaTeX formulas, Mermaid diagrams, and callout notes |
Question generation | Structured MCQ / SAQ / LAQ with marking schemes, Bloom's tagging |
Question papers | Full CBSE-pattern papers: class test → pre-board → board exam |
Curriculum graph | Prerequisite edges across subjects — powers learning paths |
Question bank | Persistent SQLite store; questions reused across papers, never re-generated |
REST API / OpenAPI | All tools exposed as HTTP endpoints for ChatGPT Custom Actions & non-MCP clients |
Remote MCP | Dedicated Express SSE server for Claude.ai remote connectors |
Related MCP server: SBU Syllabus MCP
Architecture
Runtime: Bun + TypeScript
Web Framework: Hono + Zod (for OpenAPI spec generation)
Database: Better-SQLite3 (Metadata) + Minisearch (Vectorless Search Index)
AI/LLM Client: Universal
openaiSDK pointing to OpenRouter (Use Claude, Gemini, DeepSeek, etc)Deployment: Cloudflare Workers (Serverless REST API and SSE) + Cloudflare D1 (Database)
MCP Tools (13 tools)
Textbook tools
Tool | Description |
| List available NCERT textbooks, filter by grade/subject |
| Chapter titles for a textbook |
| Full extracted text of one chapter |
| Source URL, download date (fast, no PDF parse) |
| BM25 keyword search across all PDFs |
Search tools
Tool | Description |
| Semantic search with grade/subject/Bloom's filters. Returns scored results with pre-filled action params |
| Topics + Bloom's level distribution per chapter |
RAG + Generation tools
Tool | Description |
| RAG-grounded explanation — Markdown, LaTeX, Mermaid diagrams |
| Single structured question (MCQ/SAQ/LAQ) with marking scheme |
| Full CBSE-pattern paper (class test → board exam) |
| List supported exam types with marks, duration, sections |
Curriculum Graph tools
Tool | Description |
| Direct prerequisite topics for a given topic |
| Full ordered prerequisite chain, roots first |
REST API Endpoints
Method | Path | Description |
GET |
| OpenAPI 3.1 spec (plug into ChatGPT / Swagger) |
GET |
| Health check |
GET |
| List textbooks |
GET |
| Chapter list |
GET |
| Full chapter text |
GET |
| Chapter metadata |
GET |
| Semantic search — returns |
GET |
| BM25 keyword search |
GET |
| Curriculum map (topics + Bloom's per chapter) |
POST |
| Stream explanation (SSE) — Markdown, LaTeX, Mermaid diagram |
POST |
| Stream question generation (SSE) |
GET |
| List supported exam types |
POST |
| Generate full question paper |
GET |
| Prerequisite topics |
GET |
| Full learning path |
Quick start
Prerequisites
Bun (v1.0+)
An OpenRouter API key (or any OpenAI-compatible key)
1. Clone and set up
git clone https://github.com/Jinansh230705/ncert-mcp
cd ncert-mcp
bun install2. Configure environment
cp .env.example .env
# Edit .env — add OPENAI_API_KEY, optionally OPENAI_BASE_URL and MODEL_NAME3. Ingest data (run once locally)
Downloads all K-12 NCERT PDFs, chunks them, tags each chunk with Bloom's level/topic/difficulty via OpenRouter, and writes the SQLite + Minisearch index:
bun run ingestThis is a one-time local step. Re-run to pick up newly added textbooks. Already-processed chapters are skipped automatically.
4. Run locally
# REST API + OpenAPI (http://localhost:8000)
bun run dev
# MCP stdio server (for Claude Desktop)
bun run dev:mcp
# MCP SSE server (for Claude Remote Connectors)
bun run dev:remoteUsage & Integrations
1. Hosted MCP (Claude.ai)
You can connect directly to the hosted MCP server without running it locally.
Connection Guide for Claude.ai:
Go to Claude.ai and add a new Remote MCP Server.
URL:
https://ncert.getmaterio.app/mcpAuthentication: None (No Auth)
2. ChatGPT Custom GPT
Try it out on ChatGPT using the GPT Store: NCERT GPT in ChatGPT's GPT Store
Alternatively, create your own Custom GPT and paste the OpenAPI spec: https://ncert.getmaterio.app/openapi.json
3. Local MCP — Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"ncert-mcp": {
"command": "bun",
"args": ["run", "/absolute/path/to/ncert-mcp/src/mcp.ts"]
}
}
}4. Testing with MCP Inspector
npx @modelcontextprotocol/inspector bun run src/mcp.ts5. Cloudflare Deployment
Deploy the repository to Cloudflare Workers using Wrangler:
bun run deployNote: Ensure you have provisioned a Cloudflare D1 database and updated your
wrangler.tomlaccordingly. The database schema is automatically applied using the provided migrations or the ingestion script.
Contributing
Pull requests welcome!
Add textbook mappings to
NCERT_TEXTBOOK_CHAPTERSinsrc/pipeline.tsRun
bun run ingestto download and index new PDFsAdd new MCP tools to
src/mcp.tsandsrc/mcp-express.tsAdd corresponding REST routes to
src/index.ts
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).11536MIT
- Flicense-qualityDmaintenanceAn MCP server that transforms course syllabi into structured, queryable data — accessible directly from Claude.ai.1
- Alicense-qualityCmaintenanceAn MCP server that enables semantic search over a private knowledge base via pgvector, with GitHub OAuth authentication and a RAG pipeline.11MIT
- Flicense-qualityBmaintenanceMCP server for querying a personal knowledge base using semantic RAG, powered by DeepSeek and local embeddings from Ollama.
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Jinansh230705/ncert-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server