Skip to main content
Glama
malkreide

hn-tech-signal-mcp

by malkreide

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoBind host for HTTP transport. Non-loopback values require MCP_BEARER_TOKEN.127.0.0.1
MCP_PORTNoPort for HTTP transport.8000
GITHUB_TOKENNoOptional GitHub personal access token for higher rate limits (5,000 req/h instead of 60 req/h). The token is only sent to api.github.com.
MCP_TRANSPORTNoTransport mode: stdio or streamable_http.stdio
MCP_BEARER_TOKENNoRequired when MCP_HOST is not loopback. Shared secret to gate the HTTP endpoint.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
hn_top_storiesA

Fetch stories from any of the six HackerNews front-page feeds.

Feeds: 'top' (frontpage), 'best' (highest voted), 'new' (latest), 'ask' (Ask HN — questions to the community), 'show' (Show HN — projects people are shipping), 'job' (YC company job posts).

'show' is the strongest signal for what practitioners are actually building; 'ask' for what they are stuck on. Upstream, 'ask' and 'job' hold only ~30 items, so a large limit may return fewer results.

Args: params (HnTopStoriesInput): - feed (str): 'top', 'best', 'new', 'ask', 'show', or 'job' - limit (int): Stories to return (1–30) - min_score (int): Minimum score filter (job posts score 1)

Returns: str: JSON with feed, count, stories[]. Each story: id, type, title, url, score, comments, by, posted, hn_link.

hn_searchA

Search HackerNews by keyword using the Algolia search API.

Covers all historical HN content. Find discussions on specific technologies, papers, companies, or events.

Args: params (HnSearchInput): - query (str): Search terms - limit (int): Results (1–20) - days_back (int): Recency window in days - tags (Optional[str]): 'story', 'ask_hn', 'show_hn', or empty

Returns: str: JSON with query, total_found, count, hits[]. Each hit: id, title, url, score, comments, author, posted, hn_link, excerpt.

hn_discussionA

Read the comment thread under a HackerNews story.

Where hn_top_stories and hn_search tell you what is being discussed, this tells you what is actually being argued — the counter-arguments, the practitioner caveats, the "we tried this in production" replies that carry the real signal. Algolia can search comment text but does not return thread structure, so this is the only way to see who replied to whom.

Get a story_id from hn_top_stories or hn_search first.

Comments are walked breadth-first, so the highest-ranked top-level comments come back first. Deleted and flagged comments are skipped. Popular threads run to several hundred comments and each one costs a request upstream, so both depth and total count are capped — check the 'truncated' flag to see whether the thread was cut short.

Args: params (HnDiscussionInput): - story_id (int): HackerNews item ID - max_depth (int): Reply nesting levels (1–4, default 2) - max_comments (int): Total comment budget (1–100, default 25) - text_chars (int): Per-comment text truncation (100–2000)

Returns: str: JSON with story{}, total_comments (as reported by HN), fetched_comments, truncated, comments[]. Each comment: id, by, posted, text, reply_count, replies[] (same shape, nested).

arxiv_latestA

Fetch the most recently submitted papers from arXiv AI/ML categories.

Papers appear hours before press coverage — the fastest signal of what is happening at the AI research frontier.

Categories: cs.AI (Artificial Intelligence), cs.LG (Machine Learning), cs.CL (NLP), cs.CV (Computer Vision), cs.NE (Neural Computing), stat.ML.

Args: params (ArxivLatestInput): - categories (List[str]): arXiv category codes - limit (int): Papers per category (1–20)

Returns: str: JSON with categories, total_papers, by_category dict. Each paper: id, title, abstract (400 chars), authors, published, url, pdf.

arxiv_searchA

Search arXiv for papers matching a query, sorted by submission date.

Searches title, abstract and author fields. Optionally restrict to a specific AI/ML category.

Args: params (ArxivSearchInput): - query (str): Search terms (e.g. 'LLM agents tool use') - category (Optional[str]): arXiv category filter - limit (int): Papers to return (1–20)

Returns: str: JSON with query, category, count, papers[]. Each paper: id, title, abstract, authors, published, url, pdf.

lobsters_hotA

Fetch the hottest stories from Lobste.rs, a curated tech community.

Lobste.rs is smaller and more technically focused than HackerNews. Invitation-only membership ensures higher signal-to-noise ratio.

Args: params (LobstersHotInput): - limit (int): Stories to return (1–25) - tag_filter (Optional[str]): Tag substring filter (e.g. 'ai', 'ml')

Returns: str: JSON with count, stories[]. Each story: title, url, score, comments, tags, submitter, submitted_at, lobsters_url.

github_trending_aiA

Search GitHub for trending repositories by topic.

A surge of starred repos on a topic is a strong adoption signal. No auth required (60 req/h). Set GITHUB_TOKEN for 5,000 req/h.

Args: params (GithubTrendingAiInput): - topic (str): GitHub topic tag (e.g. 'llm', 'mcp', 'ai-agents') - limit (int): Repos to return (1–15) - min_stars (int): Minimum stars filter - sort (str): 'stars' or 'updated'

Returns: str: JSON with topic, total_found, count, repos[]. Each repo: name, description, stars, forks, language, topics, updated_at, url.

tech_signal_digestA

Aggregate tech & AI signals from all four sources in one call.

The primary tool for a comprehensive daily or weekly tech intelligence briefing. Combines HackerNews, arXiv, Lobste.rs and GitHub into one structured JSON digest. Use 'focus' to filter for a specific topic.

Args: params (TechSignalDigestInput): - focus (Optional[str]): Topic filter (e.g. 'MCP', 'agents') - hn_limit (int): HN stories (1–10) - arxiv_limit (int): arXiv papers (1–10) - lobsters_limit (int): Lobste.rs stories (1–10) - github_limit (int): GitHub repos (1–10)

Returns: str: JSON digest with generated_at, focus, sources{hn, arxiv, lobsters, github}. Each source has label, count, and its items list.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/malkreide/hn-tech-signal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server