hko_mcp

by louiscklaw

2 333 downloads Not rated yet MIT

About

Fetch data from Hong Kong Observatory with MCP

Details

License
MIT

Explore

1. Install dependencies:

npm install

2. Start the MCP development server:

npm run inspect

3. Build the MCP server:

npm run build

4. Run tests:

npm test

5. Run tests in watch mode:

npm run test:watch

Comprehensive tests have been created for all API functions. See docs/TESTING.md for details.

{
  "mcpServers": {
    "mcp-hko": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "github:louiscklaw/mcp-hko"
      ]
    }
  }
}
{
  "mcpServers": {
    "mcp-hko-docker": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp-hko:latest"],
      "name": "mcp-hko (Docker)",
    }
  }
}

- 9-day Weather Forecast (fnd)
- Current Weather Report (rhrread)
- Local Weather Forecast (flw)
- Weather Warning Information (warningInfo)
- Weather Warning Summary (warnsum)
- Special Weather Tips (swt)
- Quick Earthquake Messages (qem)
- Locally Felt Earth Tremor Report (feltearthquake)
- Tide Information (HHOT, HLT)
- Astronomical Data (SRS, lunardate)
- Lightning and Visibility Data (LHL, LTMV)
- Temperature Records (CLMTEMP, CLMMAXT, CLMMINT)
- Radiation Level Reports (RYES)
- Rainfall Data (hourlyrainfall)

mcp-hko (Hong Kong Observatory MCP Server)

This MCP server provides access to Hong Kong Observatory weather data APIs.
It implements various tools that allow clients to retrieve weather forecasts, earthquake information, tide data, and other meteorological information through the Model Context Protocol.

Available Weather Data Tools

- 9-day Weather Forecast (fnd)
- Current Weather Report (rhrread)
- Local Weather Forecast (flw)
- Weather Warning Information (warningInfo)
- Weather Warning Summary (warnsum)
- Special Weather Tips (swt)
- Quick Earthquake Messages (qem)
- Locally Felt Earth Tremor Report (feltearthquake)
- Tide Information (HHOT, HLT)
- Astronomical Data (SRS, lunardate)
- Lightning and Visibility Data (LHL, LTMV)
- Temperature Records (CLMTEMP, CLMMAXT, CLMMINT)
- Radiation Level Reports (RYES)
- Rainfall Data (hourlyrainfall)

Usage Examples

Get 9-day weather forecast

> prompt: > > what is the weather in next Wed ?

Get current weather report

> prompt: > > what is the weather now ?

Development Setup

1. Install dependencies:

npm install

2. Start the MCP development server:

npm run inspect

3. Build the MCP server:

npm run build

4. Run tests:

npm test

5. Run tests in watch mode:

npm run test:watch

Comprehensive tests have been created for all API functions. See docs/TESTING.md for details.

Configuration (Claude Desktop)

{
  "mcpServers": {
    "mcp-hko": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "github:louiscklaw/mcp-hko"
      ]
    }
  }
}

Configuration (docker)

{
  "mcpServers": {
    "mcp-hko-docker": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp-hko:latest"],
      "name": "mcp-hko (Docker)",
    }
  }
}

Project Structure

- src/ - Server source code - src/lib/ - API implementation modules - documentation/ - API documentation and test cases - scripts/ - Development utilities - src/tests/ - Test files

Server Architecture

The MCP server is built on the FastMCP framework and implements various tools that correspond to Hong Kong Observatory APIs. The architecture is shown in two diagrams for better readability:

Server Overview

Detailed Tool Structure

REQ01xx: Weather Forecasts & Warnings
flowchart TD
    subgraph REQ01xx[Weather Forecasts & Warnings]
        direction BT
        B1[9-day Forecast]
        B2[Current Weather]
        B3[Local Forecast]
        B4[Warning Info]
        B5[Warning Summary]
        B6[Special Weather Tips]
    end
REQ02xx: Earthquake Information
flowchart TD
    subgraph REQ02xx[Earthquake Information]
        C1[Quick Earthquake]
        C2[Felt Earthquake]
    end
REQ03xx: Tides, Astronomy & Climate
flowchart TD
    subgraph REQ03xx[Tides, Astronomy & Climate]
        D1[Tide: HHOT]
        D2[Tide: HLT]
        D3[Sunrise/Sunset: SRS]
        D4[Lightning: LHL]
        D5[Visibility: LTMV]
        D6[Temperature: CLMTEMP]
        D7[Max Temperature: CLMMAXT]
        D8[Min Temperature: CLMMINT]
        D9[Radiation: RYES]
    end
REQ04xx: Lunar Calendar
flowchart TD
    subgraph REQ04xx[Lunar Calendar]
        E1[Lunar Date]
    end
REQ05xx: Rainfall
flowchart TD
    subgraph REQ05xx[Rainfall]
        F1[Hourly Rainfall]
    end

Credits:

- mcp-hk-transport-eta

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.