HackerNews MCP Server
Provides comprehensive access to the HackerNews API through Algolia's search infrastructure, enabling search, retrieval, and interaction with HackerNews content including stories, comments, polls, and user data
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., "@HackerNews MCP Serversearch for recent AI stories with over 100 points"
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.
HackerNews MCP Server
A Model Context Protocol (MCP) server that provides comprehensive access to the HackerNews API. This server enables AI assistants and other MCP clients to search, retrieve, and interact with HackerNews content including stories, comments, polls, users, and more.
Features
This MCP server exposes 15 tools covering all available HackerNews API endpoints:
Search & Discovery Tools
search-posts - Search posts by relevance (sorted by relevance, points, then comments)
search-posts-by-date - Search posts sorted by date (most recent first)
search-by-url - Find posts linking to a specific URL
search-by-time-range - Search posts within a specific time range
Content Retrieval Tools
get-front-page - Get all stories currently on the HackerNews front page
get-latest-stories - Get the most recent stories
get-latest-comments - Get the most recent comments
get-show-hn - Get "Show HN" posts (user projects)
get-ask-hn - Get "Ask HN" posts (questions)
get-polls - Get latest polls
get-top-stories - Get stories with minimum points threshold
Item & User Tools
get-item - Get a specific item (story, comment, poll) by ID
get-user - Get user information and karma
get-posts-by-author - Get all posts by a specific author
get-story-comments - Get all comments for a specific story
Related MCP server: Hacker News MCP Server
Installation
Prerequisites
Node.js 18 or higher
npm or yarn
Setup
Clone this repository:
git clone <repository-url>
cd hn-mcp-server-vibeInstall dependencies:
npm installBuild the server:
npm run buildUsage
Running the Server Directly
You can run the server directly with Node.js:
npm startOr during development:
npm run devConfiguring with Claude Desktop
To use this server with Claude Desktop, add the following configuration to your Claude Desktop config file:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"hackernews": {
"command": "node",
"args": ["/absolute/path/to/hn-mcp-server-vibe/build/index.js"]
}
}
}Replace /absolute/path/to/hn-mcp-server-vibe with the actual path to your installation.
Configuring with Other MCP Clients
For other MCP clients that support stdio transport, configure them to spawn:
node /path/to/hn-mcp-server-vibe/build/index.jsAPI Examples
Search for Posts
// Search for AI-related stories
{
"tool": "search-posts",
"arguments": {
"query": "artificial intelligence",
"tags": "story",
"page": 0,
"hitsPerPage": 20
}
}Get Front Page Stories
{
"tool": "get-front-page",
"arguments": {
"hitsPerPage": 30
}
}Get User Information
{
"tool": "get-user",
"arguments": {
"username": "pg"
}
}Get Top Stories
// Get stories with at least 500 points
{
"tool": "get-top-stories",
"arguments": {
"minPoints": 500,
"hitsPerPage": 10
}
}Search by Time Range
// Get stories from the last 24 hours
{
"tool": "search-by-time-range",
"arguments": {
"tags": "story",
"startTime": 1728691200, // Unix timestamp
"endTime": 1728777600, // Unix timestamp
"hitsPerPage": 20
}
}Available Tags
When using search tools, you can filter by the following tags:
story- Regular storiescomment- Commentspoll- Pollspollopt- Poll optionsshow_hn- Show HN postsask_hn- Ask HN postsfront_page- Currently on front pageauthor_USERNAME- Posts by specific author (e.g.,author_pg)story_ID- Comments for specific story (e.g.,story_1234)
Tags can be combined with commas (AND) or parentheses for OR: author_pg,(story,poll)
Available Numeric Filters
For advanced filtering:
created_at_i- Creation timestamp (Unix seconds)points- Number of points/upvotesnum_comments- Number of comments
Operators: <, <=, =, >, >=
Examples:
points>100- More than 100 pointscreated_at_i>1672531200- After specific datepoints>=50,num_comments>10- Multiple conditions
Response Format
All tools return structured data with:
content - Text representation of the response
structuredContent - Parsed JSON object for programmatic access
Search results include:
hits- Array of matching itemsnbHits- Total number of matchesnbPages- Total number of pagespage- Current page numberhitsPerPage- Results per page
Rate Limits
The HackerNews API limits requests to 10,000 per hour per IP address. This server does not implement additional rate limiting, so clients should be mindful of this constraint.
Development
Project Structure
hn-mcp-server-vibe/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── README.mdBuilding
npm run buildRunning in Development
npm run devAPI Reference
Full HackerNews API documentation: https://hn.algolia.com/api
License
MIT
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
Troubleshooting
Server not connecting
Ensure the build directory exists and contains compiled JavaScript
Check that Node.js version is 18 or higher
Verify the absolute path in your MCP client configuration
No results returned
Check your search query and filters
Verify the API is accessible: https://hn.algolia.com/api
Check rate limits haven't been exceeded
TypeScript errors
Run
npm installto ensure all dependencies are installedRun
npm run buildto compile TypeScript
Support
For issues specific to this MCP server, please open an issue on the repository.
For questions about the Model Context Protocol, see: https://modelcontextprotocol.io
For questions about the HackerNews API, see: https://hn.algolia.com/api
Available Tools
15 toolsget-ask-hnGet Ask HN PostsB
Get latest "Ask HN" posts where users ask questions
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves posts but lacks details on permissions, rate limits, data freshness, or response format. While it implies a read-only operation, it doesn't confirm safety or other behavioral traits, leaving significant gaps for an agent.
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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, with every element contributing to clarity, making it highly concise and well-structured.
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 low complexity (2 parameters, no annotations, but with an output schema), the description is minimally adequate. It covers the basic purpose but lacks behavioral context and usage guidelines. The presence of an output schema mitigates the need to explain return values, but overall completeness is limited to the core function.
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?
Schema description coverage is 100%, so the schema fully documents the two parameters (hitsPerPage and page) with their types and defaults. The description adds no parameter-specific information beyond what the schema provides, resulting in a baseline score of 3 as the schema handles the heavy lifting.
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 verb ('Get') and resource ('latest "Ask HN" posts where users ask questions'), making the purpose evident. It distinguishes from some siblings like 'get-top-stories' or 'get-polls' by specifying the content type, though it doesn't explicitly differentiate from similar tools like 'get-show-hn' or 'get-latest-stories' beyond the 'Ask HN' focus.
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 no guidance on when to use this tool versus alternatives. It doesn't mention scenarios for using 'get-ask-hn' over other tools like 'search-posts' or 'get-latest-stories', nor does it specify prerequisites or exclusions, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-front-pageGet HackerNews Front PageB
Get all stories currently on the HackerNews front page
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states it 'gets' stories, implying a read-only operation, but doesn't mention any behavioral traits like rate limits, authentication needs, or what 'front page' means (e.g., real-time vs. cached). This leaves gaps for a tool that likely involves network calls.
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 a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a simple data retrieval tool.
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 low complexity (simple retrieval), high schema coverage, and presence of an output schema, the description is reasonably complete. It could benefit from clarifying the relationship with sibling tools, but for a basic read operation, it provides enough context to understand what the tool does.
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 schema description coverage is 100%, with clear descriptions for both parameters (hitsPerPage and page). The description doesn't add any parameter-specific information beyond what the schema provides, such as explaining how pagination interacts with 'front page' stories. This meets the baseline for high schema coverage.
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 verb ('Get') and resource ('all stories currently on the HackerNews front page'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-top-stories' or 'get-latest-stories', which might have overlapping functionality, so it doesn't reach the highest 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 no guidance on when to use this tool versus alternatives. With siblings like 'get-top-stories' and 'get-latest-stories', there's no indication of how this tool differs in context or scope, leaving the agent to guess based on names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-itemGet HackerNews Item by IDB
Get a specific HackerNews item (story, comment, poll, etc.) by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the item to retrieve |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | No | |
| text | No | |
| title | No | |
| author | No | |
| points | No | |
| children | No | |
| parent_id | No | |
| created_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. While it implies a read operation, it doesn't disclose important behavioral traits like rate limits, authentication requirements, error handling, or what happens with invalid IDs. The description is minimal and lacks operational context.
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 extremely concise - a single sentence that communicates the core purpose without any wasted words. It's front-loaded with the essential information and doesn't include unnecessary elaboration.
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 has an output schema (which handles return values) and high schema coverage, the description is minimally adequate. However, for a tool with no annotations and many sibling alternatives, it should provide more context about when and how to use it effectively.
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?
With 100% schema description coverage, the input schema already fully documents the single 'id' parameter. The description adds marginal value by clarifying that IDs retrieve 'items (story, comment, poll, etc.)', but doesn't provide additional semantic context beyond what the schema provides.
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 verb ('Get') and resource ('HackerNews item') with specificity about retrieving by ID. It distinguishes from some siblings like 'get-front-page' or 'get-top-stories' by focusing on individual items, but doesn't explicitly differentiate from all similar tools like 'get-user' which also retrieves by ID.
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 no guidance on when to use this tool versus alternatives. With many sibling tools available (like 'get-story-comments', 'search-posts', etc.), there's no indication of when this specific ID-based retrieval is preferred over other methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-latest-commentsGet Latest HackerNews CommentsB
Get the most recent comments posted to HackerNews
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions retrieving 'most recent comments' but doesn't specify whether this is a read-only operation, if there are rate limits, how freshness is determined, or what the output format looks like. The description is too vague for a tool with no annotation coverage.
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 a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized and front-loaded with the essential information, making it easy to parse quickly.
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 that there's an output schema (which handles return values), 100% schema coverage for parameters, and no complex behavioral aspects, the description is minimally adequate. However, for a tool with no annotations, it should provide more context about the operation's nature (e.g., read-only, potential limitations) to be truly complete.
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, with both parameters ('hitsPerPage' and 'page') clearly documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline expectation but doesn't provide extra value.
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 action ('Get') and resource ('most recent comments posted to HackerNews'), making the tool's purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-story-comments' or 'search-posts-by-date', which might also retrieve comments in different contexts.
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 no guidance on when to use this tool versus alternatives like 'get-story-comments' (which might fetch comments for a specific story) or 'search-posts-by-date' (which could filter comments by time). It simply states what the tool does without context about appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-latest-storiesGet Latest HackerNews StoriesB
Get the most recent stories posted to HackerNews
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't mention any behavioral traits such as rate limits, authentication needs, response format, or whether it's a read-only operation. This leaves significant gaps for a tool that interacts with an external API like HackerNews.
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 a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 (2 parameters, no annotations, but with an output schema), the description is minimally adequate. It covers the basic purpose but lacks usage guidelines and behavioral context. The presence of an output schema means return values are documented elsewhere, so the description doesn't need to explain outputs, but it should address more operational aspects.
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, clearly documenting both parameters (hitsPerPage and page) with defaults. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage without extra value.
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 verb ('Get') and resource ('most recent stories posted to HackerNews'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from siblings like 'get-top-stories' or 'get-front-page', which might also retrieve stories but with different criteria, so it misses full sibling distinction.
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 no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., get-top-stories, get-front-page, search-by-time-range), there's no indication of context, exclusions, or comparisons, leaving the agent to guess based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-pollsGet HackerNews PollsB
Get latest polls posted to HackerNews
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
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 'latest polls' but doesn't specify sorting order, rate limits, authentication needs, or what 'latest' means (e.g., time window). For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.
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 a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 low complexity (a simple read operation), 100% schema coverage, and the presence of an output schema (which handles return values), the description is reasonably complete. However, the lack of behavioral details (e.g., sorting, rate limits) and usage guidelines relative to siblings slightly reduces completeness.
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 schema description coverage is 100%, so the input schema fully documents both parameters (hitsPerPage and page) with descriptions and defaults. The description doesn't add any parameter-specific information beyond what's in the schema, meeting the baseline for high schema coverage.
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 verb ('Get') and resource ('latest polls posted to HackerNews'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get-top-stories' or 'get-latest-stories' in terms of content type, though 'polls' is a specific HackerNews feature.
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 no guidance on when to use this tool versus alternatives like 'get-top-stories' or 'search-posts', nor does it mention any prerequisites or constraints. It simply states what the tool does without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-posts-by-authorGet Posts by AuthorB
Get all posts (stories, comments, etc.) by a specific author
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) | |
| tags | No | Filter by type (e.g., "story", "comment") | |
| username | Yes | The username of the author |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
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 states the tool retrieves posts but doesn't cover critical aspects like whether it's read-only (implied by 'Get'), pagination behavior (hinted in schema but not explained), rate limits, authentication needs, or error handling. This leaves significant gaps for a tool with 4 parameters and potential API constraints.
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 a single, efficient sentence that front-loads the core purpose ('Get all posts by a specific author') with a brief clarification in parentheses. There is no wasted verbiage, repetition, or structural issues, making it easy for an agent to parse quickly.
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 has an output schema (which handles return values) and 100% schema coverage for parameters, the description's minimalism is partially acceptable. However, for a tool with 4 parameters, no annotations, and siblings like 'search-posts', it lacks context on behavioral traits (e.g., pagination defaults, error cases) and usage guidelines, making it incomplete for optimal agent decision-making.
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 schema description coverage is 100%, providing clear documentation for all parameters (e.g., 'hitsPerPage' for pagination, 'tags' for filtering). The description adds no additional parameter semantics beyond implying author-based retrieval via 'by a specific author', which aligns with the 'username' parameter. This meets the baseline score of 3 for high schema coverage.
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 with a specific verb ('Get') and resource ('posts by a specific author'), distinguishing it from siblings like 'get-user' (which retrieves user profiles) or 'search-posts' (which searches posts more broadly). However, it doesn't explicitly differentiate from 'search-posts-by-date' or 'get-latest-stories' in terms of author-specific filtering, leaving some ambiguity.
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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid username), exclusions (e.g., not for posts by multiple authors), or comparisons to siblings like 'get-user' (for author details) or 'search-posts' (for broader searches), leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-show-hnGet Show HN PostsA
Get latest "Show HN" posts where users showcase their projects
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral context. It mentions 'latest' posts but doesn't specify recency criteria, sorting order, or data freshness. No information about rate limits, authentication needs, or error handling is included.
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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.
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 (list retrieval with pagination), 100% schema coverage, and presence of an output schema, the description is reasonably complete. However, it lacks behavioral details that would be helpful for an agent, such as sorting behavior or data source characteristics.
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?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for adequate but not enhanced parameter semantics.
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 specific action ('Get') and resource ('latest "Show HN" posts'), with explicit mention of the content type ('where users showcase their projects'). It distinguishes this tool from siblings like 'get-ask-hn' or 'get-top-stories' by specifying the Show HN category.
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 implies usage for retrieving Show HN posts, but provides no explicit guidance on when to use this versus alternatives like 'get-latest-stories' or 'search-posts'. There's no mention of prerequisites, exclusions, or comparative scenarios with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-story-commentsGet Comments for a StoryB
Get all comments for a specific story by story ID
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) | |
| storyId | Yes | The ID of the story |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
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 states it 'gets all comments' but doesn't clarify if this is a read-only operation, how pagination works beyond the schema, or any rate limits or authentication needs. This is inadequate for a tool with parameters and no annotation coverage.
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 a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for a straightforward retrieval tool, earning the highest score for conciseness.
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 (3 parameters, 1 required), 100% schema coverage, and the presence of an output schema (which handles return values), the description is mostly complete. However, it lacks behavioral context and usage guidelines, which are minor gaps in an otherwise well-supported setup.
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 schema description coverage is 100%, so the schema already documents all parameters (storyId, hitsPerPage, page) with their types and defaults. The description adds no additional meaning beyond implying retrieval by story ID, which is already covered in the schema, resulting in a baseline score.
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 verb ('Get') and resource ('all comments for a specific story'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get-item' or 'get-latest-comments', which might also retrieve comments in different contexts, so it doesn't reach the highest 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 no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'get-latest-comments' for recent comments or 'get-item' for general item retrieval, leaving the agent without context for selection among similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-top-storiesGet Top Stories by PointsB
Get stories with a minimum number of points, sorted by date
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| minPoints | No | Minimum number of points (default: 100) | |
| page | No | Page number for pagination (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
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 sorting by date and points filtering, but doesn't describe pagination behavior, rate limits, authentication needs, or what happens with invalid parameters. For a tool with 3 parameters and no annotations, this leaves significant gaps in understanding its operational behavior.
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 a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized for this type of filtering tool and front-loads the key information.
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 has an output schema (which handles return values) and 100% schema description coverage, the description is minimally adequate. However, for a tool with 3 parameters and no annotations, it should provide more behavioral context about how the tool actually operates beyond just stating the filtering criteria.
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 schema description coverage is 100%, so all parameters are documented in the schema. The description adds minimal value beyond the schema by implying that 'minPoints' is the primary filter and results are date-sorted, but doesn't provide additional context about parameter interactions or constraints.
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 verb ('Get') and resource ('stories') with specific filtering criteria ('with a minimum number of points, sorted by date'). It distinguishes from siblings like 'get-latest-stories' by emphasizing the points-based filtering rather than recency, but doesn't explicitly name alternatives for point-based queries.
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 implies usage when stories need to be filtered by points and sorted by date, but doesn't explicitly state when to use this tool versus alternatives like 'get-front-page' or 'search-posts'. No guidance on prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-userGet HackerNews User InfoB
Get information about a specific HackerNews user
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | The username to look up |
Output Schema
| Name | Required | Description |
|---|---|---|
| about | No | |
| karma | Yes | |
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get information' but doesn't specify what information is returned (e.g., karma, about, submission history), whether it's read-only, or any rate limits or authentication needs. This leaves significant gaps in understanding the tool's behavior.
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 a single, clear sentence that directly states the tool's purpose without any unnecessary words. It's front-loaded and efficient, making it easy to understand at a glance, which is ideal for conciseness.
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 low complexity (one parameter) and the presence of an output schema, the description is minimally adequate. However, with no annotations and incomplete behavioral details, it doesn't fully cover aspects like return values or usage context, leaving room for improvement despite the structured support.
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 description adds no parameter semantics beyond what the input schema provides. The schema has 100% coverage with a clear description for the 'username' parameter. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate or add extra meaning.
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: 'Get information about a specific HackerNews user.' It includes a specific verb ('Get') and resource ('HackerNews user'), making the action and target explicit. However, it doesn't differentiate from sibling tools like 'get-posts-by-author' or 'search-posts,' which might also involve user-related data, so it doesn't reach the highest 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 no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like retrieving user profiles versus posts, or how it differs from siblings such as 'get-posts-by-author' or 'search-posts.' Without such context, users might struggle to choose the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-by-time-rangeSearch Posts by Time RangeB
Search for posts within a specific time range (Unix timestamps)
| Name | Required | Description | Default |
|---|---|---|---|
| endTime | Yes | End time in Unix timestamp (seconds) | |
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) | |
| query | No | Search query text (optional) | |
| startTime | Yes | Start time in Unix timestamp (seconds) | |
| tags | No | Filter tags (e.g., "story", "comment") |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'Search for posts' but doesn't describe what constitutes a post, whether results are paginated (though schema hints at it), what the output format looks like, rate limits, authentication requirements, or error conditions. The description is minimal and lacks important operational context.
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 extremely concise - a single sentence that states the core purpose without any fluff. It's front-loaded with the essential information and wastes no words, making it efficient for an agent to parse.
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 existence of an output schema (which handles return values) and 100% schema description coverage, the description doesn't need to explain parameters or return format. However, for a search tool with 6 parameters and multiple sibling alternatives, the description should provide more context about when to use it and what behavioral expectations exist beyond the basic operation.
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?
Schema description coverage is 100%, so parameters are well-documented in the schema itself. The description adds only that the time range uses 'Unix timestamps,' which is already stated in the schema for startTime and endTime. No additional semantic context is provided beyond what's in the structured fields.
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 verb ('Search') and resource ('Posts') with the specific constraint 'by Time Range', which distinguishes it from generic search tools. However, it doesn't explicitly differentiate from sibling tools like 'search-posts-by-date' or 'search-posts', leaving some ambiguity about when to choose this specific time-range search.
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 no guidance on when to use this tool versus alternatives. With multiple sibling search tools available (e.g., 'search-posts', 'search-posts-by-date', 'search-by-url'), there's no indication of when this time-range search is preferred or what distinguishes it from other filtering mechanisms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-by-urlSearch Posts by URLB
Search for HackerNews posts that link to a specific URL
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| page | No | Page number for pagination (default: 0) | |
| url | Yes | The URL to search for |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action without mentioning critical details like rate limits, authentication needs, pagination behavior beyond the schema, or what the output contains. For a search tool with no annotation coverage, this is a significant gap in transparency.
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 a single, clear sentence that efficiently conveys the core functionality without any fluff or redundancy. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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 (search operation with pagination), no annotations, and the presence of an output schema, the description is minimally adequate. It covers the basic purpose but lacks behavioral context and usage guidance. The output schema mitigates some completeness issues, but the description should do more to compensate for the absence of annotations.
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?
Schema description coverage is 100%, so the schema already documents all three parameters (url, hitsPerPage, page) with their purposes and defaults. The description adds no additional semantic context beyond implying URL-based filtering, which aligns with the schema. This meets the baseline for high schema coverage.
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: 'Search for HackerNews posts that link to a specific URL.' It specifies the verb ('search'), resource ('HackerNews posts'), and target ('specific URL'). However, it doesn't explicitly differentiate from sibling tools like 'search-posts' or 'search-posts-by-date' beyond the URL focus, which prevents 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 no guidance on when to use this tool versus alternatives. With siblings like 'search-posts' and 'search-posts-by-date' available, it lacks explicit instructions on scenarios where URL-based searching is preferred over other search methods or general browsing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-postsSearch HackerNews PostsB
Search HackerNews posts by relevance (sorted by relevance, then points, then number of comments)
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| numericFilters | No | Numeric filters (e.g., "points>100", "created_at_i>1672531200") | |
| page | No | Page number for pagination (default: 0) | |
| query | Yes | Search query text | |
| tags | No | Filter tags (e.g., "story", "comment", "poll", "show_hn", "ask_hn", "front_page", "author_USERNAME", "story_ID") |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions sorting behavior, which is valuable, but doesn't cover other important aspects like pagination handling (implied by 'page' parameter), rate limits, authentication requirements, error conditions, or what the output contains. For a search tool with 5 parameters, this leaves significant gaps.
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 a single, efficient sentence that communicates the core functionality and sorting behavior without any wasted words. It's appropriately sized for the tool's complexity and gets straight to the point.
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 that there's an output schema (which handles return values) and 100% schema description coverage, the description provides adequate context for basic understanding. However, for a search tool with multiple sibling alternatives and no annotations, it should ideally provide more guidance on usage scenarios and behavioral expectations beyond just sorting.
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 schema description coverage is 100%, providing good documentation for all 5 parameters. The description adds the sorting criteria ('by relevance, then points, then number of comments'), which gives context about how results are ordered beyond what individual parameters specify. However, it doesn't explain parameter interactions or provide additional semantic context beyond the schema.
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 action ('search') and resource ('HackerNews posts'), and specifies the sorting criteria ('by relevance, then points, then number of comments'). However, it doesn't explicitly differentiate from sibling tools like 'search-by-time-range' or 'search-posts-by-date', which reduces it from 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 no guidance on when to use this tool versus alternatives. With multiple sibling search tools available (e.g., 'search-by-time-range', 'search-posts-by-date'), there's no indication of when this relevance-based search is preferred over time-based or date-based searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-posts-by-dateSearch HackerNews Posts by DateB
Search HackerNews posts sorted by date (most recent first)
| Name | Required | Description | Default |
|---|---|---|---|
| hitsPerPage | No | Number of results per page (default: 20) | |
| numericFilters | No | Numeric filters (e.g., "points>100", "created_at_i>1672531200") | |
| page | No | Page number for pagination (default: 0) | |
| query | No | Search query text (optional) | |
| tags | No | Filter tags (e.g., "story", "comment", "poll", "show_hn", "ask_hn", "front_page", "author_USERNAME", "story_ID") |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| page | Yes | |
| nbHits | Yes | |
| nbPages | Yes | |
| hitsPerPage | Yes |
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 only mentions sorting behavior ('most recent first') but doesn't describe pagination behavior, rate limits, authentication requirements, error conditions, or what the output contains. For a search tool with 5 parameters, this is insufficient behavioral context.
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 a single, efficient sentence that communicates the core functionality without any wasted words. It's appropriately sized for a search tool and front-loads the essential information. Every word earns its place.
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 that there's an output schema (which handles return values), 100% schema description coverage, and no annotations, the description is reasonably complete for its purpose. It could be more complete by explaining the relationship to sibling tools and providing more behavioral context, but the combination of good schema documentation and output schema reduces the burden on the description.
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 schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter information beyond what's in the schema. The baseline of 3 is appropriate when the schema does all the parameter documentation work, though the description could have provided context about how parameters interact.
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 action ('search') and resource ('HackerNews posts'), and specifies the sorting method ('by date, most recent first'). It distinguishes from some siblings like 'get-top-stories' by emphasizing search functionality, but doesn't explicitly differentiate from 'search-posts' or 'search-by-time-range' which appear to be closely related alternatives.
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 no guidance on when to use this tool versus alternatives like 'search-posts' or 'search-by-time-range'. It mentions sorting by date but doesn't explain if this is the primary use case or how it differs from other search tools. No explicit when/when-not statements or alternative recommendations are provided.
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.
15 tool updates
v1.0.0- First observed
get-ask-hn - First observed
get-front-page - First observed
get-item - First observed
get-latest-comments - First observed
get-latest-stories - First observed
get-polls - First observed
get-posts-by-author - First observed
get-show-hn - First observed
get-story-comments - First observed
get-top-stories - First observed
get-user - First observed
search-by-time-range - First observed
search-by-url - First observed
search-posts - First observed
search-posts-by-date
TDQS
Most tools have distinct purposes targeting specific HackerNews content types or search methods, with clear boundaries like get-latest-stories vs get-top-stories. However, some overlap exists between search-posts and search-posts-by-date, which could cause confusion as both search posts but differ primarily in sorting.
All tools follow a consistent kebab-case naming pattern with a verb-noun structure, such as get-front-page or search-by-url. This uniformity makes the tool set predictable and easy to navigate, with no deviations in style or convention.
With 15 tools, the count is slightly high but reasonable for a HackerNews server, covering various content types and search functionalities. It might feel a bit heavy, but each tool appears to serve a specific, useful purpose in the domain.
The tool set provides comprehensive coverage for accessing HackerNews content, including stories, comments, polls, users, and multiple search methods. There are no obvious gaps; it supports full read operations and search capabilities, aligning well with the server's purpose.
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
Browse Hacker News feeds, threads, and user profiles with full-text search.
Hacker News MCP — search and retrieve stories from Hacker News
Live Hacker News front page: top tech stories, points, comments, links. $0.01/query.
HN front-page, Algolia full-text search, and Show HN launch tracker.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to access HackerNews content through structured search, front page retrieval, latest posts monitoring, detailed item fetching with comment trees, and user profile viewing via the Algolia API.5637MIT
- 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).-
- 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.963MIT
- FlicenseAqualityCmaintenanceEnables AI assistants to read and search Hacker News for top stories, comments, user profiles, and job listings using the Firebase and Algolia APIs. It facilitates natural language research into community discussions and technological trends across the HN platform.8-
Appeared in Searches
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/wei/hn-mcp-server-vibe'
If you have feedback or need assistance with the MCP directory API, please join our Discord server