File Finder MCP Server

from http.server import BaseHTTPRequestHandler, HTTPServer import os import json import time class MCPHandler(BaseHTTPRequestHandler): def do_GET(self): if self.path.startswith("/search?"): query = self.path.split("?")[1] param = dict(q.split("=") for q in query.split("&")) fragment = param.get("q", "") if fragment: results = self.search_files(fragment) self.send_response(200) self.send_header("Content-Type", "application/json") self.end_headers() self.wfile.write(json.dumps(results, indent=4).encode("utf-8")) else: self.send_error(400, "Missing query parameter: q") else: self.send_error(404, "Not Found") def search_files(self, fragment): results = [] for root, _, files in os.walk("."): for file in files: if fragment in file: file_path = os.path.join(root, file) file_stat = os.stat(file_path) results.append({ "name": file, "path": os.path.abspath(file_path), "size": file_stat.st_size, "created": time.ctime(file_stat.st_ctime) }) return results if __name__ == "__main__": server_address = ("localhost", 8080) httpd = HTTPServer(server_address, MCPHandler) print("MCP сервис запущен на http://localhost:8080") httpd.serve_forever()