Skip to main content
Glama

Server Details

Browse Hacker News feeds, threads, and user profiles with full-text search.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cyanheads/hn-mcp-server
GitHub Stars
4
Server Listing
@cyanheads/hn-mcp-server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 4 of 4 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: fetching story lists, retrieving threaded discussions, looking up user profiles, and searching content. There is no overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent 'hn_<verb>_<noun>' pattern (e.g., hn_get_stories, hn_search_content), making them predictable and easy to understand.

Tool Count4/5

With 4 tools, the server covers the essential read-only operations for Hacker News. While more tools could be added (e.g., for voting or commenting), the count is reasonable for a focused server.

Completeness4/5

The tool set provides access to story feeds, individual threads, user profiles, and search. A minor gap is the lack of a direct 'get story by ID' tool, though this can be approximated via hn_get_thread with depth 0. Overall, core HN interaction is covered.

Available Tools

4 tools
hn_get_storiesHn Get Stories
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
feedYesWhich HN feed to fetch. "top" includes jobs. "ask" and "show" are Ask HN / Show HN posts.
countNoNumber of stories to return. Larger counts take longer.
offsetNoNumber of stories to skip from the start of the feed. Use with count for pagination.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe count cap that was applied.
feedYesWhich feed was fetched.
shownNoNumber of stories returned on this page.
totalYesTotal items in the feed (up to 500 for top/new/best, 200 for ask/show/jobs).
noticeNoRecovery hint when a page is empty — e.g. offset past end of feed or feed has no items. Absent on non-empty result pages.
offsetYesOffset that was applied to this page.
hasMoreYesWhether more stories are available beyond this page.
storiesYesStories from the feed, ordered by HN ranking.
truncatedNoTrue when the feed was capped by the count parameter.
hn_get_threadHn Get Thread
Read-only
Inspect

Get an item and its comment tree as a threaded discussion, with child comments resolved recursively. Use depth 0 for an item-only lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoHow many levels of replies to resolve. 0 = just the item, no comments. 1 = direct replies only. Popular stories often have more top-level comments than maxComments — to see nesting, raise maxComments together with depth, or call again with a specific comment's itemId to drill into a subtree.
itemIdYesID of the story, comment, or poll to fetch the thread for.
maxCommentsNoMaximum total comments to include across all depth levels. Highest-ranked top-level comments resolve first; replies fill in only after the level above is exhausted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe maxComments cap that was applied.
itemYesThe root item (story, comment, or poll).
shownNoNumber of comments returned.
noticeNoTruncation context: counts of deleted/dead comments dropped during traversal, or pagination hint when totalLoaded < totalAvailable. Absent when no comments were dropped and all available comments were loaded.
commentsYesFlat comment list ordered breadth-first by rank: highest-ranked top-level comments first, then their replies. Use depth/parentId to reconstruct nesting.
truncatedNoTrue when the comment list was capped by maxComments.
totalLoadedYesNumber of comments actually fetched and included.
totalAvailableNoTotal comment count from the root item. If totalLoaded < totalAvailable, raise maxComments (and depth, if you want nested replies) and call again.
hn_get_userHn Get User
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesHN username. Case-sensitive. Trimmed; blank or whitespace-only input is rejected.
submissionCountNoPage size — how many submissions to resolve per call. Only used when includeSubmissions is true.
submissionOffsetNoHow many submissions to skip before resolving, counting back from the most recent. Use with submissionCount to page through a long history: request offset 0, then offset submissionCount, and so on. The enrichment block echoes submissionOffset and, when more remain, the offset to send next. Only used when includeSubmissions is true.
includeSubmissionsNoResolve the user's most recent submissions into full items. Without this, only the submission count is available.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe submissionCount cap that was applied.
userYesUser profile.
shownNoNumber of submissions returned.
noticeNoPagination context — which window of the history this page covers and the submissionOffset to send next, or a warning that the offset is past the end. Absent when the page reaches the end of the history, or when no submissions were resolved.
truncatedNoTrue when submissions remain beyond this page.
submissionsNoOne page of submissions, most recent first, starting at submissionOffset. Absent when includeSubmissions is false or the user has never submitted. Empty when the page holds no live items — either the offset is past the end, or every item in the window was deleted or flagged.
submissionOffsetNoThe offset this page started at. Absent when includeSubmissions is false or the user has never submitted.
hn_search_contentHn Search Content
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (0-indexed).
sortNoSort order. "relevance" for best match, "date" for most recent first.relevance
tagsNoFilter results by content type. Omit to search all types.
viewNoHow much of each hit to return. "full" includes every field. "compact" omits the two body-text fields — `text` and `highlights.text` — which together can repeat a long comment twice per hit; everything else (id, title, url, domain, author, points, comment count, timestamp, parent story, title highlight, matchedWords) is unchanged. Use "compact" to scan many results, then pass a hit id to hn_get_thread to read the body you skipped.full
countNoNumber of results to return.
queryYesSearch terms. Supports simple keywords — Algolia handles stemming and relevance. Trimmed before searching; blank or whitespace-only input is rejected.
authorNoFilter results to a specific author. Useful for finding a user's posts on a topic (hn_get_user only shows recent submissions). Trimmed before filtering; omit the field to search all authors rather than passing a blank string.
dateRangeNoFilter to a date window. Useful for finding discussions about recent events.
minPointsNoMinimum score/points. Filters out low-engagement content.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe count cap that was applied.
hitsYesSearch results ranked by sort order.
pageYesCurrent page number (0-indexed).
queryYesThe query that was searched.
shownNoNumber of hits returned.
noticeNoRecovery hint when results are empty — names the filters applied, for relaxing the search. Absent on non-empty result pages.
totalHitsYesTotal matching results across all pages.
truncatedNoTrue when the hit list was capped by the count parameter.
totalPagesYesNumber of pages Algolia will actually serve for this query. Not derived from totalHits — broad queries report a totalHits far larger than the reachable page range, so paginate against this value.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.