Hacker新闻搜索服务

一个为AI代理设计的Hacker新闻搜索服务,提供混合搜索功能,结合关键词匹配和语义嵌入,适用于技术新闻检索和分析场景。

  • by vm-mishchenko
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 vm-mishchenko/hacker-news-mcp

使用说明

黑客新闻MCP服务器

用于AI代理搜索的MCP服务器 黑客新闻报道.

主要组件

  • ML搜索管道(ETL→ 富集→ 索引→ 份量→ 评估)
  • 结合关键字+语义嵌入的混合搜索(NDCG@5:0.72,MRR 0.83)
  • 基于LLM的定制评估框架,用于迭代改进
  • Google Cloud Run上的无服务器MCP服务器

技术:Python、FastMCP、MongoDB Atlas向量搜索、自定义评估框架、OpenAI嵌入、Docker、GCP

现场试试

与启用MCP的客户端兼容(例如Augment、Claude Desktop)。

{
  "mcpServers": {
    "hacker-news-mcp": {
      "url": "https://hacker-news-mcp-632359460921.us-central1.run.app/mcp",
      "type": "http"
    }
  }
}

主要特点

高级设计

  • 黑客新闻API-数据来源
  • ETL管道:
    • 在GCS中获取新故事并存储
    • DAG工作流程分为5个阶段(选择→ 丰富→ 嵌入→ 结合→ 部署)
  • MongoDB Atlas-使用搜索索引保存丰富的故事
  • MCP服务器-具有混合搜索逻辑的搜索服务
  • 人工智能代理-终端消费者

混合搜索

  • 组合关键字匹配+向量嵌入以提高召回率
  • 按HN投票分数(社会验证)+最近度加权排名

搜索评估

  • 使用自定义eval框架(Precision@KNDCG、MRR指标)
  • 使用基于LLM的排名生成合成查询数据集
  • 通过评估循环进行迭代改进

阅读更多关于评估

度量 分数 衡量什么
Precision@5 0.72 前5名结果的准确性
NDCG@5 0.72 排名质量
MRR 0.83 第一个相关结果的位置

基础设施

  • 无服务器部署(云运行)
  • MongoDB Atlas用于混合搜索索引(文本+向量)
  • 用于语义搜索的OpenAI嵌入

仓库

  • ETL:https://github.com/vm-mishchenko/hacker-news-etl
  • MCP服务器:https://github.com/vm-mishchenko/hacker-news-mcp

发展

设置

# Clone repository
git clone https://github.com/vm-mishchenko/hacker-news-mcp.git
cd hacker-news-mcp

# Install dependencies
pip install -r requirements.txt

# Configure environment
cp .env.example .env.local
# Edit .env.local with your credentials

在本地运行

# Start MCP server (HTTP transport)
python -m src.server

# Debug with MCP Inspector
npx @modelcontextprotocol/inspector
# Connect to: http://localhost:8000/mcp

# Or use the Python client
python -m src.client

Docker构建

docker build -t hacker-news-mcp .
docker run -p 8000:8000 --env-file .env.local hacker-news-mcp

未来的增强功能

  • 评论搜索
  • 动态重新排名以获得最佳结果
  • 按日期范围或分数阈值筛选