We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hillaryTse/hn-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
tools.json•6.13 kB
{
"$schema": "https://modelcontextprotocol.io/schemas/tool-schema.json",
"tools": [
{
"name": "search_posts",
"description": "Search HackerNews posts by keywords with advanced filtering options. Supports filtering by content type (story, comment, poll, etc.), author, date ranges, points thresholds, and comment counts. Returns paginated results with metadata. Default sort is by relevance, but can sort chronologically with sortByDate=true.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search terms (keywords to find in posts). Leave empty to use filters only."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"enum": ["story", "comment", "poll", "pollopt", "show_hn", "ask_hn", "front_page"]
},
"description": "Filter by content type. Can specify multiple types (OR logic). Options: story (default articles), comment (user comments), poll (polls), pollopt (poll options), show_hn (Show HN posts), ask_hn (Ask HN posts), front_page (currently on front page)."
},
"author": {
"type": "string",
"description": "Filter by author username. Returns only posts by this specific user."
},
"storyId": {
"type": "integer",
"minimum": 1,
"description": "Filter by story ID. Useful for finding all comments on a specific story."
},
"minPoints": {
"type": "integer",
"minimum": 0,
"description": "Minimum points threshold. Returns only posts with at least this many points."
},
"maxPoints": {
"type": "integer",
"minimum": 0,
"description": "Maximum points threshold. Returns only posts with at most this many points."
},
"minComments": {
"type": "integer",
"minimum": 0,
"description": "Minimum comment count. Returns only posts with at least this many comments."
},
"maxComments": {
"type": "integer",
"minimum": 0,
"description": "Maximum comment count. Returns only posts with at most this many comments."
},
"dateAfter": {
"type": "string",
"format": "date-time",
"description": "Filter posts created after this date (ISO 8601 format, e.g., '2024-01-01T00:00:00Z')."
},
"dateBefore": {
"type": "string",
"format": "date-time",
"description": "Filter posts created before this date (ISO 8601 format, e.g., '2024-12-31T23:59:59Z')."
},
"sortByDate": {
"type": "boolean",
"default": false,
"description": "Sort by date (newest first) if true, or by relevance (default) if false."
},
"page": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Page number for pagination (0-indexed). Each page contains hitsPerPage results."
},
"hitsPerPage": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "Number of results per page (1-100). Default is 20."
}
}
}
},
{
"name": "get_front_page",
"description": "Retrieve current HackerNews front page posts. Returns the posts currently featured on the HN front page, ordered by rank. Supports pagination to browse through all front page items. Front page typically contains 30 posts per page (matches the HN website).",
"inputSchema": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Page number for pagination (0-indexed). Front page shows 30 items per page."
},
"hitsPerPage": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 30,
"description": "Number of results per page (1-30). Default is 30 to match HN website."
}
}
}
},
{
"name": "get_post",
"description": "Retrieve full details of a specific HackerNews post by its ID. Returns the complete post data including title, URL, author, points, and the entire comment tree with nested replies. Comments are returned in hierarchical structure preserving parent-child relationships. Includes metadata like total comment count and nesting depth.",
"inputSchema": {
"type": "object",
"properties": {
"postId": {
"type": "string",
"description": "HackerNews post ID (objectID). Can be obtained from search results or HN URLs (e.g., '123456' from news.ycombinator.com/item?id=123456)."
}
},
"required": ["postId"]
}
},
{
"name": "get_user",
"description": "Retrieve HackerNews user profile information by username. Returns user metadata including karma score, account creation date, and about/bio text. Includes computed fields like account age in years and average karma per year to provide context about user activity and reputation.",
"inputSchema": {
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 15,
"description": "HackerNews username (1-15 characters). Case-sensitive."
}
},
"required": ["username"]
}
}
],
"metadata": {
"version": "1.0.0",
"description": "HackerNews MCP Server tool definitions",
"author": "MCP Implementation",
"created": "2025-10-30",
"apiEndpoint": "https://hn.algolia.com/api/v1/",
"rateLimit": {
"maxRequests": 10000,
"period": "hour",
"perIP": true
}
}
}