黑123 Hackathons
Read-only search of hackathons, team-up posts and projects on 黑123 (hack123.henryht.sh), zh/en.
Should I use this
Quality & Safety
Findings (4)
- HIGH
- INFOin search_hackathons
- INFOin get_hackathon
- INFOin search_works
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"hack123": {
"url": "https://hack123.henryht.sh/api/mcp"
}
}
}Remote endpoints
https://hack123.henryht.sh/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢search_hackathons(query, city, online, theme, from, ...)
Search hackathons listed on 黑123 (hack123.henryht.sh). Bilingual (zh/en) fields; every result has its site URL. status: upcoming = start date in the future, open = deadline today or later, ended = deadline passed (dates in UTC, YYYY-MM-DD).
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keywords matched against titles, aliases, summaries, topics, cities (zh or en)"
},
"city": {
"type": "string",
"description": "City name in Chinese or English, e.g. 上海 / Shanghai"
},
"online": {
"type": "boolean",
"description": "true = online only; false = offline/hybrid only"
},
"theme": {
"type": "string",
"description": "Topic, e.g. AI / Web3 / 具身智能"
},
"from": {
"type": "string",
"description": "Earliest date (YYYY-MM-DD); matches events whose start or deadline is on/after it"
},
"to": {
"type": "string",
"description": "Latest date (YYYY-MM-DD); matches events whose start or deadline is on/before it"
},
"status": {
"type": "string",
"enum": [
"upcoming",
"open",
"ended"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"additionalProperties": false
}🟢get_hackathon(slug)
Get one hackathon by slug (the part after /h/ in the site URL), with bilingual details, official sources, related works and active team posts.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
],
"additionalProperties": false
}🟢search_team_posts(hackathon, city, role, query, limit)
Search active team-up (looking for teammates) posts from 黑123 /team. Expired posts are excluded with the same rule as the site.
Input Schema
{
"type": "object",
"properties": {
"hackathon": {
"type": "string",
"description": "Hackathon slug or name (zh/en)"
},
"city": {
"type": "string",
"description": "Location, zh or en, e.g. 北京 / Beijing / 线上"
},
"role": {
"type": "string",
"description": "Wanted role, e.g. 前端 / 设计 / 算法"
},
"query": {
"type": "string",
"description": "Free-text keywords"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"additionalProperties": false
}🟢search_works(hackathon, tag, query, limit)
Search hackathon projects (works) collected on 黑123 /works, by hackathon and/or tag. Tags are bilingual, e.g. agent / Agent, education / 教育学习, web / 网页应用.
Input Schema
{
"type": "object",
"properties": {
"hackathon": {
"type": "string",
"description": "Hackathon slug or name (zh/en)"
},
"tag": {
"type": "string",
"description": "Tag key or name in zh/en"
},
"query": {
"type": "string",
"description": "Free-text keywords"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"additionalProperties": false
}Community
Evidence