tech-watch-mcp

LePhyX/tech-watch-mcp
0 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

An MCP server providing real-time access to tech news from Hacker News, GitHub trending repositories, ArXiv papers, and dev.to articles, with capabilities for deep dives and cross-source comparisons.

README.md

đź”­ Tech-Watch-MCP

Intelligence tech en temps réel pour Claude — Hacker News, GitHub, ArXiv et dev.to dans une seule conversation.

![Python](https://python.org) ![MCP](https://modelcontextprotocol.io) ![Railway](https://railway.app) ![License](LICENSE)

---

Présentation

tech-watch-mcp est un serveur Model Context Protocol qui connecte Claude à quatre flux d'intelligence technologique simultanément. Posez une question, obtenez une synthèse multi-sources — sans quitter la conversation.

"Quels repos Python ont explosé cette semaine ?"
"Compare comment WebAssembly est couvert sur HN, GitHub et ArXiv."
"Fais un deep dive sur cet article : https://..."

---

Fonctionnalités

  • 7 outils MCP couvrant actualitĂ©s, code, recherche et communautĂ©
  • AgrĂ©gation multi-sources — un prompt, quatre flux de donnĂ©es
  • Extraction d'articles — rĂ©cupĂ©ration et parsing complet de n'importe quelle URL
  • Comparaison croisĂ©e — analyse d'un sujet sur HN, GitHub, ArXiv et dev.to en parallèle
  • OAuth 2.0 — accès distant sĂ©curisĂ© avec flux d'approbation protĂ©gĂ© par mot de passe
  • DĂ©ploiement Railway — serveur HTTP persistant, accessible depuis tout client MCP

---

Outils disponibles

| Outil | Description | Paramètres clés | | --------------------- | --------------------------------------- | ---------------------------------------------------- | | get_trending_topics | Top stories Hacker News | limit (défaut : 10) | | get_github_trending | Repos les plus étoilés via l'API GitHub | language, since (daily / weekly / monthly) | | get_papers | Derniers papers ArXiv par mot-clé | query, limit | | get_community_buzz | Articles dev.to par tag | tags (séparés par virgule), limit | | get_daily_brief | Brief combiné de toutes les sources | topic | | deep_dive | Extraction du texte complet d'une URL | url | | compare_sources | Analyse croisée côte à côte | topic |

---

Architecture

Claude (client MCP)
        │
        │  MCP protocol (stdio ou streamable-http)
        â–Ľ
    server.py ──── auth.py (fournisseur OAuth 2.0)
        │
        ├── Hacker News API   (public, sans auth)
        ├── GitHub Search API (public, GITHUB_TOKEN recommandé)
        ├── ArXiv API         (public, sans auth)
        └── dev.to API        (public, sans auth)

Transport local (Claude Code CLI) : stdio — le serveur est spawné directement par le client. Transport distant (Railway) : streamable-http — le serveur écoute sur PORT, OAuth requis.

---

Installation locale

1. Cloner le dépôt et créer l'environnement virtuel

git clone https://github.com/LePhyX/tech-watch-mcp
cd tech-watch-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. Connecter Ă  Claude Code

claude mcp add tech-watch -- /path/to/tech-watch-mcp/.venv/bin/python /path/to/tech-watch-mcp/server.py

Vérification :

claude mcp list
# tech-watch: ... - âś” Connected

---

Déploiement Railway

Variables d'environnement

| Variable | Description | Exemple | | --------------- | ---------------------------------------------------------- | -------------------------------------------- | | BASE_URL | URL publique du serveur Railway | https://web-production-xxxx.up.railway.app | | AUTH_PASSWORD | Mot de passe pour approuver les connexions OAuth | your-secret-password | | GITHUB_TOKEN | Personal access token GitHub _(optionnel mais recommandé)_ | github_pat_... |

Note : Sans GITHUB_TOKEN, l'API GitHub est limitée à 60 req/heure. Avec token : 5 000 req/heure.

Étapes de déploiement

  1. Créer un projet Railway → Deploy from GitHub repo → sélectionner LePhyX/tech-watch-mcp
  2. Ajouter les variables d'environnement ci-dessus
  3. Railway détecte le Procfile et démarre automatiquement

Connexion OAuth depuis un client MCP

claude mcp add --transport http tech-watch-remote https://your-server.up.railway.app/mcp

Au premier accès, le client MCP ouvre une page d'autorisation dans le navigateur :

  1. Page affichée : https://your-server.up.railway.app/auth/approve
  2. Saisir le mot de passe défini dans AUTH_PASSWORD
  3. Cliquer Authorize → token émis → connexion établie

Les tokens expirent après 1 heure ; le refresh token renouvelle l'accès automatiquement.

---

Sources de données

| Source | API | Authentification | | --------------------------------------------------------------------------- | ----------------------- | ---------------- | | Hacker News | Firebase REST API | Aucune | | GitHub | Search Repositories API | Token optionnel | | ArXiv | Atom Feed API | Aucune | | dev.to | Forem REST API | Aucune |

---

Stack technique

| Composant | Rôle | | ---------------------------------------------------------------- | ----------------------------- | | Python 3.12 | Langage principal | | FastMCP | Framework serveur MCP | | httpx | Client HTTP async | | BeautifulSoup4 | Parsing HTML (deep_dive) | | Starlette | Framework ASGI (routes OAuth) | | Railway | Déploiement cloud |

---

Exemples de prompts

Brief tech du jour sur l'IA
Quels repos Python ont explosé cette semaine ?
Fais un deep dive sur cet article : https://...
Compare comment "WebAssembly" est couvert sur HN, GitHub et ArXiv
Donne-moi les derniers papers sur les LLM agents

Related MCP servers

Browse all →