Skip to main content
Glama
pskill9

Hacker News MCP

by pskill9

해커 뉴스 MCP 서버

Hacker News에서 기사를 가져오는 도구를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 news.ycombinator.com의 HTML 콘텐츠를 파싱하고 다양한 유형의 기사(인기 기사, 신규 기사, 문의 기사, 프로그램 기사, 채용 정보)에 대한 구조화된 데이터를 제공합니다.

특징

  • 다양한 유형의 스토리(인기, 신규, 질문, 쇼, 채용 정보)를 가져옵니다.

  • 제목, URL, 포인트, 작성자, 타임스탬프, 댓글 수를 포함한 구조화된 데이터를 얻으세요.

  • 반환되는 스토리 수에 대한 구성 가능한 제한

  • 깔끔한 오류 처리 및 검증

Related MCP server: Hacker News MCP Server

설치

  1. 저장소를 복제합니다.

지엑스피1

  1. 종속성 설치:

npm install
  1. 서버를 빌드하세요:

npm run build
  1. MCP 설정 구성 파일에 다음을 추가합니다(위치는 시스템에 따라 다름):

VSCode Claude 확장 프로그램의 경우:

{
  "mcpServers": {
    "hacker-news": {
      "command": "node",
      "args": ["/path/to/hn-server/build/index.js"]
    }
  }
}

용법

이 서버는 Hacker News에서 스토리를 가져오는 데 사용할 수 있는 get_stories 라는 도구를 제공합니다.

도구: get_stories

매개변수:

  • type (문자열): 가져올 스토리 유형

    • 옵션: '상위', '새로운', '질문', '표시', '채용공고'

    • 기본값: 'top'

  • limit (number): 반환할 스토리 수

    • 범위: 1-30

    • 기본값: 10

사용 예:

use_mcp_tool with:
server_name: "hacker-news"
tool_name: "get_stories"
arguments: {
  "type": "top",
  "limit": 5
}

샘플 출력:

[
  {
    "title": "Example Story Title",
    "url": "https://example.com/story",
    "points": 100,
    "author": "username",
    "time": "2024-12-28T00:03:05",
    "commentCount": 50,
    "rank": 1
  },
  // ... more stories
]

Claude와 통합

Claude와 함께 이 MCP 서버를 사용하려면 다음이 필요합니다.

  1. Claude 데스크톱 앱 또는 VSCode Claude 확장 프로그램을 설치하세요.

  2. 설정에서 MCP 서버를 구성하세요

  3. Claude의 자연어 인터페이스를 사용하여 Hacker News와 상호 작용하세요.

구성

Claude 데스크톱 앱의 경우 다음에 서버 구성을 추가합니다.

// ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
// %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
  "mcpServers": {
    "hacker-news": {
      "command": "node",
      "args": ["/path/to/hn-server/build/index.js"]
    }
  }
}

VSCode Claude 확장 프로그램의 경우 다음을 추가하세요.

// VSCode Settings JSON
{
  "mcpServers": {
    "hacker-news": {
      "command": "node",
      "args": ["/path/to/hn-server/build/index.js"]
    }
  }
}

예시 상호작용

설정이 완료되면 Claude와 자연어를 사용하여 Hacker News 기사를 가져올 수 있습니다. 예:

  • "해커 뉴스의 상위 5개 기사를 보여주세요"

  • "Ask HN의 최신 게시물은 무엇인가요?"

  • "오늘의 최고 Show HN 제출물을 받아보세요"

클로드는 적절한 매개변수를 자동으로 사용하여 원하는 스토리를 가져옵니다.

Hacker News MCP 서버를 사용하는 Claude

스토리 객체 구조

각 스토리 객체에는 다음이 포함됩니다.

  • title (문자열): 스토리 제목

  • url (문자열, 선택 사항): 스토리의 URL(텍스트 게시물의 경우 내부 HN URL일 수 있음)

  • points (숫자): 업보트 수

  • author (문자열): 게시자의 사용자 이름

  • time (문자열): 스토리가 게시된 타임스탬프

  • commentCount (숫자): 댓글 수

  • rank (숫자): 목록 내 위치

개발

서버는 다음을 사용하여 구축되었습니다.

  • 타입스크립트

  • 모델 컨텍스트 프로토콜 SDK

  • HTTP 요청을 위한 Axios

  • HTML 파싱에 대한 Cheerio

서버를 수정하려면:

  1. src/index.ts 를 변경하세요

  2. 재건:

npm run build

오류 처리

서버에는 다음에 대한 강력한 오류 처리 기능이 포함되어 있습니다.

  • 잘못된 스토리 유형

  • 네트워크 장애

  • HTML 구문 분석 오류

  • 잘못된 매개변수 값

오류는 적절한 오류 코드와 설명 메시지와 함께 반환됩니다.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

특허

MIT 라이센스 - 여러분의 프로젝트에서 자유롭게 사용하세요.

Available Tools

1 tool
get_storiesC

Get stories from Hacker News

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of stories to return (max 30)
typeNoType of stories to fetch (top, new, ask, show, jobs)top

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get stories' implies a read operation, but the description doesn't mention rate limits, authentication requirements, pagination behavior, or what format the stories are returned in. For a tool with no annotation coverage, this leaves the agent with insufficient information about how the tool behaves in practice.

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

Conciseness5/5

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

The description is extremely concise - just four words that directly state the tool's purpose. Every word earns its place, and there's no wasted language. The structure is front-loaded with the essential information, making it immediately clear what the tool does.

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?

Given that there's no output schema and no annotations, the description should provide more context about what the tool returns and how it behaves. 'Get stories from Hacker News' doesn't indicate whether this fetches current stories, historical data, or what fields are included in the response. For a tool with rich parameter options but no output documentation, the description is insufficiently 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 has 100% description coverage, with both parameters ('limit' and 'type') fully documented in the schema itself. The description adds no additional parameter information beyond what's already in the structured schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

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 verb ('Get') and resource ('stories from Hacker News'), making the purpose immediately understandable. It lacks sibling differentiation, but since there are no sibling tools on this server, that's not a deficiency. The description is specific enough to distinguish this from other potential tools like 'get_comments' or 'search_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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or contextual factors that would help an agent decide when this is the appropriate tool. With no sibling tools, the absence of differentiation isn't problematic, but the complete lack of usage context is a significant gap.

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.

  1. 1 tool updatev1.0.0
    • First observedget_stories

TDQS

B3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'get_stories' has a clearly distinct and singular purpose.

Naming Consistency5/5

The naming is trivially consistent as there is only one tool. The tool name 'get_stories' follows a clear verb_noun pattern, which would be consistent if more tools were added.

Tool Count2/5

A single tool is too few for a server named 'Hacker News MCP', which implies broader functionality. While 'get_stories' is a core operation, the server lacks tools for other common actions like getting comments, user profiles, or posting, making it feel thin and incomplete.

Completeness1/5

The tool surface is severely incomplete for a Hacker News API. It only provides 'get_stories', missing essential operations such as retrieving comments, user details, search functionality, or any write operations, which are typical for such a domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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).
    -
  • A
    license
    A
    quality
    B
    maintenance
    Provides AI agents with access to Hacker News data including top stories, story details, comment threads, and full-text search for content research and trend monitoring.
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching and retrieving top stories and individual items from Hacker News, with access to scores, comments, authors, and timestamps.
    23 npm
    MIT