{"id":37078789,"url":"https://github.com/hkopenai/hk-climate-mcp-server","last_synced_at":"2026-08-27T21:44:35.876Z","repository":{"id":297925052,"uuid":"998309459","full_name":"hkopenai/hk-climate-mcp-server","owner":"hkopenai","description":"This is an MCP server that provides access to climate and weather data through a FastMCP interface.","archived":false,"fork":false,"pushed_at":"2026-08-10T13:12:17.000Z","size":233,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-08-12T07:48:29.681Z","etag":null,"topics":["ai","artificial-intelligence","hong-kong","hongkong","mcp","mcp-server","open-data"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hkopenai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-08T10:36:35.000Z","updated_at":"2026-08-10T13:16:54.000Z","dependencies_parsed_at":"2025-06-23T05:21:33.915Z","dependency_job_id":"94cd4418-996b-47f2-ae92-90a460a764dd","html_url":"https://github.com/hkopenai/hk-climate-mcp-server","commit_stats":null,"previous_names":["hkopenai/hk-weather-mcp-server","hkopenai/hk-climate-mcp-server"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/hkopenai/hk-climate-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkopenai%2Fhk-climate-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkopenai%2Fhk-climate-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkopenai%2Fhk-climate-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkopenai%2Fhk-climate-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hkopenai","download_url":"https://codeload.github.com/hkopenai/hk-climate-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkopenai%2Fhk-climate-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36947244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-27T02:00:07.166Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","artificial-intelligence","hong-kong","hongkong","mcp","mcp-server","open-data"],"created_at":"2026-01-14T09:24:07.948Z","updated_at":"2026-08-27T21:44:35.389Z","avatar_url":"https://github.com/hkopenai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HK Climate and Weather MCP Server\n\n[![GitHub Repository](https://img.shields.io/badge/GitHub-Repository-blue.svg)](https://github.com/hkopenai/hk-climate-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\nThis is an MCP server that provides access to climate and weather data through a FastMCP interface.\n\n## Data Source\n\n* Hong Kong Observatory \n\n## Features\n\n- Current weather: Get current weather observations from HKO (supports optional region parameter)\n- 9-day forecast: Get extended weather forecast including general situation, daily forecasts, sea and soil temperatures\n- Local weather forecast: Get short-term weather forecast with outlook\n- Weather warnings: Get summary and detailed information about active weather warnings\n- Special weather tips: Get important weather-related safety tips\n\n## API Reference\n\n### Current Weather\n`get_current_weather(region: str = \"Hong Kong Observatory\") -\u003e Dict`\n- Get current weather observations for a specific region in Hong Kong\n- Parameters:\n  - region: The region to get weather for (default: \"Hong Kong Observatory\")\n- Returns:\n  - Dict containing:\n    - warning: Current weather warnings\n    - temperature: Current temperature in Celsius\n    - humidity: Current humidity percentage\n    - rainfall: Current rainfall in mm\n\n### 9-Day Weather Forecast\n`get_9_day_weather_forecast(lang: str = \"en\") -\u003e Dict`\n- Get the 9-day weather forecast for Hong Kong\n- Parameters:\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing:\n    - generalSituation: General weather situation\n    - weatherForecast: List of daily forecast dicts\n    - updateTime: Last update time\n    - seaTemp: Sea temperature info\n    - soilTemp: List of soil temperature info\n\n### Local Weather Forecast  \n`get_local_weather_forecast(lang: str = \"en\") -\u003e Dict`\n- Get local weather forecast for Hong Kong\n- Parameters:\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing:\n    - forecastDesc: Forecast description\n    - outlook: Outlook forecast\n    - updateTime: Last update time\n    - forecastPeriod: Forecast period\n    - forecastDate: Forecast date\n\n### Weather Warning Summary\n`get_weather_warning_summary(lang: str = \"en\") -\u003e Dict`\n- Get weather warning summary for Hong Kong\n- Parameters:\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing:\n    - warningMessage: List of warning messages\n    - updateTime: Last update time\n\n### Weather Warning Information\n`get_weather_warning_info(lang: str = \"en\") -\u003e Dict`\n- Get detailed weather warning information\n- Parameters:\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing:\n    - warningStatement: Warning statement\n    - updateTime: Last update time\n\n### Special Weather Tips\n`get_special_weather_tips(lang: str = \"en\") -\u003e Dict`\n- Get special weather tips for Hong Kong\n- Parameters:\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing:\n    - specialWeatherTips: List of special weather tips\n    - updateTime: Last update time\n\n### Visibility Data\n`get_visibility(lang: str = \"en\") -\u003e Dict`\n- Get latest 10-minute mean visibility data for Hong Kong\n- Parameters:\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing visibility data with fields and data arrays\n\n### Lightning Data  \n`get_lightning_data(lang: str = \"en\") -\u003e Dict`\n- Get cloud-to-ground and cloud-to-cloud lightning count data\n- Parameters:\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing lightning data with fields and data arrays\n\n### Moon Times\n`get_moon_times(year: int, month: Optional[int] = None, day: Optional[int] = None, lang: str = \"en\") -\u003e Dict`\n- Get times of moonrise, moon transit and moonset\n- Parameters:\n  - year: Year (2018-2024)\n  - month: Optional month (1-12)\n  - day: Optional day (1-31)\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing moon times data with fields and data arrays\n\n### Hourly Tides\n`get_hourly_tides(station: str, year: int, month: Optional[int] = None, day: Optional[int] = None, hour: Optional[int] = None, lang: str = \"en\") -\u003e Dict`\n- Get hourly heights of astronomical tides for a specific station\n- Parameters:\n  - station: Station code (e.g. 'CCH' for Cheung Chau)\n  - year: Year (2022-2024)\n  - month: Optional month (1-12)\n  - day: Optional day (1-31)\n  - hour: Optional hour (1-24)\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing tide data with fields and data arrays\n\n### High/Low Tides\n`get_high_low_tides(station: str, year: int, month: Optional[int] = None, day: Optional[int] = None, hour: Optional[int] = None, lang: str = \"en\") -\u003e Dict`\n- Get times and heights of astronomical high and low tides\n- Parameters:\n  - station: Station code (e.g. 'CCH' for Cheung Chau)\n  - year: Year (2022-2024)\n  - month: Optional month (1-12)\n  - day: Optional day (1-31)\n  - hour: Optional hour (1-24)\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing tide data with fields and data arrays\n\n### Weather and Radiation Report\n`get_weather_radiation_report(date: str, station: str, lang: str = \"en\") -\u003e Dict`\n- Get weather and radiation level report for Hong Kong\n- Parameters:\n  - date: Mandatory date in YYYYMMDD format (e.g., 20250618)\n  - station: Mandatory station code (e.g., 'HKO' for Hong Kong Observatory)\n  - lang: Language code (en/tc/sc, default: en)\n- Returns:\n  - Dict containing weather and radiation data or error message if parameters are invalid\n\n### Station Codes\n`get_radiation_station_codes() -\u003e Dict`\n- Get a list of station codes and their corresponding names for weather and radiation reports in Hong Kong\n- Parameters:\n  - None\n- Returns:\n  - Dict mapping station codes to station names\n\n## Setup\n\n1. Clone this repository\n2. Install Python dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n3. Run the server:\n   ```bash\n   python server.py\n   ```\n\n### Running Options\n\n- Default stdio mode: `python server.py`\n- SSE mode (port 8000): `python server.py --sse`\n\n### Environment Variables\n\n- `TRANSPORT_MODE`: Set to `sse` to run the server in SSE mode. If not set, defaults to `stdio` mode.\n- `HOST`: When `TRANSPORT_MODE` is `sse`, specifies the host to bind the server to (e.g., `0.0.0.0`). Defaults to `127.0.0.1`.\n- `PORT`: When `TRANSPORT_MODE` is `sse`, specifies the port to run the server on (e.g., `8080`). Defaults to `8000`.\n\nExample:\n```bash\nTRANSPORT_MODE=sse HOST=0.0.0.0 PORT=8080 python server.py\n```\n\n## Cline Integration\n\nTo connect this MCP server to Cline using stdio:\n\n1. Add this configuration to your Cline MCP settings (cline_mcp_settings.json):\n```json\n{\n  \"hko-server\": {\n    \"disabled\": false,\n    \"timeout\": 3,\n    \"type\": \"stdio\",\n    \"command\": \"python\",\n    \"args\": [\n      \"-m\",\n      \"hkopenai.hk_climate_mcp_server\"\n    ]\n  }\n}\n```\n\n## Testing\n\nTests are available in `tests`. Run with:\n```bash\npytest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhkopenai%2Fhk-climate-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhkopenai%2Fhk-climate-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhkopenai%2Fhk-climate-mcp-server/lists"}