CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Hn Mcp Server

cyanheads/hn-mcp-server
4 toolsSTDIO, HTTPregistry active
Summary

Plugs directly into Hacker News through both the Firebase API and Algolia's search endpoint. You get four tools: pull stories from any feed (top, new, best, ask, show, jobs) with pagination, fetch entire comment threads with configurable depth and breadth-first traversal, look up user profiles with their submission history, and run full-text searches across stories and comments with filters for date ranges, authors, and point thresholds. Built on the author's mcp-ts-core framework with concurrent batch fetching for item resolution. Runs locally via stdio or connects to a public hosted instance at hn.caseyjhand.com/mcp. No API keys needed since HN's APIs are public. Useful when you need to analyze discussions, track topics, or pull research material from HN without opening a browser.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

4 tools
hn_get_storiesFetch stories from an HN feed (top, new, best, ask, show, jobs). Returns enriched story objects with title, URL, score, author, and comment count.3 params

Fetch stories from an HN feed (top, new, best, ask, show, jobs). Returns enriched story objects with title, URL, score, author, and comment count.

Parameters* required
feedstring
Which HN feed to fetch. "top" includes jobs. "ask" and "show" are Ask HN / Show HN posts.one of top · new · best · ask · show · jobs
countnumber
Number of stories to return. Each story is fetched individually — larger counts take longer.default: 30
offsetnumber
Number of stories to skip from the start of the feed. Use with count for pagination.default: 0
hn_get_threadGet an item and its comment tree as a threaded discussion. Recursively resolves child comments. With depth 0, returns just the item — doubles as an item lookup.3 params

Get an item and its comment tree as a threaded discussion. Recursively resolves child comments. With depth 0, returns just the item — doubles as an item lookup.

Parameters* required
depthnumber
How many levels of replies to resolve. 0 = just the item, no comments. 1 = direct replies only. Deeper threads on popular stories can be very large — start with 2-3 and go deeper if needed.default: 3
itemIdnumber
ID of the story, comment, or poll to fetch the thread for.
maxCommentsnumber
Maximum total comments to include across all depth levels. Traversal stops when this limit is reached. Comments are resolved breadth-first by HN ranking.default: 50
hn_get_userGet an HN user profile with karma, about, and optionally their most recent submissions resolved into full items.3 params

Get an HN user profile with karma, about, and optionally their most recent submissions resolved into full items.

Parameters* required
usernamestring
HN username. Case-sensitive.
submissionCountnumber
Number of recent submissions to resolve. Only used when includeSubmissions is true.default: 10
includeSubmissionsboolean
Resolve the user's most recent submissions into full items. Without this, only the submission count is available.default: false
hn_search_contentSearch Hacker News stories and comments via Algolia. Supports filtering by content type, author, date range, and minimum points.8 params

Search Hacker News stories and comments via Algolia. Supports filtering by content type, author, date range, and minimum points.

Parameters* required
pagenumber
Page number for pagination (0-indexed).default: 0
sortstring
Sort order. "relevance" for best match, "date" for most recent first.one of relevance · datedefault: relevance
tagsstring
Filter results by content type. Omit to search all types.one of story · comment · ask_hn · show_hn · front_page
countnumber
Number of results to return.default: 30
querystring
Search terms. Supports simple keywords — Algolia handles stemming and relevance.
authorstring
Filter results to a specific author. Useful for finding a user's posts on a topic (hn_get_user only shows recent submissions).
dateRangeobject
Filter to a date window. Useful for finding discussions about recent events.
minPointsnumber
Minimum score/points. Filters out low-engagement content.

@cyanheads/hn-mcp-server

Browse Hacker News feeds, threads, and user profiles with full-text search via MCP. STDIO or Streamable HTTP.

4 Tools

Version License Docker MCP SDK npm TypeScript Bun

Install in Claude Desktop Install in Cursor Install in VS Code

Framework

Public Hosted Server: https://hn.caseyjhand.com/mcp


Tools

Four read-only tools for accessing Hacker News data:

Tool NameDescription
hn_get_storiesFetch stories from an HN feed (top, new, best, ask, show, jobs) with pagination.
hn_get_threadGet an item and its comment tree as a threaded discussion with depth/count controls.
hn_get_userFetch a user profile with karma, about, and optionally their recent submissions.
hn_search_contentSearch stories and comments via Algolia with type, author, date, and score filters.

hn_get_stories

Fetch stories from any HN feed with pagination support.

  • Six feed types: top, new, best, ask, show, jobs
  • Configurable count (1–100, default 30) and offset for pagination
  • Returns enriched story objects with title, URL, score, author, comment count, and body text

hn_get_thread

Retrieve an item and its full comment tree via ranked breadth-first traversal.

  • Depth control (0–10, default 3) — depth 0 doubles as a single-item lookup
  • Comment limit (1–200, default 50) caps total comments across all levels
  • Breadth-first traversal preserves HN's ranking order
  • Flat comment list with depth/parentId for tree reconstruction

hn_get_user

Fetch a user profile with optional recent submission resolution.

  • Profile includes karma, creation date, and about text (HTML stripped)
  • Optionally resolves up to 50 most recent submissions into full items
  • Submission resolution filters out dead/deleted items

hn_search_content

Full-text search via the Algolia HN Search API.

  • Filter by content type: story, comment, ask_hn, show_hn, front_page
  • Filter by author, date range (ISO 8601), and minimum points
  • Sort by relevance or date
  • Pagination with page/count controls

Features

Built on @cyanheads/mcp-ts-core:

  • Declarative tool definitions — single file per tool, framework handles registration and validation
  • Unified error handling across all tools
  • Structured logging with request correlation
  • Runs locally (stdio/HTTP) from the same codebase

HN-specific:

  • Server-level instructions orientation forwarded to LLM clients on initialize — item types, ID reuse across tools, case-sensitive usernames, and field sparsity expectations
  • Concurrent batch fetching with configurable parallelism for item resolution
  • HTML entity decoding and tag stripping with code block and link preservation
  • No API keys required — HN APIs are public

Getting Started

Public Hosted Instance

A public instance is available at https://hn.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP:

{
  "mcpServers": {
    "hn-mcp-server": {
      "type": "streamable-http",
      "url": "https://hn.caseyjhand.com/mcp"
    }
  }
}

Self-Hosted / Local

Add to your MCP client configuration file:

{
  "mcpServers": {
    "hn-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/hn-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with npx (no Bun required):

{
  "mcpServers": {
    "hn-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/hn-mcp-server"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with Docker:

{
  "mcpServers": {
    "hn-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "MCP_TRANSPORT_TYPE=stdio",
        "ghcr.io/cyanheads/hn-mcp-server:latest"
      ]
    }
  }
}

Prerequisites

  • Bun v1.3.0 or higher (or Node.js >= 24)

Installation

git clone https://github.com/cyanheads/hn-mcp-server.git
cd hn-mcp-server
bun install

Configuration

All configuration is via environment variables. No API keys required — HN APIs are public.

VariableDescriptionDefault
HN_CONCURRENCY_LIMITMax concurrent HTTP requests for batch item fetches (1–50).10
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTHTTP server port.3010
MCP_HTTP_HOSTHTTP server host.localhost
MCP_LOG_LEVELLog level: debug, info, notice, warning, error.info
LOGS_DIRDirectory for log files (Node.js only).<project-root>/logs

Running the Server

Local Development

MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts   # Dev mode (stdio, auto-reload)
MCP_TRANSPORT_TYPE=http bun --watch src/index.ts    # Dev mode (HTTP, auto-reload)
bun run test                                         # Run test suite
bun run devcheck                                     # Lint + format + typecheck + audit

Production

bun run build
bun run start:stdio     # or start:http

Docker

docker build -t hn-mcp-server .
docker run -p 3010:3010 hn-mcp-server

Project Structure

DirectoryPurpose
src/index.tscreateApp() entry point.
src/config/Server-specific env var parsing with Zod.
src/services/hn/HN Firebase + Algolia API client and domain types.
src/mcp-server/tools/definitions/Tool definitions (*.tool.ts).

Development Guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for request-scoped logging
  • All tools are read-only — no auth scopes required

Contributing

Issues and pull requests are welcome. Run checks before submitting:

bun run devcheck
bun run test

License

Apache-2.0 — see LICENSE for details.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

HN_CONCURRENCY_LIMITdefault: 10

Max concurrent HTTP requests for batch item fetches (1–50).

MCP_LOG_LEVELdefault: info

Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

MCP_HTTP_HOSTdefault: 127.0.0.1

The hostname for the HTTP server.

MCP_HTTP_PORTdefault: 3010

The port to run the HTTP server on.

MCP_HTTP_ENDPOINT_PATHdefault: /mcp

The endpoint path for the MCP server.

MCP_AUTH_MODEdefault: none

Authentication mode to use: 'none', 'jwt', or 'oauth'.

Categories
Search & Web Crawling
Registryactive
Package@cyanheads/hn-mcp-server
TransportSTDIO, HTTP
UpdatedJun 4, 2026
View on GitHub

Related Search & Web Crawling MCP Servers

View all →
Google Search

com.mcparmory/google-search

Scrape Google search results with SERP data, ads, and knowledge panels
25
Brave Search

io.github.pipeworx-io/brave-search

Brave Search MCP — independent web index (no Google/Bing dependency)
Serper Search and Scrape

marcopesani/mcp-server-serper

Serper MCP Server supporting search and webpage scraping
154
Brave Search Mcp Server

brave/brave-search-mcp-server

Brave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.
1.2k
Google Search Console

com.mcparmory/google-search-console

Query search analytics, manage sitemaps, and inspect site URLs and status
25
Google Search Console

acamolese/google-search-console-mcp

Google Search Console MCP server: SEO audits, performance queries, URL inspection, indexing checks.
3