Skip to main content
Glama

HRFCO Service

mcp.py1.95 kB
import json import os from http.server import BaseHTTPRequestHandler import sys sys.path.append('/var/task') from mcp_server import HRFCOClient class handler(BaseHTTPRequestHandler): def do_POST(self): content_length = int(self.headers['Content-Length']) post_data = self.rfile.read(content_length) try: request = json.loads(post_data.decode('utf-8')) client = HRFCOClient() method = request.get("method") if method == "tools/call": params = request.get("params", {}) tool_name = params.get("name") args = params.get("arguments", {}) if tool_name == "get_observatories": result = await client.get_observatories( args.get("hydro_type", "waterlevel"), limit=5 # Netlify 응답 크기 제한 ) else: result = {"error": f"Unknown tool: {tool_name}"} response = { "jsonrpc": "2.0", "id": request.get("id"), "result": {"content": [{"type": "text", "text": json.dumps(result, ensure_ascii=False)}]} } else: response = {"jsonrpc": "2.0", "id": request.get("id"), "error": {"code": -32601, "message": "Method not found"}} self.send_response(200) self.send_header('Content-type', 'application/json') self.end_headers() self.wfile.write(json.dumps(response).encode()) except Exception as e: self.send_response(500) self.send_header('Content-type', 'application/json') self.end_headers() error_response = {"error": str(e)} self.wfile.write(json.dumps(error_response).encode())

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kwenhwang/hrfco-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server