Skip to main content
Glama
01Aniket

github-repository-analyzer

by 01Aniket

GitHub Repository Analyzer

一个由 LLM 驱动的 GitHub 仓库分析工具,允许用户提供 GitHub 仓库 URL,并就仓库提出自然语言问题。

该应用通过暴露为 MCP 工具的 GitHub API 获取仓库信息和源代码,然后使用本地 LLM 生成基于所检索仓库证据的答案。


功能

  • 从终端分析不同的 GitHub 仓库

  • 支持将仓库 URL 与问题分开输入

  • 使用自然语言提问

  • 提出仓库整体层面的问题

  • 提出关于函数和代码的实现问题

  • 搜索仓库源代码

  • 读取特定仓库文件或行范围

  • 获取仓库元数据

  • 获取仓库文件结构

  • 使用 MCP 将仓库操作暴露为工具

  • 使用 LangGraph 管理分析工作流

  • 通过 Ollama 使用本地 LLM

  • 让实现答案以检索到的仓库源代码为依据

  • 重试临时性 GitHub API 故障


Related MCP server: GitHub Repository Intelligence MCP Server

架构

                    User
                     |
                     v
                 main.py
                     |
                     v
                LangGraph
                 graph.py
                     |
                     v
                 MCP Client
               mcp_client.py
                     |
                     v
                 MCP Server
               mcp_server.py
                     |
                     v
             repository_tools.py
                     |
                     v
              github_client.py
                     |
                     v
              GitHub REST API
                     |
                     v
          Repository Information
          and Source Code
                     |
                     v
                    LLM
                     |
                     v
                Final Answer

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    C
    maintenance
    Exposes GitHub repository data via MCP tools, a resource, and a prompt, enabling repo summaries, issue/PR listing, keyword search, and repo health review.
    4
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP clients such as Claude Desktop, Cline, and Cursor to extract information from GitHub repositories, including repository summaries, project directory structure, and file contents. It exposes these capabilities as tools that can be invoked directly from a natural-language chat session.
    -