Skip to main content
Glama
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