Skip to main content
Glama
nanyang12138

AI Research MCP Server

by nanyang12138

generate_weekly_summary

Create a weekly summary of AI research activity by aggregating papers, GitHub repositories, and Hugging Face models to track progress across multiple sources.

Instructions

Generate a comprehensive weekly summary of AI research activity

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
include_papersNoInclude papers section
include_reposNoInclude GitHub repos section
include_modelsNoInclude Hugging Face models section

Implementation Reference

  • The core handler function implementing the generate_weekly_summary tool logic: fetches weekly papers from multiple sources, trending repos, recent models, and formats into a markdown summary.
    async def _generate_weekly_summary(
        self,
        include_papers: bool = True,
        include_repos: bool = True,
        include_models: bool = True,
    ) -> str:
        """Generate weekly summary."""
        sections = []
        sections.append(f"# AI Research Weekly Summary\n*Generated: {datetime.now().strftime('%Y-%m-%d %H:%M')}*\n")
        
        if include_papers:
            hf_papers = await asyncio.to_thread(self.huggingface.get_daily_papers, days=7)
            arxiv_papers = await asyncio.to_thread(self.arxiv.get_latest_papers, days=7, max_results=50)
            pwc_papers = await asyncio.to_thread(self.papers_with_code.get_latest_papers, days=7)
            
            all_papers = hf_papers + arxiv_papers + pwc_papers
            sections.append(f"## ๐Ÿ“„ This Week's Papers ({len(all_papers)})\n\n{self._format_papers(all_papers[:30])}")
        
        if include_repos:
            repos = await asyncio.to_thread(self.github.get_trending_repositories, period="weekly", max_results=30)
            sections.append(f"## ๐Ÿ”ฅ Trending Repositories ({len(repos)})\n\n{self._format_repos(repos[:20])}")
        
        if include_models:
            models = await asyncio.to_thread(self.huggingface.get_recent_models, days=7, limit=25)
            sections.append(f"## ๐Ÿค– New & Updated Models ({len(models)})\n\n{self._format_models(models[:15])}")
        
        return "\n\n".join(sections)
  • Tool registration in list_tools() handler, defining the tool name, description, and input schema.
    Tool(
        name="generate_weekly_summary",
        description="Generate a comprehensive weekly 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 defining optional boolean parameters for including papers, repos, and models in the summary.
        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,
                },
            },
        },
    ),
  • Dispatch logic in the main call_tool handler that invokes the weekly summary generator.
    elif name == "generate_weekly_summary":
        result = await self._generate_weekly_summary(**arguments)

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/nanyang12138/AI-Research-MCP'

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