generate_daily_summary
Generate a daily summary of AI research activity by aggregating papers, GitHub repositories, and Hugging Face models to track research progress.
Instructions
Generate a comprehensive daily summary of AI research activity
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| include_papers | No | Include papers section | |
| include_repos | No | Include GitHub repos section | |
| include_models | No | Include Hugging Face models section |
Implementation Reference
- src/ai_research_mcp/server.py:508-534 (handler)Core handler function that implements the generate_daily_summary tool logic by fetching data from arXiv, HuggingFace, GitHub and formatting a markdown daily summary.async def _generate_daily_summary( self, include_papers: bool = True, include_repos: bool = True, include_models: bool = True, ) -> str: """Generate daily summary.""" sections = [] sections.append(f"# AI Research Daily Summary\n*Generated: {datetime.now().strftime('%Y-%m-%d %H:%M')}*\n") if include_papers: # Get papers from multiple sources hf_papers = await asyncio.to_thread(self.huggingface.get_daily_papers, days=1) arxiv_papers = await asyncio.to_thread(self.arxiv.get_latest_papers, days=1, max_results=20) all_papers = hf_papers + arxiv_papers sections.append(f"## 📄 Today's Featured Papers ({len(all_papers)})\n\n{self._format_papers(all_papers[:15])}") if include_repos: repos = await asyncio.to_thread(self.github.get_trending_repositories, period="daily") sections.append(f"## 🔥 Trending Repositories ({len(repos)})\n\n{self._format_repos(repos[:10])}") if include_models: models = await asyncio.to_thread(self.huggingface.get_llm_models, limit=15) sections.append(f"## 🤖 Popular Models ({len(models)})\n\n{self._format_models(models[:10])}") return "\n\n".join(sections)
- src/ai_research_mcp/server.py:212-235 (registration)Tool registration in list_tools() handler, including name, description, and input schema.Tool( name="generate_daily_summary", description="Generate a comprehensive daily summary of AI research activity", inputSchema={ "type": "object", "properties": { "include_papers": { "type": "boolean", "description": "Include papers section", "default": True, }, "include_repos": { "type": "boolean", "description": "Include GitHub repos section", "default": True, }, "include_models": { "type": "boolean", "description": "Include Hugging Face models section", "default": True, }, }, }, ),
- Input schema definition for the generate_daily_summary tool, specifying optional boolean flags for sections.inputSchema={ "type": "object", "properties": { "include_papers": { "type": "boolean", "description": "Include papers section", "default": True, }, "include_repos": { "type": "boolean", "description": "Include GitHub repos section", "default": True, }, "include_models": { "type": "boolean", "description": "Include Hugging Face models section", "default": True, }, }, },
- src/ai_research_mcp/server.py:278-279 (registration)Dispatch logic in call_tool() handler that routes calls to the _generate_daily_summary method.elif name == "generate_daily_summary": result = await self._generate_daily_summary(**arguments)