Skip to main content
Glama

📰 tech-collector-mcp

Qiita × MCP × Gemini — AI クライアントから呼び出せる “技術記事収集・要約 & Notion 連携” プロトタイプ


✨ What’s this?

tech-collector-mcpMCP (Model Context Protocol) を使い、複数ソース(Qiita/Dev.to/NewsAPI/Hacker News)から技術記事を一括取得し、Gemini API で要約、Notion データベースへ自動同期まで行う CLI ベースの実験プロジェクト です。

AI-Powered Prototyping: ChatGPT や Claude を活用した迅速なプロトタイピングを実施しています。

機能

説明

Zero‑Server

JSON‑RPC over STDIO — Web サーバー不要

Multi‑Source

Qiita/Dev.to/NewsAPI.org/Hacker News API を横断ラップ

Summarize

URL 要約 (summarizeUrlArticle) & Qiita 特化要約

Aggregate

全ソース取得 (fetchAllArticles) & 一括 Notion 同期 (aggregateArticles)

Recommend

読了 × 評価 × タグベースの簡易レコメンド (recommendArticles)

Easy Integration

Claude Desktop などで関数呼び出し感覚で利用可能

Prototyping Phase 🛠️  スキーマ & プロンプトは随時更新中。


🔧 Requirements

  • Node.js 18.x 以上

  • npm または yarn

  • .env.env.example を参照して作成

# ==== API Keys & Tokens ==== GEMINI_API_KEY=your_gemini_api_key_here # Google Generative AI NEWSAPI_KEY=your_newsapi_api_key_here # NewsAPI.org QIITA_TOKEN=your_qiita_token_here # Qiita (optional) # ==== Pagination Settings ==== PAGE_LIMIT=3 # デフォルト取得件数/サービス ITEMS_PER_PAGE=10 # ページネーション単位 # ==== Notion Integration ==== NOTION_API_KEY=your_notion_api_key_here # Notion Integration Token NOTION_DATABASE_ID=your_database_id_here # 記事保存用DB ID

Dev.to/Hacker News は API キー不要です。


📦 Installation / Quick Start

# 1) Clone $ git clone https://github.com/RuumaLilja/tech-collector-mcp.git $ cd tech-collector-mcp # 2) Install dependencies $ npm install # または yarn install # 3) Setup environment $ cp .env.example .env # .env を編集して各種キーを入力 # 4) Run MCP server (STDIO mode) $ node src/index.js

🛠️ Using with Claude Desktop

settings.json に MCP サーバーを登録:

{ "mcpServers": { "tech-collector": { "command": "node", "args": ["/absolute/path/to/tech-collector-mcp/src/index.js"] } } }

起動後、チャット例:

Dev.toでreactタグの記事を3件取得して 最新テックニュースを取得して Hacker Newsのトップ技術ネタを5件 https://example.com/article を要約して 取得した記事を Notion に保存して 全ソースを取得して Notion に同期して 全部まとめて最新技術記事を取得して おすすめ記事(パーソナライズ推薦)を5件教えて```

📂 Project Structure

tech-collector-mcp/ ├── adapters/ │ └── notionSdkStorage.js # Notion SDK 実装 (StoragePort) ├── clients/ │ ├── devtoClient.js │ ├── geminiClient.js │ ├── hackerNewsClient.js │ ├── newsApiClient.js │ └── qiitaClient.js ├── config/ │ ├── constants.js │ ├── environment.js │ ├── prompts.js # プロンプト定義 │ ├── toolDefinitions.dynamic.js# Notionスキーマ連動ツール │ └── toolDefinitions.static.js # 静的ツール定義 ├── ports/ │ └── storage.js # StoragePort インターフェース ├── services/ │ ├── aggregatorService.js # 全ソース取得→Notion同期 │ ├── devtoService.js │ ├── fetchService.js # 全ソース取得 │ ├── hackerNewsService.js │ ├── newsApiService.js │ ├── qiitaRanking.js │ ├── recommenderService.js # 読了×評価×タグベース推薦 │ ├── reportService.js # 同期結果レポート │ ├── summarizeService.js # URL要約 │ ├── syncBatchService.js # Notion並列同期 │ └── syncService.js # 単一記事同期 ├── utils/ │ ├── errors.js │ ├── fieldMapper.js # 外部→Notionフィールド変換 │ ├── rpcHelpers.js │ └── simhash.js # URL→SimHash (MD5) └── index.js # エントリーポイント

📖 JSON‑RPC Overview

Method

説明

Params

Returns

initialize

MCP ハンドシェイク

capabilities.tools

tools/list

利用可能ツール一覧

name, description, inputSchema

tools/call

ツール実行

name, arguments

実行結果 (content[])

Main Tools (抜粋)

  • getQiitaRanking — Qiita 人気記事ランキング取得

  • getDevtoArticles — Dev.to のタグ/検索記事取得

  • getNewsApiArticles — NewsAPI.org からテックニュース取得

  • getHackerNewsTopStories — Hacker News トップストーリー取得

  • fetchAllArticles — 全ソースまとめて最新取得

  • summarizeUrlArticle — 任意 URL 記事を Gemini で要約

  • syncArticleToNotion — 記事を Notion に保存

  • aggregateArticles — 全ソース取得 →Notion 一括同期

  • recommendArticles — 読了 × 評価 × タグで簡易推薦

詳細は toolDefinitions.*.js を参照。


🩹 Troubleshooting

エラー/症状

解決策

Unsupported content type: json

MCP クライアントが type:'text' 以外のレスポンスを受信。ツール実装を確認

401 Unauthorized

.envNEWSAPI_KEY または NOTION_API_KEY を確認

ツールが呼ばれない

descriptionForModelinputSchema を見直し、クライアント再起動


🗺 Roadmap

  1. Phase 1: Qiita ランキング+要約 (✅)

  2. Phase 2: マルチソース収集 (✅)

  3. Phase 3: Notion 連携 & パーソナライズ推薦 (✅)

  4. Phase 4: Slack 連携

  5. Phase 5: 定期バッチ

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RuumaLilja/tech-collector-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server