web-mcp
web-mcp
AI 에이전트를 위한 RSS/Atom 피드 의미 검색 — 단일 파일 MCP 서버입니다. API 키도, 클라우드도 필요 없고, 직접 선택한 피드만 있으면 됩니다.
RSS/Atom 피드 몇 개를 지정하면 에이전트가 의미 기반 검색(TF-IDF + 최신성 가중치), 트렌드 확인, 다이제스트 생성, 피드 상태 모니터링에 쓸 도구를 갖게 됩니다. 모든 것은 직접 제어하는 피드를 대상으로 로컬에서 실행됩니다.

기능
피드 추가/제거/목록 — RSS 2.0 및 Atom
순위 검색 — 최신성 가중치를 적용한 TF-IDF 코사인 유사도, 순수 표준 라이브러리만 사용(임베딩 없음, 피드 자체를 가져오는 것 외에는 네트워크 호출 없음)
트렌드 토픽 — 최근 기사에서 가장 빈번하게 등장하는 용어
소스 상태 — 오류가 발생했거나, 응답이 없거나, 오래된 피드 표시
Markdown 다이제스트 — 피드별로 그룹화된 최근 기사 요약
백그라운드 새로고침 — 타이머에 따라 피드를 자동으로 갱신
설치
Python 3.10+ 버전이 필요합니다.
패키지 이름에 대하여: 프로젝트는
web-mcp이지만 PyPI 배포판은 **feed-mcp**입니다. PyPI가web-mcp를 무관한 기존webmcp패키지와 너무 유사하다고 거부하기 때문입니다. 따라서pip install feed-mcp로 설치하면web-mcp와feed-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 서버는 pip이 PATH에 추가하는web-mcp명령을 호출합니다.
옵션 B — MCP 서버만
pip install feed-mcp
claude mcp add web -- web-mcp --feeds https://hnrss.org/frontpageClaude 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 서버 |
| 아래 9가지 도구 |
스킬 |
| 피드 추가, 감사, 정리 |
스킬 |
| 원시 도구 출력을 종합 브리핑으로 변환 |
에이전트 |
| 단일 파일 철학에 맞춰 기능 범위 조정 |
에이전트 |
| SSRF/가져오기 표면 감사 |
에이전트 |
| 브랜치 생성, 커밋, 리뷰 인계 |
도구
도구 | 설명 |
| RSS/Atom 피드를 추가하고 현재 기사를 인덱싱 |
| 피드와 인덱싱된 기사 제거 |
| 기사 수와 함께 구성된 피드 목록 표시 |
| 최신성 가중치가 적용된 순위 검색 |
| 모든 피드에서 가장 최근 기사 |
| 지난 N시간 동안의 트렌드 용어 |
| 피드별로 그룹화된 Markdown 다이제스트 |
| 어떤 피드가 정상, 지연, 오류 상태인지 |
| 모든 피드를 즉시 강제 새로고침 |
보안 참고 사항
add_feed(url)은 서버가 사용자가 아닌 웹 페이지에서 에이전트에 도달했을 수 있는 URL을 가져오게 하므로, 이 경로는 신뢰할 수 없는 것으로 처리됩니다:
스킴 허용 목록 —
http://와https://만 허용됩니다.file://,ftp://,gopher://,data:는 거부됩니다.공개 주소만 허용 — URL이 확인되는 모든 주소가 공개적으로 라우팅 가능한 경우가 아니면 거부됩니다. 루프백, 사설, 링크-로컬(
169.254.169.254클라우드 메타데이터 엔드포인트 포함), 멀티캐스트, 예약 주소와 그 IPv4-매핑 IPv6 형태도 차단됩니다.연결 시 IP 고정 — 검증된 주소가 실제로 연결되는 주소이므로 DNS가 검사와 연결 사이에 다르게 응답할 수 없습니다(리바인딩). TLS는 여전히 호스트 이름에 대해 인증서를 검증합니다.
홉별 리다이렉트 검증 — 리다이렉트를 수동으로 추적하고 모든 홉에서 다시 검증하므로 공개 URL이 가져오기를 내부 호스트로 튕길 수 없습니다. 최대 5홉으로 제한됩니다.
리소스 제한 — 피드 본문당 5MB, 명시적 소켓 타임아웃, 모든 도구의
limit에 대한 상한.
이 서버가 하지 않는 두 가지가 있습니다: 인증이 없으며(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 syncCI는 Python 3.10–3.13(Linux, 그리고 3.12에서는 macOS와 Windows)에서 세 가지를 모두 실행하며, 추가로 빌드된 휠을 설치하여 콘솔 스크립트가 동작하는지 확인합니다.
워크플로는 CONTRIBUTING.md, 릴리스 이력은 CHANGELOG.md를 참조하세요.
라이선스
MIT
This server cannot be installed
Maintenance
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
MCP server for Google search results via SERP API
Reddit & X data for AI agents over MCP. Semantic search, hosted, no Reddit API.
Live Feeds (RSS/Atom) MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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