hn-mcp
by booklib-ai
README.md
# 🟠hn-mcp — Post to Hacker News via MCP
The **only** MCP server that can **write** to Hacker News. All 7+ existing HN MCP servers are read-only. This one submits stories, posts comments, and checks your submissions.
## Tools
| Tool | What it does |
|------|-------------|
| `hn_login` | Login to HN (persists cookies across restarts) |
| `hn_submit` | Submit a story (link post or Ask HN) |
| `hn_comment` | Post a comment or reply |
| `hn_my_submissions` | Check your recent posts with scores |
| `hn_search` | Search HN via Algolia |
## Setup
```bash
cd hn-mcp
uv sync
```
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"hackernews": {
"command": "uv",
"args": ["run", "--directory", "/Users/YOU/path/to/hn-mcp", "python3", "server.py"],
"env": {
"HN_USERNAME": "your_hn_username",
"HN_PASSWORD": "your_hn_password"
}
}
}
}
```
### Cursor / Windsurf
Add to your MCP config:
```json
{
"hackernews": {
"command": "uv",
"args": ["run", "--directory", "/Users/YOU/path/to/hn-mcp", "python3", "server.py"],
"env": {
"HN_USERNAME": "your_hn_username",
"HN_PASSWORD": "your_hn_password"
}
}
}
```
## Usage
Just talk naturally:
- "Submit my dispatch to Hacker News as Show HN"
- "Post a comment on item 12345 explaining our scanner"
- "Check how my last HN submission is doing"
- "Search HN for axios supply chain attack"
## How it works
HN has no write API. This server:
1. Logs in via HTTP POST with session cookies
2. Extracts FNID/HMAC CSRF tokens from forms
3. Submits via POST (same as clicking "submit" in the browser)
4. Persists cookies to `~/.hn-mcp-cookies.pkl` for reuse
## Security
- Credentials via environment variables (never in code)
- Session cookies at `~/.hn-mcp-cookies.pkl`
- No data sent anywhere except `news.ycombinator.com` and `hn.algolia.com`
## License
MIT — [booklib-ai](https://github.com/booklib-ai)
TDQS
A3.8/5.0
Scored across 5 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: login, search, submit, comment, and viewing own submissions. There is no overlap or ambiguity between them.
Naming Consistency4/5
All tools use the 'hn_' prefix and mostly follow a verb pattern, but 'hn_my_submissions' is a noun phrase with a possessive, breaking the verb pattern slightly.
Tool Count5/5
With 5 tools covering login, search, submission, comments, and personal submissions, the count is well-scoped for a Hacker News client without being excessive.
Completeness3/5
The set covers basic HN interactions but misses common actions like upvoting, viewing specific stories, or reading comments. These gaps may require workarounds.
Maintenance
ActivityInactive
ResponsivenessNo issues