Skip to main content
Glama
salwks

mcp-techTrend

trends-mcp

Koreanische Dokumentation: README.ko.md

A single MCP server that pulls academic + code + medical-device-regulatory trend data from seven sources and renders newspaper-style briefings — with per-domain tuning baked in.

Quelle

Tools

Hinweise

arXiv

arxiv_recent, arxiv_search

Round-Robin pro Kategorie, damit kleine Kategorien nicht von großen überlagert werden

PubMed

pubmed_search

Vollständige Abstracts via efetch.fcgi

HF Daily Papers

paperswithcode_trending

Sortiert nach Community-Upvotes (ersetzt die eingestellte PwC-API)

GitHub

github_trending, github_search

Trending-Page-Scrape + Search API mit created:> Datumsfilter

Hugging Face

huggingface_trending

Modelle / Datensätze / Spaces, trendig oder aktuell

openFDA 510(k)

fda_510k_recent

Zulassungen von Medizinprodukten

openFDA Recalls

fda_510k_recent

Rückrufereignisse mit Klassenfilter

(Aggregatoren)

trends_digest, trends_briefing

Parallele Aufrufe mehrerer Quellen

trends_briefing ist das Haupt-Tool: Rufen Sie "weekly news" / "주간 뉴스" auf und erhalten Sie ein im Zeitungsformat aufbereitetes Briefing über alle aktivierten Quellen, das vom LLM automatisch in die Konversationssprache des Benutzers übersetzt wird.


Warum existiert dieses Projekt?

Die meisten MCP-Server für akademische/Code-/regulatorische Daten sind auf eine einzige Quelle beschränkt. Dieser Server ist multi-quellenfähig und domänenbewusst: Ein Forscher, der medizinische Bildgebungs-KI verfolgt, ein ML-Ingenieur, der ML-Paper liest, ein Sicherheitsanalyst, der CVEs und trendige Repos beobachtet — alle konfigurieren dies einmal über python configure.py, und dann wird trends_briefing zur "Montagmorgen-Zeitung" für ihre Domäne.

Was es nützlich macht:

  • Zeitungsformat mit Übersetzungshinweis — das LLM übersetzt Quelltexte automatisch (Paper-Abstracts, Rückrufgründe usw.) in Ihre Konversationssprache, während Identifikatoren, URLs und metrische Werte wortgetreu beibehalten werden.

  • Round-Robin pro Kategorie für arXiv — cs.HC (~50 Paper/Woche) wird nicht von cs.LG (~1500/Woche) überlagert, wenn beide zusammen verfolgt werden.

  • TTL-Cache + Zusammenführung gleichzeitiger Anfragen — wiederholte Aufrufe und parallele Briefings belasten die Upstream-APIs nicht.

  • Keine erforderlichen Token. Alle sieben Quellen funktionieren anonym; Token erhöhen lediglich das Ratenlimit pro Quelle.

  • Sandbox-sicherer Python-Launcher. Umgeht den env-Block in der claude_desktop_config.json (der bei einigen macOS-Builds Werte mit Leerzeichen abschneidet), indem Umgebungsvariablen in Python gesetzt werden, bevor sie an den Server übergeben werden.


Installation

git clone https://github.com/salwks/mcp-techTrend.git
cd mcp-techTrend
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

Verbinden Sie sich mit Claude Desktop, indem Sie ~/Library/Application Support/Claude/claude_desktop_config.json bearbeiten:

{
  "mcpServers": {
    "trends": {
      "command": "/path/to/trends-mcp/.venv/bin/python",
      "args": ["/path/to/trends-mcp/run.py"]
    }
  }
}

⚠️ args verweist auf run.py (den Launcher), nicht auf trends_mcp.py. Der Launcher setzt domänenspezifische Umgebungsvariablen, bevor der Server startet.

Starten Sie Claude Desktop neu. Der trends-Server sollte mit 11 Tools erscheinen.


Konfiguration

Eine Quelle der Wahrheit: run.py. Zwei Möglichkeiten, sie zu bearbeiten:

A. Interaktives TUI — configure.py (empfohlen)

python configure.py
═══ trends-mcp 설정 ═══
  [1] Active sources       (7/7 enabled)
  [2] arXiv categories     (4 entries · 13 papers/wk)
  [3] PubMed query
  [4] API tokens           (0/4 set)
  [5] Show current config
  [6] Save and restart
  [7] Quit without saving

Schalten Sie Quellen mit Nummern um, setzen Sie arXiv-Gewichtungen mit set 1 7, wenden Sie Presets mit preset medical-imaging an, speichern Sie mit [6]. Die Speicheraktion erstellt ein Backup in run.py.bak, schreibt den neuen SETTINGS-Block (AST-basiert — berührt niemals Nicht-Konfigurationscode) und führt pkill -f trends_mcp aus, damit Claude Desktop den Server beim nächsten Aufruf mit der neuen Konfiguration neu startet.

Die TUI-Menübeschriftungen sind auf Koreanisch; Befehle und Presets sind auf Englisch. Die Internationalisierung (i18n) der TUI selbst steht auf der Roadmap für v0.2.

Single-Shot-Modi:

python configure.py --show       # print current config
python configure.py --restart    # pkill stale MCP processes

B. Direkte Bearbeitung — run.py SETTINGS-Block

TRENDS_ENABLED_SOURCES = ""                          # "" = all
TRENDS_ARXIV_CATEGORIES = "cs.LG:5,cs.CV:3,cs.CL:3,cs.AI:2"
TRENDS_DEFAULT_PUBMED_QUERY = "(deep learning OR AI) AND (medical OR clinical)"
# GITHUB_TOKEN = "ghp_..."         # raises 60 → 5,000 req/h
# HF_TOKEN = "hf_..."
# NCBI_API_KEY = "..."             # raises 3 → 10 req/s for PubMed
# OPENFDA_API_KEY = "..."          # raises 240 → 120,000 req/day

Starten Sie Claude Desktop nach dem Speichern neu (oder pkill -f trends_mcp).

Presets

# AI/ML researcher (default)
TRENDS_ARXIV_CATEGORIES = "cs.LG:5,cs.CV:3,cs.CL:3,cs.AI:2"

# Medical imaging / clinical AI
TRENDS_ARXIV_CATEGORIES = "eess.IV:5,cs.CV:3,cs.HC:2,q-bio.QM:2"

# Robotics
TRENDS_ARXIV_CATEGORIES = "cs.RO:5,cs.AI:3,cs.LG:2,cs.CV:2"

# HCI / UX
TRENDS_ARXIV_CATEGORIES = "cs.HC:5,cs.CY:3,cs.AI:2,cs.SI:2"

# Security
TRENDS_ARXIV_CATEGORIES = "cs.CR:5,cs.LG:2,cs.NI:2"

# Computational biology
TRENDS_ARXIV_CATEGORIES = "q-bio.QM:4,q-bio.GN:3,q-bio.BM:3,stat.AP:2"

Allgemeine arXiv-Kategorien (vollständige Referenz: ARXIV_CATEGORIES.md):

Code

Fachbereich

Wöchentliche Paper (ca.)

cs.AI

Künstliche Intelligenz

500–800

cs.LG

Maschinelles Lernen

1.500–2.000 (größte)

cs.CV

Computer Vision

1.000–1.500

cs.CL

NLP

500–800

cs.HC

HCI / UX

50–100

cs.RO

Robotik

100–200

cs.CR

Sicherheit

~200

eess.IV

Bild-/Videoverarbeitung (medizinische Bildgebung)

100–200

q-bio.QM

Quantitative Biologie

50–100

Quellen-Allowlist

TRENDS_ENABLED_SOURCES = "arxiv,github,huggingface,paperswithcode"
# → fda_510k, fda_recalls, pubmed tools won't appear in the tool list at all

Leer / "*" / "all" = alles aktivieren. Deaktivierte Quellen registrieren ihre Tools nicht, sodass die Liste der Chat-Tools selbst schrumpft. trends_digest und trends_briefing bleiben registriert und überspringen deaktivierte Quellen elegant.


Tools

Tool

Zweck

arxiv_recent

Aktuelle Paper in einer Kategorie, nach Einreichungsdatum

arxiv_search

Stichwort- / Feldsyntax-Suche (ti:, au:, abs:, cat:)

pubmed_search

PubMed-Suche (MeSH-Begriffe, Feld-Tags) — Abstracts via efetch

paperswithcode_trending

HF Daily Papers, sortiert nach Community-Upvotes

github_trending

Durchsuchen von github.com/trending (HTML-Scrape)

github_search

GitHub Search API; days filtert nach created:

huggingface_trending

HF Hub Modelle / Datensätze / Spaces

fda_510k_recent

Aktuelle FDA 510(k)-Zulassungen

fda_recalls_recent

Aktuelle Rückrufe von Medizinprodukten der FDA (Klassenfilter)

trends_digest

Zusammenfassung als Aufzählung aus mehreren Quellen zu einem Thema

trends_briefing

Zeitungs-Briefing aus mehreren Quellen; Thema optional

Alle Such-Tools akzeptieren days=N für die Filterung der letzten N Tage. trends_briefing gruppiert Ergebnisse in die Abschnitte 🎓 Forschung / 💻 Code & Modelle / 🏥 Regulatorisches.

trends_digest

trends_briefing

Thema

erforderlich

optional ("Was gibt es Neues"-Modus)

Quellenbereich

konfigurierbare Teilmenge (Standard 4)

alle aktivierten Quellen

Format

Aufzählungs-Zusammenfassung

gruppiertes Zeitungsformat

Anwendungsfall

Deep-Dive zu einem Thema

regelmäßiges wöchentliches Briefing


Caching

Ein prozessinterner In-Memory-TTL-Cache umschließt jede HTTP-Antwort. Gleichzeitige identische Anfragen werden über ein asyncio.Lock pro Schlüssel zusammengeführt — N parallele Aufrufer lösen eine Upstream-Anfrage aus.

TTL-Gruppe

Dauer

Tools

Trending

5 Min

github_trending, paperswithcode_trending, huggingface_trending (Trending-Sortierung), github_search (mit days)

Standard

10 Min

arxiv_recent, arxiv_search, github_search, huggingface_trending (andere Sortierungen)

Statisch

1 Stunde

pubmed_search, fda_510k_recent, fda_recalls_recent

Bis zu 256 Einträge; die ältesten werden bei Vollbelegung entfernt. Keine Deaktivierung möglich — die TTLs sind kurz genug, dass die Veralterung begrenzt ist.


Bekannte Einschränkungen

  • GitHub Trending ist HTML-Scraping — es gibt keine offizielle API. Layout-Änderungen können es beschädigen. Stabiler Trending-Ersatz: github_search mit days=7 und sort=stars.

  • HF trendingScore ist nicht dokumentiert. Die API-Oberfläche kann sich ändern.

  • HF Daily Papers deckt ca. 50 kuratierte Paper/Tag ab, nicht das gesamte arXiv. Es ist ein "Worüber wurde gesprochen"-Feed, nicht erschöpfend.

  • arXiv hat kein natives Trending — wir approximieren dies über kategorien-ausbalancierte Feeds aktueller Einreichungen.

  • openFDA classification-Feld gibt manchmal None zurück, selbst bei kürzlich klassifizierten Rückrufen (Upstream-Datenverzögerung). Der Suchindex hinkt ebenfalls hinterher.


Roadmap (TODO)

  • v0.2: i18n für das TUI-Menü und die Überschriften der Briefing-Abschnitte

  • bioRxiv / medRxiv via RSS

  • Semantic Scholar (Zitationsgraph)

  • openFDA Adverse Events (MAUDE)

  • EU EUDAMED Scraping

  • PMDA (Japanische Medizinprodukte)

  • MFDS (Koreanische Medizinprodukte)

  • Mock-basierte Test-Suite für CI


Lizenz

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/salwks/mcp-techTrend'

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