Skip to main content
Glama
tomwojcik

hn-mcp

by tomwojcik

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool addresses a distinct purpose: browsing story lists, fetching a story with comments, drilling into a comment subtree, retrieving user profiles, and searching stories/comments. No overlap in core functionality.

    Naming Consistency5/5

    All retrieval tools follow a consistent 'get_' prefix, while search tools use 'search_', making the naming pattern predictable and easy to navigate.

    Tool Count5/5

    Six tools cover the essential read-only operations for Hacker News without excessive granularity or unnecessary overlap, which is well-scoped for the domain.

    Completeness5/5

    The toolkit provides comprehensive coverage for browsing HN: story feeds, story/comment retrieval with configurable depth, user profiles, and full-text search for both stories and comments. No obvious gaps for a read-only client.

  • Average 4.2/5 across 6 of 6 tools scored. Lowest: 3.2/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden. It only says 'Fetch a Hacker News user profile' with no mention of return format, error handling, rate limits, or permission requirements. It discloses the basic action but little else.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences and front-loads the purpose. It is concise and to the point, though extremely terse with no additional structure or context.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With a single parameter and an output schema present, the description doesn't need to explain return values. However, it lacks any usage context or behavioral caveats. Given its simplicity, it is barely adequate but not fully complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has no parameter descriptions (0% coverage), so the description's 'Args: username: The HN username' adds minimal but necessary meaning. It confirms the required parameter's semantics beyond the schema's title alone.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states 'Fetch a Hacker News user profile' with a clear verb and resource. This distinguishes it from sibling tools that fetch threads, comment trees, stories, or search results.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance is provided about when to use this tool versus alternatives. The description only states what it does, leaving the agent to infer usage from the tool name and sibling context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the transparency burden. It does disclose useful operational details like count default (20), max limit (100), and 0-indexed page numbers, but it does not describe response behavior, empty-result handling, or potential search caveats. This is adequate but not rich.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact: a one-sentence purpose followed by a clean argument list. Every line provides useful information, with no redundant or filler content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the output schema covers return values and the tool is relatively simple, the description is fairly complete. It covers pagination, sorting, and result count constraints. It lacks explicit sibling-tool guidance, but that is a usage-guidelines concern rather than a completeness gap here.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has zero description coverage, but the description documents all four parameters. It adds meaningful semantics beyond the schema, especially count's max value and page's 0-indexing. Some entries like 'query: Search terms' are minimal, but overall it compensates well for the schema gap.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with 'Full-text search for HN stories', which clearly names the action (search) and the target resource (HN stories). This also differentiates it from siblings like search_comments, get_stories, and get_thread by resource type and search behavior.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance is given about when to use this tool versus alternatives such as search_comments or get_stories. The intended use is implied by the word 'search' and the parameter list, but there are no clear exclusions or 'use this instead' hints.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden and does well by explaining the depth parameter's exact behavior (0, 1, 2, N, -1) and noting that top-level comments include reply_count. It doesn't mention potential side effects or rate limits, but for a read-only fetch the depth detail is substantive transparency beyond the schema.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is appropriately sized, opening with a clear one-sentence purpose and then using a structured list for arguments. Every line adds meaningful information, with no fluff or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has a simple parameter set and an output schema, the description covers the essential behavior well, especially the depth options. It misses only an explicit note on how this relates to sibling get_comment_tree, which would strengthen completeness in the sibling context.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, but the description meticulously defines both parameters: story_id as 'The HN story ID' and depth with level-by-level semantics including special value -1. This fully compensates for the schema's lack of descriptions, going beyond mere names and types.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool fetches 'a story and its comment tree from Hacker News,' with a specific verb and resource. It doesn't explicitly differentiate from the sibling get_comment_tree, which could be ambiguous, but the mention of 'story and its comment tree' gives a distinct scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage when the agent needs story metadata and nested comments, and the depth parameter provides guidance on how much of the tree to retrieve. However, it doesn't explicitly state when to prefer this over get_comment_tree or other sibling tools, leaving the when-to-use guidance implicit rather than direct.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description must carry the burden. It discloses search behavior and sort options ('relevance' or 'date'), but does not explicitly state read-only nature, output format, or potential side effects. The output schema covers return shape, but the description adds limited behavioral context beyond the parameter list.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a brief summary followed by a tight, structured parameter list. Every sentence is informative and there is no redundant content. It is appropriately sized for the tool's complexity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has an output schema, so not explaining return values is fine. The description covers all parameters, defaults, and constraints (e.g., count max, page 0-indexed), making it complete for successful invocation. It lacks explicit rate limit or auth info, but these are not critical for a public HN search tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With schema description coverage at 0%, the description fully compensates by explaining every parameter: 'story_id: Optional — only search comments on this story,' 'count: Results per page (default 20, max 100),' 'page: Page number, 0-indexed.' This adds meaning well beyond the schema's bare types and defaults.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with 'Full-text search for HN comments,' a specific verb+resource that clearly distinguishes it from sibling tools like search_stories and get_thread. The parameter list further clarifies its comment-specific scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly implies when to use this tool (searching comments) through its title and 'Full-text search' context, but it does not explicitly name alternatives or provide exclusions. This is clear context without explicit 'do not use if' guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the transparency burden. It states that only metadata is returned (no comments), defines count limits, and implies a read-only operation through 'Browse' and 'Returns.' It does not discuss rate limits or authentication, but for this simple HN read tool, the core behavioral traits are covered.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely efficient: two purpose/behavior sentences plus a clean, well-formatted argument list. Every sentence carries meaningful information and there is no redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple browse tool with an output schema present, the description covers purpose, return type, parameter semantics, and constraints. No critical context is missing for selection or invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds meaning beyond the schema: it explains count as 'Number of stories to return' with default and max values, and enumerates category options in plain language. The schema provides enum/default but no descriptions; the description compensates well, though it could slightly expand on what each category signifies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with a specific verb and resource: 'Browse HN stories by category.' It further clarifies scope with 'Returns metadata only (no comments),' which distinguishes it from comment- and thread-focused sibling tools. This is clear and non-tautological.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly frames the tool as a category-based story browser and notes it returns metadata only, implying it is not for comment retrieval or searching. However, it does not explicitly name alternatives or provide when-not-to-use guidance relative to search_stories or get_thread.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    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 thoroughly explains depth semantics: 0 means only the comment with reply_count, N means N levels, -1 means full subtree. This goes beyond schema defaults and gives the agent essential knowledge about response behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and front-loaded: a one-line summary, a usage sentence, then a structured Args list. Every element serves a purpose, with no redundant fluff. The format is easy to scan and parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has an output schema, so return structure is available elsewhere. The description covers the critical contextual points: how to use it relative to get_thread, how the depth parameter behaves, and what depth=0 returns. For a relatively simple two-parameter tool, this is complete and actionable.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, meaning no parameter descriptions exist in the schema. The description compensates fully: comment_id is identified as 'The HN comment ID' and depth is detailed with all three modes (0, N, -1) and the default behavior. This adds significant meaning beyond the raw schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description opens with a specific verb and resource: 'Fetch a specific comment and its reply subtree.' This clearly distinguishes it from sibling tools like get_thread (top-level comments) and search_comments. The purpose is unambiguous and immediately understood.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The second sentence explicitly states when to use this tool: 'dive into a branch after scanning top-level comments with get_thread(depth=1).' It names the alternative tool and provides a concrete use case, giving the agent clear decision guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

news-ycombinator-mcp MCP server

Copy to your README.md:

Score Badge

news-ycombinator-mcp MCP server

Copy to your README.md:

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/tomwojcik/news-ycombinator-mcp'

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