UPSC prep: interactive quizzes, previous-year questions, daily current affairs, cited study search
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Daily UPSC-relevant news distilled into NewsPulse concept cards: what happened, why it matters for Prelims/Mains, and the syllabus concepts it illustrates. Use for any 'current affairs for UPSC' request.
Look-back window in days
Free-text topic/syllabus filter
news = factual coverage, editorial = analysis pieces
Filter by GS subject: Polity, Economy, International Relations, Environment, Science & Tech, Ethics
ISO code: en, hi, te, ta, or, bn, mr, pa, kn
Daily UPSC-relevant news distilled into NewsPulse concept cards: what happened, why it matters for Prelims/Mains, and the syllabus concepts it illustrates. Use for any 'current affairs for UPSC' request.
| Argument | Type | Description |
|---|---|---|
| days | integer | Look-back window in days |
| limit | integer | |
| topic | any | Free-text topic/syllabus filter |
| category | any | news = factual coverage, editorial = analysis pieces |
| gs_paper | any | Filter by GS subject: Polity, Economy, International Relations, Environment, Science & Tech, Ethics |
| language | string | ISO code: en, hi, te, ta, or, bn, mr, pa, kn |
{
"type": "object",
"title": "get_current_affairsArguments",
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 7,
"maximum": 30,
"minimum": 1,
"description": "Look-back window in days"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 8,
"maximum": 20,
"minimum": 1
},
"topic": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Topic",
"default": null,
"description": "Free-text topic/syllabus filter"
},
"category": {
"anyOf": [
{
"enum": [
"news",
"editorial"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null,
"description": "news = factual coverage, editorial = analysis pieces"
},
"gs_paper": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Gs Paper",
"default": null,
"description": "Filter by GS subject: Polity, Economy, International Relations, Environment, Science & Tech, Ethics"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn"
}
}
}The full concept card behind a NewsPulse headline: bullets, Prelims & Mains relevance, concept explainers with static-syllabus links, and the source citation.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Card slug from get_current_affairs |
| language | string | ISO code: en, hi, te, ta, or, bn, mr, pa, kn |
{
"type": "object",
"title": "get_news_card_detailArguments",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"maxLength": 120,
"description": "Card slug from get_current_affairs"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn"
}
}
}Real UPSC Prelims previous-year questions with answers and explanations — the free 3-question sample per year (full year papers are on the platform). Includes the year's total validated PYQ count.
| Argument | Type | Description |
|---|---|---|
| year* | integer | UPSC Prelims year |
| language | string | ISO code: en, hi, te, ta, or, bn, mr, pa, kn |
{
"type": "object",
"title": "get_pyq_sampleArguments",
"required": [
"year"
],
"properties": {
"year": {
"type": "integer",
"title": "Year",
"maximum": 2026,
"minimum": 2014,
"description": "UPSC Prelims year"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn"
}
}
}The catalog behind the other tools: indexed subjects/topics (for search_sambodh_knowledge and quiz subject filters), available PYQ years, published current-affairs month slugs, and NewsPulse GS-paper values. Call this first when unsure which parameter values are valid.
No arguments.
{
"type": "object",
"title": "list_study_topicsArguments",
"properties": {}
}Semantic search over Sambodh's indexed UPSC corpus (NCERTs + standard references). Returns source-attributed passages — synthesize your answer from them and cite the sources. Use for static-syllabus questions (history, polity, geography, economy...).
| Argument | Type | Description |
|---|---|---|
| query* | string | What to look up, phrased as a topic or question |
| top_k | integer | |
| subject | any | Optional subject filter (see list_study_topics) |
{
"type": "object",
"title": "search_sambodh_knowledgeArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"maxLength": 300,
"minLength": 3,
"description": "What to look up, phrased as a topic or question"
},
"top_k": {
"type": "integer",
"title": "Top K",
"default": 5,
"maximum": 8,
"minimum": 1
},
"subject": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"title": "Subject",
"default": null,
"description": "Optional subject filter (see list_study_topics)"
}
}
}Start an MCQ quiz from Sambodh's validated free question bank. IMPORTANT: never reveal or hint at correct answers before the user has attempted the questions; grade via submit_quiz_answers.
| Argument | Type | Description |
|---|---|---|
| year | any | PYQ year (pyq/mixed sources) |
| month | any | Current-affairs month slug, e.g. may-2026 |
| source | string | Question pool: current_affairs (recent news MCQs), pyq (real UPSC previous-year questions), or mixed |
| subject | any | Optional subject filter, e.g. polity, history, geography, economy, environment, science_tech |
| language | string | ISO code: en, hi, te, ta, or, bn, mr, pa, kn |
| num_questions | integer |
{
"type": "object",
"title": "start_practice_quizArguments",
"properties": {
"year": {
"anyOf": [
{
"type": "integer",
"maximum": 2026,
"minimum": 2014
},
{
"type": "null"
}
],
"title": "Year",
"default": null,
"description": "PYQ year (pyq/mixed sources)"
},
"month": {
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
],
"title": "Month",
"default": null,
"description": "Current-affairs month slug, e.g. may-2026"
},
"source": {
"enum": [
"current_affairs",
"pyq",
"mixed"
],
"type": "string",
"title": "Source",
"default": "mixed",
"description": "Question pool: current_affairs (recent news MCQs), pyq (real UPSC previous-year questions), or mixed"
},
"subject": {
"anyOf": [
{
"type": "string",
"maxLength": 60
},
{
"type": "null"
}
],
"title": "Subject",
"default": null,
"description": "Optional subject filter, e.g. polity, history, geography, economy, environment, science_tech"
},
"language": {
"type": "string",
"title": "Language",
"default": "en",
"description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn"
},
"num_questions": {
"type": "integer",
"title": "Num Questions",
"default": 5,
"maximum": 10,
"minimum": 1
}
}
}Grade a quiz attempt server-side. Returns per-question verdicts with explanations and the overall score. Call once the user has answered (fully or partially).
| Argument | Type | Description |
|---|---|---|
| answers* | object | Map of question id → chosen option letter, e.g. {"<qid>": "B"} |
| quiz_id* | string | quiz_id from start_practice_quiz |
{
"type": "object",
"title": "submit_quiz_answersArguments",
"required": [
"quiz_id",
"answers"
],
"properties": {
"answers": {
"type": "object",
"title": "Answers",
"description": "Map of question id → chosen option letter, e.g. {\"<qid>\": \"B\"}",
"additionalProperties": {
"type": "string"
}
},
"quiz_id": {
"type": "string",
"title": "Quiz Id",
"maxLength": 40,
"description": "quiz_id from start_practice_quiz"
}
}
}