HackerNews MCP服务器

一个全面的模型上下文协议(MCP)服务器,提供与HackerNews API的无缝集成,使AI助手能够通过标准化的MCP接口访问、分析和理解HackerNews内容。

  • by Traves-Theberge
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 Traves-Theberge/Hackernews-MCP-Typescript

使用说明

HackerNews MCP服务器

一个全面的模型上下文协议(MCP)服务器,提供与HackerNews API的无缝集成,使人工智能助手能够通过标准化的MCP接口访问、分析和理解Hacker新闻内容。

🚀 快速开始

# Install dependencies
npm install

# Build the project
npm run build

# Start the server
npm start

然后重新启动兼容MCP的客户端(如Cursor)以连接到服务器。

✨ 特性

🔧 工具(5个交互式命令)

  1. search_posts -搜索和过滤HackerNews帖子

    • 按关键字、作者、分数和日期范围筛选
    • 例子: “查找得分>100的关于‘AI’的故事”
  2. get_post -获取全面的帖子详细信息

    • 包括元数据、评论树和参与度指标
    • 例子: “通过评论获取故事44473319的完整细节”
  3. search_user -分析用户资料和活动

    • 用户统计数据、头条新闻和贡献模式
    • 例子: “分析用户'pg'并显示其活动”
  4. search_trending -查找当前热门话题

    • 来自头条新闻的关键词频率分析
    • 例子: “今天HackerNews上有哪些热门话题?”
  5. search_comments -分析评论参与度

    • 评论统计、顶级评论者和讨论模式
      • 例子: “分析关于故事44473319的评论”

🛠️ 安装和设置

先决条件

  • Node.js 18+
  • npm或纱线

安装步骤

  1. 克隆并安装:

    git clone <repository-url>
    cd hackernews-mcp-server
    npm install
    
  2. 构建项目:

    npm run build
    
  3. 配置MCP客户端(游标):

    • 这 .cursor/mcp.json 文件已配置
    • 重新启动Cursor以加载MCP服务器
  4. 开始使用:

    npm start
    

🎮 实际使用示例(测试和工作)

🔍 搜索帖子-按主题查找故事

# What we tested:
search_posts with query="AI", minScore=50, limit=10

# Results we got:
- "'Positive review only': Researchers hide AI prompts in papers" (100 points, 52 comments)
- "Cops in [Spain] think everyone using a Google Pixel must be a drug dealer" (65 points, 50 comments)

使用案例:

  • 查找特定主题的高参与度故事
  • 按作者、分数阈值或日期范围筛选
  • 研究您所在领域的趋势讨论

📄 获取帖子详情-深度故事分析

# What we tested:
get_post for story ID 44473319 (AI prompts story)

# What we learned:
- Full story metadata (age: 3.2 hours, domain: asia.nikkei.com)
- Complete comment tree (57 comments from 38 authors)
- Engagement metrics and discussion quality

使用案例:

  • 分析你感兴趣的具体故事
  • 获取完整的评论讨论
  • 了解社区对新闻的反应

👤 搜索用户-个人资料分析

# What we tested:
search_user for "zczc" (Google Pixel story author)

# What we discovered:
- 8.6 years on HN, 876 karma, steady contributor
- Research-oriented: provides primary sources
- Cross-domain expertise: tech, policy, programming
- Quality over quantity approach

使用案例:

  • 有趣帖子的研究作者
  • 寻找领域专家和思想领袖
  • 了解用户贡献模式

📈 搜索趋势-主题分析

# What we tested:
search_trending analyzing 49 current top stories

# Current trends we found:
- "software", "game", "first" (6.1% each)
- "systems", "local", "google" (4.1% each)
- Space tech: "satellite", "geostationary"
- Focus on local-first software and gaming

使用案例:

  • 跟踪技术社区正在讨论的内容
  • 识别新兴技术趋势
  • 监控社区利益的变化

💬 搜索评论-讨论分析

# What we tested:
search_comments on the Google Pixel Spain story

# What we found:
- 56 comments from 38 unique authors
- Active discussion (multiple users with 4+ comments)
- International perspectives on privacy/surveillance
- Quality moderation (5 deleted, 1 flagged)

使用案例:

  • 分析社区对主题的看法
  • 寻找参与度最高的讨论者
  • 了解讨论质量和模式

🏗️ 建筑

智能缓存系统

  • 三层缓存:项目、用户和故事列表
  • 可配置TTL:默认5分钟,可调
  • LRU驱逐:缓存已满时自动清理
  • 演出:将API调用减少约80%

API客户端功能

  • 全面覆盖:所有HackerNews API端点
  • 批量操作:高效的多项目加载
  • 错误处理:强大的重试和超时逻辑
  • 速率限制:尊重API使用

增强数据

  • 故事元数据:年龄、域、评论数计算
  • 用户统计:平均分数、热门故事、活动模式
  • 评论分析:参与度指标、讨论树
  • 趋势分析:关键字频率、主题提取

🔧 配置

环境变量(可选):

# Server Configuration
SERVER_NAME=hackernews-mcp-server
SERVER_VERSION=1.0.0

# API Configuration
HACKERNEWS_API_BASE_URL=https://hacker-news.firebaseio.com/v0
HACKERNEWS_API_TIMEOUT=10000

# Cache Configuration
CACHE_TTL_SECONDS=300
CACHE_MAX_SIZE=1000

# Logging
LOG_LEVEL=info

🧪 发展

# Development mode with hot reload
npm run dev

# Run tests
npm test

# Lint code
npm run lint
npm run lint:fix

# Type checking
npm run build

📊 MCP工具和功能

您可以使用我们经过测试的工具实际执行以下操作:

MCP工具 它的作用 来自我们测试的真实示例
search_posts 按条件查找故事 找到2个AI故事,得分100+和65分
get_post 获取完整的故事细节 分析的AI提示故事有57条评论
search_user 简介分析 简介“zczc”-8.6岁老将,质量贡献者
search_trending 主题分析 发现“软件”、“游戏”、“系统”趋势
search_comments 讨论分析 分析了Pixel故事的56条评论和38位作者

资源访问模式:

  • hackernews://stories/top → 当前头条新闻
  • hackernews://user/username → 用户配置文件
  • hackernews://item/12345 → 个人职位
  • hackernews://comments/12345 → 评论树

🤝 真实世界用例(基于我们的测试)

📰 内容研究与分析

  • 寻找突破性的科技故事:就像我们在论文发现中的人工智能提示(100分,积极讨论)
  • 追踪有争议的话题:隐私问题,如谷歌Pixel分析故事
  • 分析讨论质量:来自38位作者的57条评论显示了真正的参与
  • 监控新兴趋势:空间技术、本地第一软件、游戏开发

👥 社区智能

  • 确定质量贡献者:成立“zczc”作为研究型、跨领域专家
  • 了解用户模式:8.6年,稳定的业力增长,源验证习惯
  • 寻找领域专家:持续提供高质量贡献的用户
  • 追踪思想领袖:特定技术领域的活跃用户

📈 趋势与情绪分析

  • 当前技术重点“软件”、“系统”、“游戏”各占6.1%
  • 新兴技术:卫星/空间技术讨论增多
  • 社区情感:国际隐私问题、学术诚信辩论
  • 讨论模式:质量适度,国际视野

🔍 研究应用

  • 学术研究:研究技术社区的讨论和情绪
  • 市场研究:了解开发人员和技术社区的兴趣
  • 竞争情报:监控关于技术和公司的讨论
  • 内容策略:查找能够产生高参与度的主题

🚀 演出

  • 缓存:API调用减少80%
  • 批量操作:多项目加载速度提高3倍
  • 智能过滤:客户端搜索减少了服务器负载
  • 并发请求:并行处理提高效率

🔒 隐私与道德

  • 仅限公共数据:无法访问私人信息
  • 尊重使用:速率限制和缓存
  • 无数据存储:仅临时缓存
  • 透明:开源实施

🐛 故障排除

常见问题

  1. 服务器无法启动

    # Check Node.js version
    node --version  # Should be 18+
    
    # Rebuild the project
    npm run build
    
  2. MCP连接问题

    • 重新启动MCP客户端(游标)
    • 检查 .cursor/mcp.json 配置
    • 验证服务器是否正在运行 npm start
  3. API错误

    • 检查网络连接
    • 验证HackerNews API是否可访问
    • 检查缓存配置

调试模式

# Enable debug logging
LOG_LEVEL=debug npm start

# Check cache statistics
# Use the hackernews://cache/stats resource

📈 路线图

  • []实时WebSocket更新
  • []高级情绪分析
  • []用户网络分析
  • []导出功能
  • []自定义筛选规则
  • []性能仪表板

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

🎉 准备好以前所未有的方式探索HackerNews了吗?

🚀 快速启动命令

npm run build && npm start

💬 开始你的第一次对话

问你的AI助手:

  • “现在HackerNews上最热门的人工智能故事是什么?”
  • “查找当今科技界的热门话题”
  • “分析本周讨论最多的故事”

🙏 致谢与致谢

🧡 特别感谢HackerNews

“最好的技术讨论发生在这里”

我们非常感谢 Hacker新闻 和 Y组合器 用于:

🌟 创建世界上最好的技术社区
📡 提供免费、实时的API访问
🔥 促进激发创新的令人难以置信的讨论
🚀 构建一个每天讨论技术未来的平台

⚡ 技术支持


📜 许可和使用

🆓 此MCP服务器

MIT许可证 -使用它,修改它,分享它!看 许可证 文件。
由...创建:托盘Theberge Traves.Theberge@gmail.com

📊 黑客新闻API

非商业用途免费 -尊重创造内容的社区。
商业用途:检查 Y Combinator的条款


🌟 加入社区

发现bug了吗? 打开一个问题!
有主意吗? 开始讨论!
想贡献吗? PR欢迎!

🔗 连接

  • 📧 电子邮件: Traves.Theberge@gmail.com
  • 🐙 GitHub: 此存储库
  • 🗨️ 讨论:分享您的HackerNews见解!

🧡 继续黑客,继续探索! 🧡

内置于❤️ HackerNews社区

⭐ 标记此回购 • 🍴 叉起来 • 📝 贡献