Sambodh IAS

UPSC prep: interactive quizzes, previous-year questions, daily current affairs, cited study search

Should I use this

Quality & Safety

A
Description quality
91%
Schema completeness
81%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_current_affairs' description lacks action verbin get_current_affairs
  • LOWTool 'get_news_card_detail' description lacks action verbin get_news_card_detail

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,527Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (1.19% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "upsc-prep": {
      "url": "https://api.sambodh-ias.in/mcp"
    }
  }
}

Remote endpoints

https://api.sambodh-ias.in/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_current_affairs(days, gs_paper, category, topic, limit, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "description": "Look-back window in days",
      "maximum": 30,
      "minimum": 1,
      "title": "Days",
      "type": "integer"
    },
    "gs_paper": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by GS subject: Polity, Economy, International Relations, Environment, Science & Tech, Ethics",
      "title": "Gs Paper"
    },
    "category": {
      "anyOf": [
        {
          "enum": [
            "news",
            "editorial"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "news = factual coverage, editorial = analysis pieces",
      "title": "Category"
    },
    "topic": {
      "anyOf": [
        {
          "maxLength": 120,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Free-text topic/syllabus filter",
      "title": "Topic"
    },
    "limit": {
      "default": 8,
      "maximum": 20,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "language": {
      "default": "en",
      "description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn",
      "title": "Language",
      "type": "string"
    }
  },
  "title": "get_current_affairsArguments"
}
🟢get_news_card_detail(slug, language)

The full concept card behind a NewsPulse headline: bullets, Prelims & Mains relevance, concept explainers with static-syllabus links, and the source citation.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Card slug from get_current_affairs",
      "maxLength": 120,
      "title": "Slug",
      "type": "string"
    },
    "language": {
      "default": "en",
      "description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn",
      "title": "Language",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "title": "get_news_card_detailArguments"
}
🟢start_practice_quiz(source, subject, year, month, num_questions, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "source": {
      "default": "mixed",
      "description": "Question pool: current_affairs (recent news MCQs), pyq (real UPSC previous-year questions), or mixed",
      "enum": [
        "current_affairs",
        "pyq",
        "mixed"
      ],
      "title": "Source",
      "type": "string"
    },
    "subject": {
      "anyOf": [
        {
          "maxLength": 60,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional subject filter, e.g. polity, history, geography, economy, environment, science_tech",
      "title": "Subject"
    },
    "year": {
      "anyOf": [
        {
          "maximum": 2026,
          "minimum": 2014,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "PYQ year (pyq/mixed sources)",
      "title": "Year"
    },
    "month": {
      "anyOf": [
        {
          "maxLength": 20,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Current-affairs month slug, e.g. may-2026",
      "title": "Month"
    },
    "num_questions": {
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "title": "Num Questions",
      "type": "integer"
    },
    "language": {
      "default": "en",
      "description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn",
      "title": "Language",
      "type": "string"
    }
  },
  "title": "start_practice_quizArguments"
}
🟡submit_quiz_answers(quiz_id, answers)

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).

Input Schema

{
  "type": "object",
  "properties": {
    "quiz_id": {
      "description": "quiz_id from start_practice_quiz",
      "maxLength": 40,
      "title": "Quiz Id",
      "type": "string"
    },
    "answers": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Map of question id → chosen option letter, e.g. {\"<qid>\": \"B\"}",
      "title": "Answers",
      "type": "object"
    }
  },
  "required": [
    "quiz_id",
    "answers"
  ],
  "title": "submit_quiz_answersArguments"
}
🟢get_pyq_sample(year, language)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "year": {
      "description": "UPSC Prelims year",
      "maximum": 2026,
      "minimum": 2014,
      "title": "Year",
      "type": "integer"
    },
    "language": {
      "default": "en",
      "description": "ISO code: en, hi, te, ta, or, bn, mr, pa, kn",
      "title": "Language",
      "type": "string"
    }
  },
  "required": [
    "year"
  ],
  "title": "get_pyq_sampleArguments"
}
🟢list_study_topics

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "list_study_topicsArguments"
}
🟢search_sambodh_knowledge(query, subject, top_k)

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...).

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "What to look up, phrased as a topic or question",
      "maxLength": 300,
      "minLength": 3,
      "title": "Query",
      "type": "string"
    },
    "subject": {
      "anyOf": [
        {
          "maxLength": 60,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional subject filter (see list_study_topics)",
      "title": "Subject"
    },
    "top_k": {
      "default": 5,
      "maximum": 8,
      "minimum": 1,
      "title": "Top K",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_sambodh_knowledgeArguments"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools