from mcp.server.fastmcp import FastMCP
from tools.generate_mcqs import generate_mcqs
from tools.generate_lesson_plan import generate_lesson_plan
from tools.generate_flashcards import generate_flashcards
import os
os.environ["DANGEROUSLY_OMIT_AUTH"] = "true"
# Create the server
mcp = FastMCP("EduChain Gemini Server")
print("Booting up server...")
# Add MCQ generator as a tool
@mcp.tool()
def generate_mcq_tool(topic: str, num: int = 5) -> dict:
"""Generate multiple choice questions for a given topic"""
return generate_mcqs(topic, num)
# Add Lesson Plan as a resource
@mcp.resource("lesson://{subject}")
def lesson_plan_resource(subject: str) -> dict:
"""Returns a lesson plan for the specified subject"""
return generate_lesson_plan(subject)
# Add Flashcards as a bonus tool
@mcp.tool()
def generate_flashcard_tool(topic: str, num: int = 5) -> dict:
"""Generate flashcards for a given topic"""
return generate_flashcards(topic, num)
# Run the server
if __name__ == "__main__":
mcp.run()