Watch Materials
БесплатноНе проверенMCP server for materials science monitoring, searching ArXiv preprints and OpenAlex articles with sovereign intelligence filtering by country.
Описание
MCP server for materials science monitoring, searching ArXiv preprints and OpenAlex articles with sovereign intelligence filtering by country.
README
Premier serveur Model Context Protocol (MCP) construit from scratch en JavaScript, branché sur Claude Desktop. Objectif : comprendre le protocole MCP de bout en bout et fournir un outil de veille technique souveraine sur la science des matériaux et les alliages.
Le serveur tourne en local (process Node.js, communication via stdio) et expose 5 tools que Claude découvre et orchestre automatiquement.
Pourquoi ce projet
Construire un serveur MCP minimal mais réel, qui :
- couvre deux types de sources et donc deux formats de réponse : XML (ArXiv) et JSON (OpenAlex) ;
- reste lisible et appropriable (code commenté, chaque tool autonome) ;
- apporte une vraie valeur métier : croiser preprints et publications validées, et identifier qui publie où (angle souverain).
Les deux sources
| Source | Format | Nature | Particularité |
|---|---|---|---|
| ArXiv | XML (Atom) | Preprints (non validés par les pairs) | Parsing via fast-xml-parser |
| OpenAlex | JSON | Articles publiés (validés par les pairs) | Citations, institutions, accès libre |
Travailler les deux formats était un objectif assumé : ArXiv impose un parsing XML (et son piège objet/tableau), OpenAlex se consomme directement en .json().
Les 5 tools
| Tool | Source | Rôle |
|---|---|---|
search_arxiv_materiaux |
ArXiv | Recherche de preprints par matériau, triés par date |
last_articles_arxiv_materiaux |
ArXiv | Veille large : derniers preprints, tous matériaux confondus |
search_openalex_materiaux |
OpenAlex | Recherche d'articles publiés par matériau, info accès libre |
last_articles_openalex_materiaux |
OpenAlex | Veille large : dernières publications parues |
intel_openalex_materiaux |
OpenAlex | Recherche avancée : filtre par pays d'institution + choix du tri (citations ou date) — l'angle souverain |
Installation
Cloner le dépôt puis installer les dépendances (déclarées dans package.json : dotenv, zod, @modelcontextprotocol/sdk, fast-xml-parser, @types/node) :
```bash
git clone
ℹ️ Le
package.jsoncontient"type": "module": le SDK MCP fonctionne en ESM (import/export), pas en CommonJS.
Variable d'environnement
Créer un fichier .env à la racine :
[email protected]
Le mailto n'est pas un secret : il sert à intégrer le polite pool d'OpenAlex (requêtes plus stables). Optionnel mais recommandé.
Branchement sur Claude Desktop
Dans claude_desktop_config.json (mcpServers à la racine, pas dans preferences) :
{
"mcpServers": {
"materials-mcp": {
"command": "node",
"args": ["CHEMIN_ABSOLU/watch-materials-mcp/src/server.js"]
}
}
}
Puis quitter Claude Desktop complétement et le relancer. Le serveur doit apparaître dans Réglages → Développeur avec le statut running.
Campagne de test réalisé
Test 1 — Recherche preprints par matériau
Requête :
Cherche des preprints récents sur le titaneTool attendu :search_arxiv_materiauxVérifier : tri par date, XML parsé (titre/auteurs/date/lien/résumé), ~10 résultats. Statut : Réussi
Test 2 — Veille large preprints
Requête :
Donne-moi les 20 derniers preprints en science des matériauxTool attendu :last_articles_arxiv_materiauxVérifier : pas de filtre matériau, tri par date, 20 résultats. Statut : Réussi
Test 3 — Recherche publiés par matériau
Requête :
Quels sont les articles publiés sur les superalliages ?Tool attendu :search_openalex_materiauxVérifier : JSON, info accès libre affichée, reste dans le domaine matériaux. Statut : Réussi
Test 4 — Veille large publiés
Requête :
Les dernières publications parues en science des matériauxTool attendu :last_articles_openalex_materiauxVérifier : pas de filtre matériau, info accès libre. (Voir la note OpenAlex ci-dessous.) Statut : Echec (Cause: API OpenAlex qui remonte des dates aberrantes)
Test 5 — Angle souverain (le test clé)
Requête :
Quels articles sur le titane sont publiés par des labos français ?Tool attendu :intel_openalex_materiauxavecpays: "fr"Vérifier : filtre pays appliqué, institutions affichées, en-tête « pays = fr ». Statut : Réussi
Test 6 — Tri par citations explicite
Requête :
Les articles les plus cités sur les alliages d'aluminiumTool attendu :intel_openalex_materiaux(triParCitations: true) Vérifier : tri par citations décroissant. Statut : Réussi
Note sur l'API OpenAlex (limite connue)
Le tool last_articles_openalex_materiaux (veille large triée par date) remonte des dépôts institutionnels (thèses, datasets) dont les métadonnées de date sont parfois erronées (publications datées 2029–2032 lors d'une recherche effectuée en 2026). Le tri par date s'en trouve pollué et le résultat est peu exploitable en l'état.
Ce n'est pas un bug du serveur : le code fait ce qui est demandé, c'est la qualité de la donnée source qui est en cause. La recherche ciblée par matériau (search_openalex_materiaux) contourne le problème en remontant des articles de revues sérieuses.
Piste d'amélioration : ajouter type:article au filtre pour exclure thèses et datasets.
Choix d'architecture
Le formatage des réponses est volontairement dupliqué dans chaque tool plutôt que factorisé dans un utilitaire commun. Ce choix assumé pour ce premier serveur privilégie l'apprentissage, la lisibilité et l'autonomie de chaque tool : on lit un tool de bout en bout sans naviguer entre fichiers.
La factorisation d'un formatResponse mutualisé est prévue pour le serveur suivant.
Stack
- JavaScript (ESM) + Node.js
@modelcontextprotocol/sdk— protocole MCPzod— validation des paramètres des toolsfast-xml-parser— parsing du XML d'ArXivdotenv— variable d'environnement (mailtoOpenAlex)- Client : Claude Desktop (transport stdio)
Установка Watch Materials
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/p-pouget/watch-materials-mcpFAQ
Watch Materials MCP бесплатный?
Да, Watch Materials MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Watch Materials?
Нет, Watch Materials работает без API-ключей и переменных окружения.
Watch Materials — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Watch Materials в Claude Desktop, Claude Code или Cursor?
Открой Watch Materials на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Watch Materials with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
