🚀 HackerNews MCP 服務器
這是一個全面的模型上下文協議(MCP)服務器,它能與 HackerNews API 實現無縫集成,讓 AI 助手可以通過標準化的 MCP 接口訪問、分析和理解 HackerNews 上的內容。
🚀 快速開始
npm install
npm run build
npm start
然後重啟與 MCP 兼容的客戶端(如 Cursor),以連接到服務器。
✨ 主要特性
🔧 工具(5 個交互式命令)
-
search_posts - 搜索並篩選 HackerNews 帖子
- 可按關鍵詞、作者、分數和日期範圍進行篩選
- 示例:"查找關於 'AI' 且分數大於 100 的故事"
-
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 提示故事)
- 完整的故事元數據(年齡:3.2 小時,域名:asia.nikkei.com)
- 完整的評論樹(來自 38 位作者的 57 條評論)
- 參與度指標和討論質量
使用場景:
- 分析你感興趣的特定故事
- 獲取完整的評論討論
- 瞭解社區對新聞的反應
👤 搜索用戶 - 個人資料分析
search_user for "zczc" (Google Pixel 故事作者)
- 在 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 |
按條件查找故事 |
找到 2 篇分數分別為 100 以上和 65 分的 AI 故事 |
get_post |
獲取完整的故事詳情 |
分析了帶有 57 條評論的 AI 提示故事 |
search_user |
個人資料分析 |
分析了用戶 "zczc" - 在 HN 活躍 8.6 年,是高質量貢獻者 |
search_trending |
主題分析 |
發現 "software"、"game"、"systems" 是熱門話題 |
search_comments |
討論分析 |
分析了關於 Pixel 故事的 56 條評論,來自 38 位作者 |
資源訪問模式:
hackernews://stories/top → 當前熱門故事
hackernews://user/username → 用戶資料
hackernews://item/12345 → 單個帖子
hackernews://comments/12345 → 評論樹
實際應用場景
📰 內容研究與分析
- 查找突發科技故事:例如我們發現的關於論文中 AI 提示的故事(100 分,活躍討論)
- 跟蹤有爭議的話題:如 Google Pixel 隱私問題的故事
- 分析討論質量:來自 38 位作者的 57 條評論表明了真實的參與度
- 監測新興趨勢:太空技術、本地優先軟件、遊戲開發等方面的發展
👥 社區情報
- 識別高質量貢獻者:發現 "zczc" 是一位以研究為導向、具有跨領域專業知識的專家
- 瞭解用戶模式:在 HN 活躍 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)
- 打開拉取請求
📄 許可證
🆓 此 MCP 服務器
MIT 許可證 - 你可以使用、修改和分享!詳情見 LICENSE 文件。
創建者:Traves Theberge Traves.Theberge@gmail.com
📊 HackerNews API
非商業用途免費 - 請尊重創建內容的社區。
商業用途:請查看 Y Combinator 的條款
🌟 加入社區
發現 bug? 提交一個問題!
有想法? 發起討論!
想要貢獻代碼? 歡迎提交拉取請求!
🔗 聯繫我們
- 📧 郵箱:Traves.Theberge@gmail.com
- 🐙 GitHub:本倉庫
- 🗨️ 討論區:分享你對 HackerNews 的見解!
🧡 持續探索,不斷創新! 🧡
為 HackerNews 社區用心打造
⭐ 給此倉庫加星 • 🍴 分叉它 • 📝 貢獻代碼