Skip to content

Offline MCP server for educational content generation (MCQs, lesson plans, flashcards) without LLMs — built using Flask. Fully Claude-compatible and browser-testable.

Notifications You must be signed in to change notification settings

Nihal108-bi/offline-mcp-educational-server

Repository files navigation

README.md

# Offline MCP Server — EduChain Assignment Submission

This project implements an **offline MCP (Meta-Channel Protocol) server** that simulates educational content generation tools without using any external LLMs (e.g., OpenAI or Gemini). It is fully compatible with Claude Desktop or can be tested independently using browser, Postman, or cURL.

---

## 📂 Project Structure

. ├── run.py # Entry point to run the Flask server ├── requirements.txt # Dependencies (Flask) ├── claude_desktop_config.json # Claude Desktop configuration (optional) ├── Sample_Responses.txt # Sample API calls and responses ├── README.md # This file └── app/ ├── init.py # Initializes the Flask app ├── routes.py # Flask routes and UI form └── edu_utils.py # Core educational logic (MCQs, plans, flashcards)


---

## 🚀 Features

| Tool             | Endpoint                | Description                                     |
|------------------|--------------------------|-------------------------------------------------|
| MCQ Generator    | `/generate-mcqs`         | Generates MCQs based on topic and count         |
| Lesson Plan Tool | `/get-lesson-plan`       | Returns a structured lesson plan for a subject  |
| Flashcards Tool  | `/generate-flashcards`   | Creates flashcards from topic keywords          |
| Test UI          | `/`                      | Browser form to test all routes easily          |

---

## 🧠 LLM-Free Design

Instead of calling real LLMs like OpenAI or Gemini, this project:
- Uses **handwritten logic**
- Returns **realistic educational content**
- Fully mimics JSON structure expected by Claude Desktop

---

## 🔧 Installation & Run

### Step 1: Install requirements

```bash
pip install -r requirements.txt

Step 2: Run the Flask server

python run.py

By default, the server runs on:

http://localhost:5001

🌐 Test the Server (Without Claude)

Visit in browser:

http://localhost:5001

Use the dropdowns and forms to test:

  • Generate MCQs
  • Get Lesson Plan
  • Create Flashcards

Or use Postman / curl.


🧪 Sample Request

POST /generate-mcqs

{
  "topic": "Python Basics",
  "count": 2
}

Sample Response

{
  "mcqs": [
    {
      "question": "Which keyword is used to define a function in Python?",
      "options": ["define", "def", "func", "lambda"],
      "answer": "def"
    },
    ...
  ]
}

🛠 Claude Desktop Integration (Optional)

Use the claude_desktop_config.json file provided to connect this server to Claude Desktop. Restart Claude Desktop after configuring it.


📥 Submission Checklist

  • mcp_server.py → now modular: run.py + routes.py + utils.py
  • claude_desktop_config.json
  • Sample_Responses.txt
  • README.md
  • Uses NO LLMs (fully offline)
  • Tested via browser, Postman, and curl

📧 Author

Nihal Jaiswal B.Tech (2026) GitHub: [github.com/yourusername]

About

Offline MCP server for educational content generation (MCQs, lesson plans, flashcards) without LLMs — built using Flask. Fully Claude-compatible and browser-testable.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages