GitHub Hot Board

GitHub hot-repo leaderboards: snapshots, movers, rank history. Read-only JSON, hourly batches.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
80%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'list_boards' description lacks action verbin list_boards

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,535Tokens (tool definitions)
~2.3 KBTypical response size
Moderate attention impact (1.20% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "github-hot-board": {
      "url": "https://git.vaiox.xyz/api/mcp"
    }
  }
}

Remote endpoints

https://git.vaiox.xyz/api/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_boards

The 10 leaderboards on GitHub Hot Board: what each ranks, its canonical page URL and its JSON API endpoint.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string"
    },
    "boards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "metric": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "jsonApi": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "metric",
          "url",
          "jsonApi"
        ]
      }
    }
  },
  "required": [
    "site",
    "boards"
  ]
}
🟢get_board(slug, language, limit)

Top-N rows of one leaderboard (rank, stars, forks, issues, language, description). Refreshes every ~6 hours; generatedAt is the batch stamp (fetch once per sync cycle).

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "enum": [
        "overall",
        "weekly",
        "monthly",
        "annual",
        "rising",
        "dark",
        "overlooked",
        "controversial",
        "forks",
        "milestone"
      ],
      "description": "one of the 10 board slugs"
    },
    "language": {
      "type": "string",
      "description": "optional source-language facet; supported only for overall / weekly / monthly"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "language": {
      "type": [
        "string",
        "null"
      ]
    },
    "generatedAt": {
      "type": "string"
    },
    "batchSize": {
      "type": "integer"
    },
    "source": {
      "type": "string",
      "description": "github-search | github-trending | github-search-fallback — which upstream produced this batch"
    },
    "degraded": {
      "type": "boolean",
      "description": "true = the official Trending scrape failed and a Search-based fallback methodology was served; cite with care (HTML pages show the same warning)"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {
            "type": "integer"
          },
          "fullName": {
            "type": "string"
          },
          "htmlUrl": {
            "type": "string"
          },
          "stars": {
            "type": "integer"
          },
          "forks": {
            "type": "integer"
          },
          "issues": {
            "type": "integer"
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "desc": {
            "type": "string"
          },
          "pushedAt": {
            "type": "string"
          },
          "gained": {
            "type": "integer"
          },
          "sincePeriod": {
            "type": "string"
          },
          "slope": {
            "type": "number"
          },
          "score": {
            "type": "number"
          },
          "milestoneTarget": {
            "type": "integer"
          }
        },
        "required": [
          "rank",
          "fullName",
          "htmlUrl",
          "stars",
          "forks",
          "issues",
          "language"
        ]
      }
    }
  },
  "required": [
    "slug",
    "language",
    "generatedAt",
    "batchSize",
    "source",
    "degraded",
    "items"
  ]
}
🟢get_board_movers(slug, limit)

Repositories that genuinely moved rank on a board within the last 24 hours, from our own snapshot series (the same data as the on-site movers strip). Positive climb = went up.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "enum": [
        "overall",
        "weekly",
        "monthly",
        "annual",
        "rising",
        "dark",
        "overlooked",
        "controversial",
        "forks",
        "milestone"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "window": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "movers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "repo": {
            "type": "string"
          },
          "wasRank": {
            "type": "integer"
          },
          "nowRank": {
            "type": "integer"
          },
          "climb": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "repo",
          "wasRank",
          "nowRank",
          "climb",
          "url"
        ]
      }
    }
  },
  "required": [
    "slug",
    "window",
    "count",
    "movers"
  ]
}
🟢get_repo(full, lg)

Library record for one repository: stars, forks, description in up to 16 UI languages (keys are locale codes), current overall-board rank if listed, pushedAt, and asOf freshness stamps. Served from our own dataset (no live GitHub API call); repos outside the library return not-in-library.

Input Schema

{
  "type": "object",
  "properties": {
    "full": {
      "type": "string",
      "description": "owner/name, e.g. vercel/next.js"
    },
    "lg": {
      "type": "string",
      "enum": [
        "en",
        "zh",
        "zh-TW",
        "ja",
        "ko",
        "de",
        "fr",
        "es",
        "pt",
        "it",
        "ru",
        "uk",
        "pl",
        "tr",
        "vi",
        "id"
      ],
      "description": "optional: also return descText in this UI language"
    }
  },
  "required": [
    "full"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "fullName": {
      "type": "string"
    },
    "stars": {
      "type": "integer"
    },
    "forks": {
      "type": "integer"
    },
    "pushedAt": {
      "type": "string"
    },
    "desc": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "overallRank": {
      "type": "integer"
    },
    "asOf": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "descText": {
      "type": "string"
    }
  },
  "required": [
    "fullName",
    "asOf",
    "source"
  ]
}
🟢search_library(q, limit)

Search repositories tracked by this site, by owner/name (exact wins) or by keyword over descriptions (16 languages). Library-only: repos never listed on a board are not here. No live GitHub calls.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "owner/name fragment or keyword"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string"
          },
          "stars": {
            "type": "integer"
          },
          "forks": {
            "type": "integer"
          },
          "desc": {
            "type": "string"
          },
          "overallRank": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "fullName",
          "url"
        ]
      }
    }
  },
  "required": [
    "query",
    "count",
    "results"
  ]
}
🟢get_repo_history(full, board, days)

Time series of one repository on one board (default overall): rank + star points at our sync cadence (~6h) from our own snapshot series — denser than the daily archives others publish. Empty result means the repo was not tracked in the window.

Input Schema

{
  "type": "object",
  "properties": {
    "full": {
      "type": "string",
      "description": "owner/name"
    },
    "board": {
      "type": "string",
      "enum": [
        "overall",
        "weekly",
        "monthly",
        "annual",
        "rising",
        "dark",
        "overlooked",
        "controversial",
        "forks",
        "milestone"
      ],
      "default": "overall"
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "default": 7
    }
  },
  "required": [
    "full"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "fullName": {
      "type": "string"
    },
    "board": {
      "type": "string"
    },
    "days": {
      "type": "integer"
    },
    "cadence": {
      "type": "string"
    },
    "pointCount": {
      "type": "integer"
    },
    "points": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "at": {
            "type": "string"
          },
          "rank": {
            "type": "integer"
          },
          "stars": {
            "type": "integer"
          }
        },
        "required": [
          "at",
          "rank",
          "stars"
        ]
      }
    }
  },
  "required": [
    "fullName",
    "board",
    "days",
    "cadence",
    "pointCount",
    "points"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools