Skip to main content
Glama
salwks

mcp-techTrend

trends-mcp

日本語ドキュメント: README.md

学術・コード・医療機器規制のトレンドデータを7つのソースから収集し、ドメインごとの調整機能を備えた新聞形式のブリーフィングを作成する単一のMCPサーバーです。

ソース

ツール

備考

arXiv

arxiv_recent, arxiv_search

小規模カテゴリが大規模カテゴリに埋もれないようカテゴリごとのラウンドロビンを実施

PubMed

pubmed_search

efetch.fcgi経由でアブストラクト全文を取得

HF Daily Papers

paperswithcode_trending

コミュニティの投票数でソート(PwC APIの終了に伴う代替)

GitHub

github_trending, github_search

トレンドページのスクレイピング + created:> 日付フィルター付き検索API

Hugging Face

huggingface_trending

モデル / データセット / スペース、トレンドまたは最新

openFDA 510(k)

fda_510k_recent

医療機器の承認情報

openFDA Recalls

fda_recalls_recent

クラスフィルター付きのリコールイベント

(アグリゲーター)

trends_digest, trends_briefing

複数ソースの並列呼び出し

trends_briefingは主要ツールです。「weekly news」や「週刊ニュース」と呼びかけると、有効な全ソースから新聞形式のブリーフィングを取得し、LLMがユーザーの会話言語に自動翻訳します。


なぜこれが必要なのか

ほとんどの学術・コード・規制関連のMCPサーバーは単一ソースです。本サーバーは複数ソースに対応し、ドメインを認識します。医療画像AIを追跡する研究者、ML論文を追うMLエンジニア、CVEやトレンドリポジトリを監視するセキュリティアナリストなど、全員がpython configure.pyで一度設定すれば、trends_briefingが彼らのドメインにとっての「月曜朝の新聞」となります。

便利な点:

  • 翻訳ヒント付きの新聞形式 — LLMがソーステキスト(論文アブストラクト、リコール理由など)を会話言語に自動翻訳しつつ、識別子、URL、指標値はそのまま保持します。

  • arXivのカテゴリ別ラウンドロビンcs.HC(週約50本)がcs.LG(週約1500本)に埋もれることなく、両方を同時に追跡できます。

  • TTLキャッシュ + 並列リクエストの統合 — 繰り返し呼び出しや並列ブリーフィングがアップストリームAPIに負荷をかけません。

  • トークン不要 — 7つのソースすべてが匿名で動作します。トークンはソースごとのレート制限の上限を引き上げるためにのみ使用します。

  • サンドボックスセーフなPythonランチャーclaude_desktop_config.jsonenvブロック(macOSの一部ビルドで空白を含む値を切り詰める問題)を回避し、サーバーに渡す前にPythonで環境変数を設定します。


インストール

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

~/Library/Application Support/Claude/claude_desktop_config.jsonを編集してClaude Desktopに接続します:

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

⚠️ argstrends_mcp.pyではなく、run.py(ランチャー)を指すようにしてください。 ランチャーはサーバー起動前にドメイン固有の環境変数を設定します。

Claude Desktopを再起動します。trendsサーバーが11個のツールと共に表示されるはずです。


設定

唯一の真実のソース: run.py。編集方法は2つあります:

A. インタラクティブTUI — configure.py(推奨)

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

数字でソースを切り替え、set 1 7でarXivの重みを設定し、preset medical-imagingでプリセットを適用し、[6]で保存します。保存アクションはrun.py.bakにバックアップを作成し、新しいSETTINGSブロックを書き込み(ASTベースのため非設定コードには触れません)、pkill -f trends_mcpを実行して、次回の呼び出し時にClaude Desktopが新しい設定でサーバーを再起動するようにします。

TUIメニューのラベルは韓国語ですが、コマンドとプリセットは英語です。 TUI自体の国際化(i18n)はv0.2のロードマップに含まれています。

シングルショットモード:

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

B. 直接編集 — run.pyのSETTINGSブロック

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

保存後、Claude Desktopを再起動してください(またはpkill -f trends_mcpを実行)。

プリセット

# 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"

一般的なarXivカテゴリ(完全なリファレンス: ARXIV_CATEGORIES.md):

コード

分野

週刊論文数(概算)

cs.AI

人工知能

500–800

cs.LG

機械学習

1,500–2,000 (最大)

cs.CV

コンピュータビジョン

1,000–1,500

cs.CL

自然言語処理

500–800

cs.HC

HCI / UX

50–100

cs.RO

ロボット工学

100–200

cs.CR

セキュリティ

~200

eess.IV

画像/映像処理(医療画像)

100–200

q-bio.QM

定量的生物学

50–100

ソース許可リスト

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

空 / "*" / "all" = すべて有効。無効なソースはツールを登録しないため、チャットのツールリスト自体が短縮されます。trends_digesttrends_briefingは登録されたまま、無効なソースを適切にスキップします。


ツール

ツール

目的

arxiv_recent

投稿日順の特定カテゴリの最新論文

arxiv_search

キーワード / フィールド構文検索 (ti:, au:, abs:, cat:)

pubmed_search

PubMed検索(MeSH用語、フィールドタグ) — efetch経由のアブストラクト

paperswithcode_trending

コミュニティの投票数でソートされたHF Daily Papers

github_trending

github.com/trendingの閲覧(HTMLスクレイピング)

github_search

GitHub検索API; dayscreated:でフィルタリング

huggingface_trending

HF Hubのモデル / データセット / スペース

fda_510k_recent

最近のFDA 510(k)承認情報

fda_recalls_recent

最近のFDA医療機器リコール(クラスフィルター)

trends_digest

トピックを指定した複数ソースの箇条書きダイジェスト

trends_briefing

複数ソースの新聞形式ブリーフィング(トピックは任意)

すべての検索ツールは、直近N日間のフィルタリングのためにdays=Nを受け付けます。trends_briefingは結果を 🎓研究 / 💻コード&モデル / 🏥規制 セクションにグループ化します。

trends_digest

trends_briefing

トピック

必須

任意(「最新情報」モード)

ソース範囲

設定可能なサブセット(デフォルト4)

有効な全ソース

形式

箇条書きダイジェスト

グループ化された新聞形式

ユースケース

トピックの深掘り

定期的な週刊ブリーフィング


キャッシュ

プロセスごとのメモリ内TTLキャッシュがすべてのHTTPレスポンスをラップします。同一の同時リクエストはasyncio.Lock経由で統合され、N個の並列呼び出しが1つのアップストリームリクエストを発行します。

TTLグループ

期間

ツール

トレンド

5分

github_trending, paperswithcode_trending, huggingface_trending (トレンドソート), github_search (days指定時)

デフォルト

10分

arxiv_recent, arxiv_search, github_search, huggingface_trending (その他のソート)

静的

1時間

pubmed_search, fda_510k_recent, fda_recalls_recent

最大256エントリまで保持し、満杯になると古いものから削除されます。無効化はできません。TTLは短いため、陳腐化は限定的です。


既知の制限

  • GitHub Trending はHTMLスクレイピングであり、公式APIは存在しません。レイアウト変更により壊れる可能性があります。安定した代替手段: days=7sort=starsを指定したgithub_search

  • HF trendingScore は非公開です。API仕様が変更される可能性があります。

  • HF Daily Papers は厳選された1日約50本の論文をカバーしており、arXivのすべてではありません。「話題になったもの」のフィードであり、網羅的ではありません。

  • arXiv にはネイティブなトレンド機能がないため、カテゴリバランスを考慮した最新投稿フィードで近似しています。

  • openFDA classification フィールド は、最近分類されたリコールであってもNoneを返すことがあります(アップストリームデータの遅延)。検索インデックスも遅延します。


ロードマップ (TODO)

  • v0.2: TUIメニューとブリーフィングセクション見出しの国際化(i18n)

  • RSS経由のbioRxiv / medRxiv対応

  • Semantic Scholar(引用グラフ)

  • openFDA有害事象(MAUDE)

  • EU EUDAMEDスクレイピング

  • PMDA(日本の医療機器)

  • MFDS(韓国の医療機器)

  • CI用のモックベーステストスイート


ライセンス

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