Skip to main content
Glama
joeswann

Hacker News MCP Server

by joeswann

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct purpose: feeds, item retrieval, comment threads, search, user profiles, and user submissions. No overlapping functionality that would cause confusion.

    Naming Consistency4/5

    Most tools follow a clear verb_noun pattern (list_stories, get_item, get_comments, get_user, get_user_submissions). The lone 'search' is a valid verb but lacks a noun, making it a slight deviation from the pattern.

    Tool Count5/5

    Six tools is well-scoped for a Hacker News reader, covering browsing, retrieval, search, and user-related queries without over-expanding the surface.

    Completeness4/5

    The read-only surface is solid, covering stories, items, comments, search, and user data. Minor gaps exist around fetching a comment thread directly from a comment ID and write operations, but these are reasonable omissions for a typical HN MCP.

  • Average 3.7/5 across 6 of 6 tools scored.

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

  • This repository is archived. Archived repositories automatically receive an F maintenance tier.

  • 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

  • Behavior3/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 mentions 'recent' submissions and the ability to filter, but does not disclose details like sorting order, time window, pagination, or the shape of the return value. The behavior is straightforward and not misleading, but lacks depth.

    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 single, efficient sentence that conveys the essential information without any filler. It is front-loaded with the main action and includes a secondary capability, earning every word.

    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?

    The tool is relatively simple with 3 parameters and no output schema. The description explains the core purpose and a filtering option, but it does not specify the return format or any edge cases. Given the schema fills in parameter details, a 3 reflects that the description is sufficient but not thorough.

    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?

    Schema coverage is 100%, so the baseline is 3. The description adds minimal extra meaning by referring to 'filter by stories or comments,' which mirrors the 'type' enum. It does not elaborate on 'limit' or 'username' beyond what the schema already provides.

    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's function: 'Get recent submissions from a Hacker News user' with an additional note about filtering by stories or comments. It is specific in verb and resource, but does not explicitly distinguish itself from siblings like get_user or list_stories.

    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?

    There is no guidance on when to use this tool versus alternatives. The description does not mention any exclusions or prerequisites, and no sibling tools are referenced. The only usage hint is the filter capability, which is a feature rather than a selection guideline.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears the full burden of behavioral disclosure. It omits key behaviors such as pagination, response format, rate limits, or default sort/hits_per_page values. For a search tool, at least the return shape and pagination behavior should be mentioned.

    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 two sentences with no redundant information. It front-loads the primary action and then adds precise scope, making it highly efficient.

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

    Completeness2/5

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

    With 5 parameters, no output schema, and no annotations, the description is too thin. It explains the search scope but not what the response contains, how pagination works, or any sensible defaults. Thus, it falls short of being contextually complete for effective tool use.

    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 100% description coverage for all 5 parameters, so the baseline is 3. The description adds perspective on the enum values (sort by relevance/date, type story/comment/all) but doesn't provide additional semantics beyond the schema's own descriptions.

    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 uses a specific verb+resource ('Search Hacker News using Algolia') and elaborates on searchable item types (stories, comments, all) and sort options (relevance, date), clearly distinguishing this from sibling tools like list_stories or get_item.

    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 the tool is for searching, which is evident from the name, but it doesn't explicitly state when to use this over alternatives or mention any exclusions. No guidance is provided on when to prefer this tool over list_stories or get_comments.

    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 available, the description carries the full burden and adds meaningful behavioral context: it mentions that comments are threaded with indentation to show reply depth and that dead/deleted comments are skipped. This goes beyond a simple 'get comments' and helps set expectations for output format and content filtering.

    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 exceptionally concise: two sentences, no fluff, and the key information is front-loaded. Every word contributes to understanding the tool's purpose and behavior.

    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?

    For a tool with three parameters, no output schema, and no annotations, the description covers the essential return format (threaded, indented) and a key filtering behavior (skipping dead/deleted). It lacks details like pagination or order, but given the tool's simplicity, it is fairly 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 input schema already covers all three parameters with clear descriptions (depth, limit, story_id), so schema description coverage is 100%. The description adds minimal extra parameter meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

    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 retrieves threaded comments for a Hacker News story, which is a specific verb and resource. It is distinct from siblings like search or get_user, though it shares possible overlap with get_item, but the focus on 'threaded' and 'indentation' makes the purpose clear.

    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 on when to use this tool versus alternatives like get_item. The description implies usage for fetching story comments but does not state when not to use it or mention any prerequisites/alternatives, offering minimal directional value.

    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, the description carries the full transparency burden. It discloses the return fields, which is useful, but it does not mention potential behavior for missing users, rate limits, or that this is a read-only operation. Some behavioral context is provided, but key edge-case behavior is absent.

    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 two sentences, immediately front-loaded with the action, and every sentence adds value. No fluff or redundancy.

    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?

    For a simple one-parameter tool with no output schema or annotations, the description gives enough context about what the tool returns and the target resource. It is slightly incomplete by not addressing error cases or constraints, but the simplicity of the tool makes this acceptable territory for a 4 rather than a 5.

    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?

    Schema coverage is 100% (username described as 'The HN username'), so the schema already fully explains the parameter. The description adds no additional semantic detail beyond what the schema provides, fitting the baseline score of 3.

    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 clearly states the action (get a user profile) and the resource (Hacker News user by username). It also lists the key return data (karma, account age, about text, submission count), which distinguishes it from the sibling tool get_user_submissions that focuses on submissions.

    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 guidance is provided on when to use this tool versus alternatives. It does not mention when to prefer get_user_submissions or search, and there are no usage context hints beyond the basic purpose.

    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?

    There are no annotations, so the description must carry the burden of behavioral disclosure. It states that the tool returns full details including text content, which conveys a read-only fetch. However, it does not mention behavior for missing IDs, error responses, or any rate limits or authentication requirements.

    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 single, well-structured sentence that conveys the core action and return value without superfluous words. It is immediately scannable and appropriately sized.

    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?

    For a simple single-parameter fetch tool, the description is sufficiently complete. It specifies what is returned and covers multiple item types, though 'full details' is slightly vague and no error handling is mentioned.

    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 input schema already fully documents the single 'id' parameter with 100% coverage. The description adds no additional parameter semantics beyond saying 'by ID', which is already represented in the 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 clearly states the tool gets any Hacker News item by ID, covering stories, comments, jobs, and polls. This distinguishes it from siblings like list_stories, get_comments, and search, which operate on collections or specific types.

    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 usage context is clear: use when you have a specific item ID and want the full item. It does not explicitly name alternatives or exclusions, but the ID-based scope is a clear differentiator from siblings that list or search.

    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?

    The description discloses return content (titles, URLs, scores, metadata) and pagination, but lacks details on authentication, rate limits, or output structure. Since no annotations are present, it carries the full burden but does not go beyond basic transparency.

    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?

    One compact sentence, front-loaded with the primary action and resource, and includes necessary details without superfluous 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 no output schema, the description adequately specifies the return content and feed types. It is sufficient for a straightforward listing tool, though more detail on the return structure could make it more 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?

    Schema coverage is 100%, so the baseline of 3 applies. The description adds the concept of pagination, but the schema already describes each parameter (feed, limit, offset) comprehensively, so no significant additional meaning is provided.

    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 clearly states the tool's function: browsing Hacker News feeds with specific feed types and pagination. It distinguishes itself from sibling tools like get_item or search by focusing on feed-based listing.

    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 implies usage for feed browsing but does not explicitly mention alternatives or exclusions. The context is clear, and the feed types are enumerated, providing adequate guidance without stating when not to use it.

    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

hackernews-mcp MCP server

Copy to your README.md:

Score Badge

hackernews-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/joeswann/hackernews-mcp'

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