Hacker News Companion MCP
This server processes Hacker News discussions for LLM summarization.
Retrieves and formats comments: Fetches comments from a Hacker News post and formats them specifically for LLM processing.
Handles flexible input: Accepts either full URLs or just numeric post IDs.
Generates user prompts: Provides instructions to guide the LLM in interpreting and summarizing the formatted comments.
Provides metadata: Includes post ID, comment count, and original post URL in the response.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hacker News Companion MCPsummarize the discussion on the recent AI safety post"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hacker News Companion MCP
A Model Context Protocol (MCP) for summarizing Hacker News discussions using Claude.
Overview
This MCP fetches and processes Hacker News discussions, preparing them in a format that Claude can use to generate high-quality summaries. It handles both the hierarchical structure of comments and their metadata (scores, downvotes, etc.) to help Claude understand the relative importance and relationships of different comments.
Related MCP server: Hacker News MCP Server
Features
Process Hacker News URLs or post IDs
Download and analyze comment structure from HN
Score comments based on community engagement
Format data optimized for Claude's summarization
Installation
Installing via Smithery
To install Hacker News Companion for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @georgeck/hn-companion-mcp --client claudeManual Installation
Clone the repository:
git clone https://github.com/yourusername/hn-companion-mcp.git cd hn-companion-mcpInstall dependencies:
npm install
Usage
CLI
node index.js <post-id-or-url>Example:
node index.js 43448075
# or
node index.js https://news.ycombinator.com/item?id=43448075API Server
Start the server:
npm startMake a request:
curl -X POST http://localhost:3000/api/summarize \
-H "Content-Type: application/json" \
-d '{"input": "https://news.ycombinator.com/item?id=43448075"}'API Reference
POST /api/summarize
Request body:
{
"input": "https://news.ycombinator.com/item?id=43448075"
}Response:
{
"status": "success",
"data": {
"systemPrompt": "...",
"userPrompt": "...",
"commentPathIdMapping": { ... },
"postTitle": "...",
"postId": "...",
"commentCount": 123
}
}Integration with Claude
This MCP is designed to prepare data for Claude to summarize. When a user asks Claude to summarize a Hacker News discussion, Claude can call this MCP to get the formatted data and then generate a summary based on the provided system and user prompts.
"hn-companion": {
"command": "node",
"args": ["<full path to src>/hn-companion-mcp/server.js"]
}
}License
MIT
Available Tools
1 toolget_hn_post_formatted_commentsB
Retrieves and formats comments from a Hacker News discussion post for summarization by an LLM. Use the hacker_news_summarization_user_prompt prompts to generate a summary.
| Name | Required | Description | Default |
|---|---|---|---|
| post_url | Yes | The URL or ID for the Hacker News post to analyze. Can be a full URL (https://news.ycombinator.com/item?id=43456723) or just the numeric post ID e.g. 43456723. |
Output Schema
| Name | Required | Description |
|---|---|---|
| content | No | Contains the formatted comments ('formattedComments') and user prompt ('userPrompt') - Follow the instructions in the `userPrompt` on interpreting the formatted comments. |
| metadata | No | Contains post ID (postId), comment count (commentCount), and original post URL (postUrl). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions formatting comments 'for summarization by an LLM,' which hints at preprocessing behavior, but fails to detail critical aspects like rate limits, authentication needs, error handling, or what 'formats' entails (e.g., structuring, truncation). This leaves significant gaps for a tool that interacts with external data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the core purpose stated in the first sentence. The second sentence adds practical guidance without redundancy. However, it could be slightly more structured by separating usage notes, and the reference to external prompts might be considered extraneous if those are not tool-specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (single parameter, external data source), the description covers the basic purpose and usage context. The presence of an output schema means return values need not be explained, and the high schema coverage handles parameters. However, the lack of behavioral details (e.g., formatting specifics, error cases) prevents a perfect score, as annotations are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, thoroughly documenting the 'post_url' parameter. The description adds no additional parameter information beyond what the schema provides, such as examples or constraints. According to the rules, with high schema coverage, the baseline is 3, as the schema does the heavy lifting without description enhancement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Retrieves and formats comments from a Hacker News discussion post for summarization by an LLM.' It specifies the verb ('retrieves and formats'), resource ('comments from a Hacker News discussion post'), and intended use ('for summarization by an LLM'). However, with no sibling tools mentioned, it cannot demonstrate differentiation from alternatives, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by stating the tool is 'for summarization by an LLM' and referencing 'hacker_news_summarization_user_prompt' prompts. However, it lacks explicit instructions on when to use this tool versus other methods (e.g., raw comment retrieval) or any exclusions (e.g., non-Hacker-News URLs). The guidance is helpful but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- First observed
get_hn_post_formatted_comments
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly distinct as it is the sole tool available.
Since there is only one tool, naming consistency is inherently perfect. The tool name follows a clear verb_noun pattern (get_hn_post_formatted_comments), which would be consistent if more tools existed.
A single tool is too few for a server named 'Hacker News Companion MCP', which suggests broader functionality. The tool only handles comment retrieval and formatting, leaving obvious gaps like fetching posts, searching, or user interactions, making the scope feel incomplete.
The tool set is severely incomplete for a Hacker News companion. It only covers retrieving and formatting comments for summarization, missing core operations such as getting posts, listing top stories, or user management, which are essential for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Deterministic Hacker News developer sentiment, themes & feature requests via MCP. No API key.
Browse Hacker News feeds, threads, and user profiles with full-text search.
Live Hacker News front page: top tech stories, points, comments, links. $0.01/query.
Hacker News MCP — search and retrieve stories from Hacker News
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to search, retrieve, and interact with HackerNews content including stories, comments, polls, and user information. Provides comprehensive access to all HackerNews API endpoints with 15 specialized tools for content discovery and analysis.15265MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to access Hacker News content through 9 comprehensive tools for fetching stories, comments, user profiles, and job postings. Supports flexible output formats, pagination, and various story categories (top, new, best, Ask HN, Show HN).-
- AlicenseNot gradedqualityDmaintenanceFetches Hacker News discussion threads and linked article content in LLM-optimized markdown format, enabling natural language analysis of HN posts and their conversations.1MIT
- AlicenseAqualityDmaintenanceProvides programmatic access to Hacker News content via the HN Algolia API. It enables AI assistants to search stories, retrieve comments, access user profiles, and explore the front page in real-time.926MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/georgeck/hn-companion-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server