Skip to main content
Glama

MCP News Collector

by whdghk1907

πŸ“° MCP News Collector

ν•œκ΅­ μ£Όμ‹μ‹œμž₯ λ‰΄μŠ€ μ‹€μ‹œκ°„ μˆ˜μ§‘ 및 뢄석을 μœ„ν•œ MCP μ„œλ²„

Python FastAPI License Tests

🎯 ν”„λ‘œμ νŠΈ κ°œμš”

MCP News CollectorλŠ” ν•œκ΅­ μ£Όμ‹μ‹œμž₯ κ΄€λ ¨ λ‰΄μŠ€λ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ μˆ˜μ§‘, λΆ„μ„ν•˜μ—¬ 투자 μΈμ‚¬μ΄νŠΈλ₯Ό μ œκ³΅ν•˜λŠ” MCP(Model Context Protocol) μ„œλ²„μž…λ‹ˆλ‹€.

✨ μ£Όμš” κΈ°λŠ₯

  • πŸ”„ μ‹€μ‹œκ°„ λ‰΄μŠ€ μˆ˜μ§‘: 넀이버, λ‹€μŒ, RSS ν”Όλ“œ λ“± λ‹€μ–‘ν•œ μ†ŒμŠ€

  • 🧠 AI 기반 뢄석: 감정 뢄석, μ‹œμž₯ 영ν–₯도 예츑, 루머 탐지

  • πŸ“Š μ‹€μ‹œκ°„ λͺ¨λ‹ˆν„°λ§: WebSocket 기반 μ‹€μ‹œκ°„ 데이터 슀트리밍

  • 🌐 REST API: FastAPI 기반 RESTful μ—”λ“œν¬μΈνŠΈ

  • πŸ”§ MCP 톡합: Claude λ“± AI μ–΄μ‹œμŠ€ν„΄νŠΈμ™€ μ›ν™œν•œ 연동

πŸ—οΈ μ•„ν‚€ν…μ²˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Data Sources β”‚ β”‚ MCP Server β”‚ β”‚ AI Assistant β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β€’ 넀이버 λ‰΄μŠ€ │────▢│ β€’ μˆ˜μ§‘ μ—”μ§„ │◀───│ β€’ Claude β”‚ β”‚ β€’ λ‹€μŒ λ‰΄μŠ€ β”‚ β”‚ β€’ 뢄석 μ—”μ§„ β”‚ β”‚ β€’ ChatGPT β”‚ β”‚ β€’ RSS ν”Όλ“œ β”‚ β”‚ β€’ REST API β”‚ β”‚ β€’ 기타 β”‚ β”‚ β€’ λΉ…μΉ΄μΈμ¦ˆ β”‚ β”‚ β€’ WebSocket β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ λΉ λ₯Έ μ‹œμž‘

사전 μš”κ΅¬μ‚¬ν•­

  • Python 3.11+

  • PostgreSQL 13+

  • Redis 6+

μ„€μΉ˜

# 1. μ €μž₯μ†Œ 클둠 git clone https://github.com/YOUR_USERNAME/mcp-news-collector.git cd mcp-news-collector # 2. κ°€μƒν™˜κ²½ 생성 및 ν™œμ„±ν™” python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 3. μ˜μ‘΄μ„± μ„€μΉ˜ pip install -e . # 4. ν™˜κ²½λ³€μˆ˜ μ„€μ • cp .env.example .env # .env νŒŒμΌμ„ νŽΈμ§‘ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€ 및 API μ„€μ • # 5. λ°μ΄ν„°λ² μ΄μŠ€ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ alembic upgrade head # 6. μ„œλ²„ μ‹€ν–‰ python -m src.server.main

MCP ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²°

from mcp import Client # MCP μ„œλ²„ μ—°κ²° client = Client("stdio", ["python", "-m", "src.server.main"]) # λ‰΄μŠ€ μˆ˜μ§‘ result = await client.call_tool("get_recent_news", { "keyword": "μ‚Όμ„±μ „μž", "limit": 10 })

πŸ“– API λ¬Έμ„œ

MCP Tools

Tool

μ„€λͺ…

νŒŒλΌλ―Έν„°

get_recent_news

졜근 λ‰΄μŠ€ 쑰회

keyword, source, limit, hours

analyze_news_sentiment

λ‰΄μŠ€ 감정 뢄석

news_id, text, detail_level

analyze_news_impact

μ‹œμž₯ 영ν–₯도 뢄석

news_id, company, timeframe

detect_market_rumors

루머 탐지

news_id, threshold

monitor_news_stream

μ‹€μ‹œκ°„ λ‰΄μŠ€ λͺ¨λ‹ˆν„°λ§

topics, filters

REST API

API λ¬Έμ„œλŠ” μ„œλ²„ μ‹€ν–‰ ν›„ λ‹€μŒ URLμ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€:

  • Swagger UI: http://localhost:8000/api/docs

  • ReDoc: http://localhost:8000/api/redoc

μ£Όμš” μ—”λ“œν¬μΈνŠΈ

# λ‰΄μŠ€ 쑰회 GET /api/v1/news?query=μ‚Όμ„±μ „μž&limit=10 # 감정 뢄석 POST /api/v1/analysis/sentiment { "news_ids": ["news_1", "news_2"], "options": {"include_confidence": true} } # μ‹€μ‹œκ°„ λͺ¨λ‹ˆν„°λ§ μƒνƒœ GET /api/v1/monitoring/status

πŸ§ͺ ν…ŒμŠ€νŠΈ

# 전체 ν…ŒμŠ€νŠΈ μ‹€ν–‰ pytest # νŠΉμ • λͺ¨λ“ˆ ν…ŒμŠ€νŠΈ pytest tests/unit/test_sentiment_analyzer.py # 컀버리지 확인 pytest --cov=src --cov-report=html

ν…ŒμŠ€νŠΈ ν˜„ν™©

  • 전체 ν…ŒμŠ€νŠΈ: 169개 톡과

  • 컀버리지:

    • 감정 뢄석기: 92%

    • μ‹œμž₯ 영ν–₯ 뢄석기: 85%

    • μ‹€μ‹œκ°„ λͺ¨λ‹ˆν„°λ§: 76%

    • 루머 탐지: 89%

    • λ‰΄μŠ€ μš”μ•½: 90%

πŸ“Š 개발 ν˜„ν™©

Phase 별 μ§„ν–‰ 상황

  • βœ… Phase 1: 기초 인프라 ꡬ좕 (μ™„λ£Œ)

  • βœ… Phase 2: 핡심 μˆ˜μ§‘ μ‹œμŠ€ν…œ (μ™„λ£Œ)

  • βœ… Phase 3: 뢄석 μ—”μ§„ κ΅¬ν˜„ (μ™„λ£Œ)

  • πŸ”„ Phase 4: API 및 톡합 μ‹œμŠ€ν…œ (75% μ™„λ£Œ)

  • ⏳ Phase 5: μ΅œμ ν™” 및 배포 (μ˜ˆμ •)

μžμ„Έν•œ 개발 κ³„νšμ€ detailed-development-plan.mdλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

πŸ—οΈ ν”„λ‘œμ νŠΈ ꡬ쑰

mcp-news-collector/ β”œβ”€β”€ src/ # 메인 μ†ŒμŠ€ μ½”λ“œ β”‚ β”œβ”€β”€ analysis/ # 뢄석 μ—”μ§„ (감정, 영ν–₯도, 루머 탐지 λ“±) β”‚ β”œβ”€β”€ collectors/ # λ‰΄μŠ€ μˆ˜μ§‘κΈ° (넀이버, λ‹€μŒ, RSS) β”‚ β”œβ”€β”€ monitoring/ # μ‹€μ‹œκ°„ λͺ¨λ‹ˆν„°λ§ μ‹œμŠ€ν…œ β”‚ β”œβ”€β”€ server/ # MCP μ„œλ²„ 및 REST API β”‚ └── utils/ # 곡톡 μœ ν‹Έλ¦¬ν‹° β”œβ”€β”€ tests/ # ν…ŒμŠ€νŠΈ μ½”λ“œ β”‚ β”œβ”€β”€ unit/ # λ‹¨μœ„ ν…ŒμŠ€νŠΈ β”‚ └── integration/ # 톡합 ν…ŒμŠ€νŠΈ β”œβ”€β”€ docs/ # λ¬Έμ„œ β”œβ”€β”€ configs/ # μ„€μ • 파일 └── scripts/ # μœ ν‹Έλ¦¬ν‹° 슀크립트

πŸ”§ 개발 도ꡬ

μ½”λ“œ ν’ˆμ§ˆ

# μ½”λ“œ ν¬λ§·νŒ… black src/ tests/ # νƒ€μž… 체킹 mypy src/ # λ¦°νŒ… pylint src/ # λ³΄μ•ˆ μŠ€μΊ” bandit -r src/

TDD 개발 ν”„λ‘œμ„ΈμŠ€

이 ν”„λ‘œμ νŠΈλŠ” μ—„κ²©ν•œ TDD(Test-Driven Development) 방법둠을 λ”°λ¦…λ‹ˆλ‹€:

  1. Red: μ‹€νŒ¨ν•˜λŠ” ν…ŒμŠ€νŠΈ μž‘μ„±

  2. Green: ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όμ‹œν‚€λŠ” μ΅œμ†Œν•œμ˜ μ½”λ“œ μž‘μ„±

  3. Refactor: μ½”λ“œ κ°œμ„  및 μ΅œμ ν™”

🀝 κΈ°μ—¬ν•˜κΈ°

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

개발 κ°€μ΄λ“œλΌμΈ

  • λͺ¨λ“  μƒˆλ‘œμš΄ κΈ°λŠ₯은 ν…ŒμŠ€νŠΈμ™€ ν•¨κ»˜ 개발

  • μ½”λ“œ 컀버리지 80% 이상 μœ μ§€

  • νƒ€μž… 힌트 μ‚¬μš© ν•„μˆ˜

  • λ¬Έμ„œν™” μ² μ €νžˆ

πŸ“„ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

πŸ“ž 문의

πŸ™ κ°μ‚¬μ˜ 말


⭐ 이 ν”„λ‘œμ νŠΈκ°€ 도움이 λ˜μ…¨λ‹€λ©΄ Starλ₯Ό λˆŒλŸ¬μ£Όμ„Έμš”!

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server for interacting with Korea Investment & Securities (KIS) REST API, enabling domestic and foreign stock trading, price checks, and account management.
    Last updated -
    10
    8
    MIT License
    • Apple
  • -
    security
    F
    license
    -
    quality
    A custom Model Context Protocol server that provides real-time financial analysis tools including stock monitoring, portfolio management, market summaries, and automated price alerts with Telegram notifications.
    Last updated -
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server providing comprehensive Korean stock market analysis, including financial data, valuation metrics, ESG information, and investment insights.
    Last updated -
    MIT License
  • -
    security
    F
    license
    -
    quality
    Provides comprehensive statistics and advanced analysis tools for the Korean stock market, offering real-time index data, sector analysis, investor trend tracking, and AI-based market pattern recognition.
    Last updated -
    • Linux
    • Apple

View all related MCP servers

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/whdghk1907/mcp-news-collector'

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