diff --git a/src/mcp_tool.py b/src/mcp_tool.py new file mode 100644 index 0000000..39fc4e2 --- /dev/null +++ b/src/mcp_tool.py @@ -0,0 +1,41 @@ +import json +from http.server import BaseHTTPRequestHandler, HTTPServer +import threading +import time + +# Simple mock server data +COURSE_META = { + "schedule": "Понедельник 10:00-12:00, Среда 14:00-16:00", + "instructor": "Dr. Иванов" +} + +class MetaHandler(BaseHTTPRequestHandler): + def do_GET(self): + if self.path.startswith("/meta"): + self.send_response(200) + self.send_header("Content-Type", "application/json") + self.end_headers() + self.wfile.write(json.dumps(COURSE_META).encode()) + else: + self.send_response(404) + self.end_headers() + + def log_message(self, format, *args): + return # Suppress console logs + + +def start_meta_server(port=8000): + server = HTTPServer(("", port), MetaHandler) + thread = threading.Thread(target=server.serve_forever, daemon=True) + thread.start() + return server + +# Client wrapper +import httpx + +def fetch_course_meta(query: str): + """GET /meta and return JSON. Query is ignored for mock.""" + url = "http://localhost:8000/meta" + response = httpx.get(url) + response.raise_for_status() + return response.json()