🚀 HackerNews MCP 服務器
這是一個全面的模型上下文協議(MCP)服務器,它與 HackerNews API 實現了無縫集成,使 AI 助手能夠通過標準化的 MCP 接口訪問、分析和理解 HackerNews 的內容。
🚀 快速開始
npm install
npm run build
npm start
然後重啟與 MCP 兼容的客戶端(如 Cursor)以連接到服務器。
✨ 主要特性
🔧 工具(5 個交互式命令)
-
search_posts - 搜索和篩選 HackerNews 帖子
- 可按關鍵詞、作者、得分和日期範圍進行篩選
- 示例:"查找得分大於 100 的關於 'AI' 的故事"
-
get_post - 獲取帖子的詳細信息
- 包括元數據、評論樹和參與指標
- 示例:"獲取編號為 44473319 的故事及其評論的完整詳細信息"
-
search_user - 分析用戶資料和活動
- 包含用戶統計信息、熱門故事和貢獻模式
- 示例:"分析用戶 'pg' 並展示其活動情況"
-
search_trending - 查找當前熱門話題
- 通過對熱門故事進行關鍵詞頻率分析
- 示例:"今天 HackerNews 上有哪些熱門話題?"
-
search_comments - 分析評論參與度
- 包括評論統計信息、頂級評論者和討論模式
- 示例:"分析編號為 44473319 的故事的評論"
📦 安裝指南
前提條件
安裝步驟
-
克隆並安裝:
git clone <repository-url>
cd hackernews-mcp-server
npm install
-
構建項目:
npm run build
-
配置 MCP 客戶端(Cursor):
.cursor/mcp.json 文件已完成配置
- 重啟 Cursor 以加載 MCP 服務器
-
開始使用:
npm start
💻 使用示例
基礎用法
🔍 搜索帖子 - 按主題查找故事
search_posts with query="AI", minScore=50, limit=10
- "'Positive review only': Researchers hide AI prompts in papers" (100 分,52 條評論)
- "Cops in [Spain] think everyone using a Google Pixel must be a drug dealer" (65 分,50 條評論)
使用場景:
- 查找特定主題的高參與度故事
- 按作者、得分閾值或日期範圍進行篩選
- 研究所在領域的熱門討論
📄 獲取帖子詳情 - 深入分析故事
get_post for story ID 44473319 (AI prompts story)
- 完整的故事元數據(發佈時間:3.2 小時,域名:asia.nikkei.com)
- 完整的評論樹(來自 38 位作者的 57 條評論)
- 參與指標和討論質量
使用場景:
- 分析你感興趣的特定故事
- 獲取完整的評論討論
- 瞭解社區對新聞的反應
👤 搜索用戶 - 分析用戶資料
search_user for "zczc" (Google Pixel story author)
- 在 HN 上活躍 8.6 年,擁有 876 點聲望,是穩定的貢獻者
- 以研究為導向:提供一手資料
- 跨領域專業知識:涉及技術、政策、編程
- 注重質量而非數量
使用場景:
- 研究感興趣帖子的作者
- 尋找領域專家和思想領袖
- 瞭解用戶的貢獻模式
📈 搜索熱門話題 - 分析主題趨勢
search_trending analyzing 49 current top stories
- "software", "game", "first"(各佔 6.1%)
- "systems", "local", "google"(各佔 4.1%)
- 太空技術:"satellite", "geostationary"
- 關注本地優先軟件和遊戲
使用場景:
- 跟蹤科技社區正在討論的內容
- 識別新興技術趨勢
- 監測社區興趣的變化
💬 搜索評論 - 分析討論情況
search_comments on the Google Pixel Spain story
- 來自 38 位不同作者的 56 條評論
- 活躍的討論(多位用戶發表了 4 條以上評論)
- 關於隱私/監控的國際視角
- 高質量的管理(刪除 5 條,標記 1 條)
使用場景:
- 分析社區對主題的情緒
- 找到最積極參與討論的人
- 瞭解討論的質量和模式
🔧 技術細節
智能緩存系統
- 三層緩存:項目、用戶和故事列表
- 可配置的 TTL:默認 5 分鐘,可調整
- LRU 淘汰機制:緩存滿時自動清理
- 性能:將 API 調用減少約 80%
API 客戶端特性
- 全面覆蓋:涵蓋所有 HackerNews API 端點
- 批量操作:高效加載多個項目
- 錯誤處理:強大的重試和超時邏輯
- 速率限制:合理使用 API
增強數據
- 故事元數據:計算發佈時間、域名、評論數量
- 用戶統計信息:平均得分、熱門故事、活動模式
- 評論分析:參與指標、討論樹
- 熱門分析:關鍵詞頻率、主題提取
🔧 配置
環境變量(可選):
# 服務器配置
SERVER_NAME=hackernews-mcp-server
SERVER_VERSION=1.0.0
# API 配置
HACKERNEWS_API_BASE_URL=https://hacker-news.firebaseio.com/v0
HACKERNEWS_API_TIMEOUT=10000
# 緩存配置
CACHE_TTL_SECONDS=300
CACHE_MAX_SIZE=1000
# 日誌記錄
LOG_LEVEL=info
🧪 開發
npm run dev
npm test
npm run lint
npm run lint:fix
npm run build
📊 MCP 工具與功能
使用我們經過測試的工具可以實現以下功能:
| 屬性 |
詳情 |
| MCP 工具 |
功能描述 |
search_posts |
按條件查找故事 |
get_post |
獲取故事的完整詳細信息 |
search_user |
分析用戶資料 |
search_trending |
分析主題趨勢 |
search_comments |
分析討論情況 |
資源訪問模式:
hackernews://stories/top → 當前熱門故事
hackernews://user/username → 用戶資料
hackernews://item/12345 → 單個帖子
hackernews://comments/12345 → 評論樹
🤝 實際應用場景(基於我們的測試)
📰 內容研究與分析
- 查找突發科技新聞:例如我們發現的關於 AI 提示的論文(100 分,活躍討論)
- 跟蹤有爭議的話題:如關於 Google Pixel 隱私問題的報道
- 分析討論質量:來自 38 位作者的 57 條評論顯示了真實的參與度
- 監測新興趨勢:太空技術、本地優先軟件、遊戲開發
👥 社區情報
- 識別高質量貢獻者:發現 "zczc" 是具有研究導向和跨領域專業知識的專家
- 瞭解用戶模式:8.6 年的活躍時間、穩定的聲望增長、驗證資料來源的習慣
- 尋找領域專家:持續提供高質量貢獻的用戶
- 跟蹤思想領袖:特定技術領域的活躍用戶
📈 趨勢與情緒分析
- 當前科技焦點:"software", "systems", "game" 各佔 6.1% 的熱門比例
- 新興技術:衛星/太空技術的討論逐漸增多
- 社區情緒:國際隱私擔憂、學術誠信辯論
- 討論模式:高質量管理、國際視角
🔍 研究應用
- 學術研究:研究科技社區的討論和情緒
- 市場研究:瞭解開發者和科技社區的興趣
- 競爭情報:監測關於技術和公司的討論
- 內容策略:找到能產生高參與度的話題
🚀 性能表現
- 緩存:減少 80% 的 API 調用
- 批量操作:多項目加載速度提高 3 倍
- 智能過濾:客戶端搜索減輕服務器負載
- 併發請求:並行處理提高效率
🔒 隱私與道德
- 僅使用公開數據:不訪問私人信息
- 合理使用:採用速率限制和緩存機制
- 不存儲數據:僅進行臨時緩存
- 透明公開:開源實現
🐛 故障排除
常見問題
-
服務器無法啟動
node --version
npm run build
-
MCP 連接問題
- 重啟 MCP 客戶端(Cursor)
- 檢查
.cursor/mcp.json 配置
- 驗證服務器是否通過
npm start 正常運行
-
API 錯誤
- 檢查網絡連接
- 驗證 HackerNews API 是否可訪問
- 檢查緩存配置
調試模式
LOG_LEVEL=debug npm start
📈 路線圖
- [ ] 即時 WebSocket 更新
- [ ] 高級情緒分析
- [ ] 用戶網絡分析
- [ ] 導出功能
- [ ] 自定義過濾規則
- [ ] 性能儀表盤
🤝 貢獻指南
- 分叉倉庫
- 創建功能分支 (
git checkout -b feature/amazing-feature)
- 提交更改 (
git commit -m 'Add amazing feature')
- 推送到分支 (
git push origin feature/amazing-feature)
- 打開拉取請求
🎉 準備好以前所未有的方式探索 HackerNews 了嗎?
🚀 快速開始命令
npm run build && npm start
💬 開始你的第一次對話
向你的 AI 助手提問:
- "現在 HackerNews 上有哪些頂級的 AI 故事?"
- "查找今天科技社區的熱門話題"
- "分析本週討論最多的故事"
🙏 致謝與鳴謝
🧡 特別感謝 HackerNews
"這裡匯聚了最棒的技術討論"
我們非常感謝 HackerNews 和 Y Combinator:
🌟 創建了世界上最棒的科技社區
📡 提供免費的即時 API 訪問
🔥 促進了激發創新的精彩討論
🚀 構建了一個每天都在討論科技未來的平臺
⚡ 技術支持
📜 許可證與使用條款
🆓 本 MCP 服務器
MIT 許可證 - 你可以使用、修改和分享!詳情請參閱 LICENSE 文件。
創建者:Traves Theberge Traves.Theberge@gmail.com
📊 HackerNews API
非商業使用免費 - 請尊重創建內容的社區。
商業使用:請查看 Y Combinator 的條款
🌟 加入社區
發現了 bug? 提交一個問題!
有想法? 發起一場討論!
想要貢獻? 歡迎提交拉取請求!
🔗 聯繫我們
- 📧 郵箱:Traves.Theberge@gmail.com
- 🐙 GitHub:本倉庫
- 🗨️ 討論區:分享你對 HackerNews 的見解!
🧡 持續探索,不斷創新! 🧡
為 HackerNews 社區用心打造
⭐ 給這個倉庫加星 • 🍴 分叉它 • 📝 貢獻代碼