Skip to main content
Glama
ManiaSacha
by ManiaSacha

web-mcp

ci PyPI Python License: MIT

AIエージェント向けRSS/Atomフィードのセマンティック検索 — 単一ファイルのMCPサーバー。APIキー不要、クラウド不要、あなたが選んだフィードだけを使います。

いくつかのRSS/Atomフィードを指定するだけで、エージェントに「意味による検索(TF-IDF+新しさブースト)」「トレンド確認」「ダイジェスト生成」「フィードの健全性監視」のツールを提供します。すべてローカルで、あなたが管理するフィードに対して動作します。

web-mcp demo

特徴

  • フィードの追加・削除・一覧表示 — RSS 2.0 と Atom に対応

  • ランキング検索 — TF-IDFコサイン類似度に新しさブーストを適用。純粋な標準ライブラリのみ(埋め込みベクトル不要、フィード取得以外のネットワーク呼び出しなし)

  • トレンドトピック — 最近の記事で頻出する用語を表示

  • ソースの健全性 — エラー、無反応、古くなったフィードを検出

  • Markdownダイジェスト — フィードごとにグループ化した最近の記事の要約

  • バックグラウンド更新 — フィードはタイマーで自動更新

インストール

Python 3.10+ が必要です。

パッケージ名について: プロジェクト名は web-mcp ですが、PyPI配布名は feed-mcp です。PyPIは web-mcp が既存の無関係な webmcp パッケージと類似しすぎているとして拒否するためです。そのため pip install feed-mcp でインストールすると、web-mcpfeed-mcp の両方のコマンドがインストールされます。どちらも同じプログラムなので、お好みの方を使ってください。

オプションA — Claude Codeプラグイン(推奨)

MCPサーバーと同梱のスキル・エージェントを一度にインストールします:

pip install feed-mcp

次に、Claude Code内で:

/plugin marketplace add ManiaSacha/web-mcp
/plugin install web-mcp@maniasacha-web-mcp

このプラグインは web MCPサーバーを自動的に登録し、初期フィードリストの入力を求めます。インストール概要に Run /reload-plugins to activate. と表示された場合は、それを実行してください。

pip install の手順は必須です。プラグインのMCPサーバーは web-mcp コマンドを呼び出しますが、これはpipがPATHに追加します。

オプションB — MCPサーバーのみ

pip install feed-mcp
claude mcp add web -- web-mcp --feeds https://hnrss.org/frontpage

Claude Desktop の場合は、claude_desktop_config.json に以下を追加します:

{
  "mcpServers": {
    "web": {
      "command": "web-mcp",
      "args": ["--feeds", "https://hnrss.org/frontpage,https://github.blog/feed/"]
    }
  }
}

オプションC — ソースから

git clone https://github.com/ManiaSacha/web-mcp.git
cd web-mcp
./install.sh          # Windows: .\install.ps1

インストールスクリプトはPythonのバージョンを確認し、パッケージをインストールして、お使いの環境に合わせた次のコマンドを表示します。

クイックスタート

サーバーを直接実行して動作を確認します:

web-mcp --feeds https://hnrss.org/frontpage,https://github.blog/feed/

stdioでMCPを話すため、クライアントを待って静かに待機します。これは正常な動作であり、ハングアップではありません。Ctrl+Cで終了します。

接続後、エージェントに次のようなことを依頼できます:

  • 「今日、私のフィードで何がトレンドですか?」

  • 「Postgresのパフォーマンスに関する記事をフィードから検索して。」

  • 「過去24時間のダイジェストを出して。」

  • 「壊れているフィードはありますか?」

同梱内容

コンポーネント

名前

目的

MCPサーバー

web

以下の9つのツール

スキル

feed-curation

フィードの追加・監査・整理

スキル

feed-digest

生のツール出力を要約ブリーフに変換

エージェント

pm

単一ファイルの哲学に照らして機能をスコープ

エージェント

security-reviewer

SSRF/フェッチ面の監査

エージェント

git-pipeline

ブランチ作成、コミット、レビュー引き継ぎ

ツール

ツール

説明

add_feed(url)

RSS/Atomフィードを追加し、現在の記事をインデックス化

remove_feed(url)

フィードとそのインデックス化された記事を削除

list_feeds()

設定済みフィードを記事数付きで一覧表示

search(query, limit=10, max_days=30)

新しさブースト付きランキング検索

recent(limit=20)

全フィードの最新記事

trending(hours=24, limit=10)

直近N時間のトレンド用語

digest(hours=24, limit=8)

フィードごとにグループ化したMarkdownダイジェスト

source_health()

健全・遅延・エラーのフィードを判定

refresh()

全フィードを即時強制更新

セキュリティに関する注意

add_feed(url) は、あなたではなくWebページからエージェントに届いた可能性のあるURLをサーバーにフェッチさせます。そのため、このパスは信頼できないものとして扱われます:

  • スキームの許可リストhttp://https:// のみ。file://ftp://gopher://data: は拒否されます。

  • パブリックアドレスのみ — URLが解決するすべてのアドレスがパブリックにルーティング可能でない限り、そのURLは拒否されます。ループバック、プライベート、リンクローカル(169.254.169.254 クラウドメタデータエンドポイントを含む)、マルチキャスト、予約済みアドレスは、IPv4マップIPv6形式も含めてブロックされます。

  • 接続時のIP固定 — 検証されたアドレスが実際にダイヤルされるため、チェックと接続の間にDNSが異なる応答を返すことはできません(リバインディング)。TLSは引き続きホスト名に対して証明書を検証します。

  • ホップごとのリダイレクト検証 — リダイレクトは手動で追跡され、各ホップで再検証されるため、パブリックURLが内部ホストにフェッチをバウンスさせることはできません。最大5ホップに制限されます。

  • リソース制限 — フィード本文は5MBまで、明示的なソケットタイムアウト、およびすべてのツールの limit に対するクランプ。

このサーバーが行わないことが2つあります: 認証はありません(stdio上でローカル実行することを想定しているため、ネットワークに公開しないでください)、またフィードのコンテンツを検証しません。インデックス化された記事テキストはフィードを管理する者が書くものなので、それをデータとして扱い、決して指示として扱わないでください。

残る制限を含む詳細は docs/SECURITY-MODEL.md にあります。脆弱性の報告については SECURITY.md を参照してください。

開発

pip install -e ".[dev]"
pytest              # 53 tests, no network access
ruff check .        # lint
python scripts/validate_plugin.py   # manifests, frontmatter, version sync

CIはPython 3.10〜3.13(Linux、および3.12ではmacOSとWindows)で3つすべてを実行し、さらにビルドしたホイールをインストールしてコンソールスクリプトが動作することを確認します。

ワークフローについては CONTRIBUTING.md を、リリース履歴については CHANGELOG.md を参照してください。

ライセンス

MIT

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

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/ManiaSacha/web-mcp'

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