Skip to main content
Glama
the0807

geeknews-mcp-server

get_weekly_news

Retrieve weekly news summaries from GeekNews by specifying a weekly ID or fetching the most recent update, returning detailed information in a structured format.

Instructions

GeekNews에서 주간 뉴스를 가져오는 도구 Args: weekly_id: 주간 뉴스 ID (빈 문자열인 경우 가장 최근 주간 뉴스를 가져옴) Returns: Dict[str, Any]: 주간 뉴스 정보

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
weekly_idNo

Implementation Reference

  • src/server.py:87-103 (registration)
    Registers the 'get_weekly_news' tool using the @self.mcp.tool() decorator inside the setup method.
    def _setup_get_weekly_news_tool(self) -> None: """ get_weekly_news 도구를 설정합니다. """ @self.mcp.tool() def get_weekly_news(weekly_id: str = "") -> Dict[str, Any]: """ GeekNews에서 주간 뉴스를 가져오는 도구 Args: weekly_id: 주간 뉴스 ID (빈 문자열인 경우 가장 최근 주간 뉴스를 가져옴) Returns: Dict[str, Any]: 주간 뉴스 정보 """ return self._get_weekly_news(weekly_id)
  • Core handler logic for fetching weekly news: checks cache via cache_manager, refreshes via scheduler if needed, handles errors.
    def _get_weekly_news(self, weekly_id: str = "") -> Dict[str, Any]: """ GeekNews에서 주간 뉴스를 가져옵니다. Args: weekly_id: 주간 뉴스 ID (빈 문자열인 경우 가장 최근 주간 뉴스를 가져옴) Returns: Dict[str, Any]: 주간 뉴스 정보 """ cache_id = weekly_id if weekly_id else "latest" try: # 캐시에서 데이터 로드 시도 is_valid, cached_data = self.cache_manager.get_weekly_news_cache(cache_id) if is_valid and cached_data: logger.info(f"주간 뉴스 캐시 사용 (ID: {cache_id})") return cached_data # 캐시가 없거나 유효하지 않은 경우 데이터 갱신 logger.info(f"주간 뉴스 데이터 갱신 (ID: {cache_id})") return self.scheduler.refresh_weekly_news(weekly_id) except Exception as e: logger.error(f"주간 뉴스 가져오기 실패: {e}", exc_info=True) return { "title": "GeekNews Weekly", "number": 0, "id": weekly_id if weekly_id else "", "content": "주간 뉴스를 가져오는 중 오류가 발생했습니다.", "url": f"{self.client.base_url}/weekly" + (f"/{weekly_id}" if weekly_id else ""), "items": [] }
  • Cache manager helper to load weekly news cache data.
    def get_weekly_news_cache(self, weekly_id: str = "latest") -> Tuple[bool, Dict[str, Any]]: """ 주간 뉴스 캐시를 로드합니다. Args: weekly_id: 주간 뉴스 ID (빈 문자열인 경우 "latest" 사용) Returns: Tuple[bool, Dict[str, Any]]: (캐시 유효 여부, 주간 뉴스 정보) """ cache_key = f"weekly_{weekly_id if weekly_id else 'latest'}" return self.load_cache(cache_key)
  • Type hints and docstring defining input (weekly_id: str = "") and output (Dict[str, Any]) schema for the tool.
    def get_weekly_news(weekly_id: str = "") -> Dict[str, Any]: """ GeekNews에서 주간 뉴스를 가져오는 도구 Args: weekly_id: 주간 뉴스 ID (빈 문자열인 경우 가장 최근 주간 뉴스를 가져옴) Returns: Dict[str, Any]: 주간 뉴스 정보 """

Other Tools

Related Tools

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/the0807/GeekNews-MCP-Server'

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