Gitingest MCP

Local 2025-08-31 23:15:08 0

An MCP server for gitingest. It allows MCP clients like Claude Desktop, Cursor, Cline etc to quickly extract information about Github repositories including repository summaries, project directory structure, file contents, etc


An MCP server for gitingest. This allows MCP clients like Claude Desktop, Cline, Cursor, etc to quickly extract information about Github repositories including

  • Repository summaries
  • Project directory structure
  • File content

Gitingest-MCP MCP server

https://github.com/user-attachments/assets/c1fa596b-a70b-4d37-91d9-ea5e80284793

Table of Contents

Installation

Installing via Smithery

  • To install gitingest-mcp via Smithery:

    npx -y @smithery/cli@latest install @puravparab/gitingest-mcp --client claude --config "{}" # Claude
    npx -y @smithery/cli@latest run @puravparab/gitingest-mcp --client cursor --config "{}" # Cursor
    npx -y @smithery/cli@latest install @puravparab/gitingest-mcp --client windsurf --config "{}" # Windsurf
    npx -y @smithery/cli@latest install @puravparab/gitingest-mcp --client cline --config "{}" # Cline

Install via Github

  1. Add this to the MCP client config file

    {
        "mcpServers": {
            "gitingest-mcp": {
                "command": "<path to uv>/uvx",
                "args": [
                    "--from",
                    "git+https://github.com/puravparab/gitingest-mcp",
                    "gitingest-mcp"
                ]
            }
        }
    }

Installing Repo Manually

  1. Clone the repo

    git clone https://https://github.com/puravparab/Gitingest-MCP
    cd Gitingest-MCP

  2. Install dependencies

    uv sync

  3. Add this to the MCP client config file

    {
        "mcpServers": {
            "gitingest": {
                "command": "<path to uv>/uv",
                "args": [
                    "run",
                    "--with",
                    "mcp[cli]",
                    "--with-editable",
                    "<path to gitingest-mcp project>/gitingest_mcp",
                    "mcp",
                    "run",
                    "<path to gitingest-mcp project>/gitingest-mcp/src/gitingest_mcp/server.py"
                ]
            }
        }
    }
  4. If you have issues, follow this MCP server documentation

Updating the MCP client configuration

  1. Add to Claude Desktop

    Open config file in your IDE

    cursor ~/Library/Application Support/Claude/claude_desktop_config.json
    code ~/Library/Application Support/Claude/claude_desktop_config.json

Debug

  1. Using mcp inspector
    uv run mcp dev src/gitingest_mcp/server.py
[
  {
    "description": "ntGet a summary of a GitHub repository that includes ntt- Repo name, ntt- Files in repontt- Number of tokens in repontt- Summary from the README.mdnntArgs:nttowner: The GitHub organization or usernamenttrepo: The repository namenttbranch: Optional branch name (default: None)nt",
    "inputSchema": {
      "properties": {
        "branch": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": {
            "path": "uv.lock",
            "type": "blob"
          },
          "title": "Branch"
        },
        "owner": {
          "title": "Owner",
          "type": "string"
        },
        "repo": {
          "title": "Repo",
          "type": "string"
        }
      },
      "required": [
        "owner",
        "repo"
      ],
      "title": "git_summaryArguments",
      "type": "object"
    },
    "name": "git_summary"
  },
  {
    "description": "ntGet the tree structure of a GitHub repositorynntArgs:nttowner: The GitHub organization or usernamenttrepo: The repository namenttbranch: Optional branch name (default: None)nt",
    "inputSchema": {
      "properties": {
        "branch": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": {
            "path": "uv.lock",
            "type": "blob"
          },
          "title": "Branch"
        },
        "owner": {
          "title": "Owner",
          "type": "string"
        },
        "repo": {
          "title": "Repo",
          "type": "string"
        }
      },
      "required": [
        "owner",
        "repo"
      ],
      "title": "git_treeArguments",
      "type": "object"
    },
    "name": "git_tree"
  },
  {
    "description": "ntGet the content of specific files from a GitHub repositorynntArgs:nttowner: The GitHub organization or usernamenttrepo: The repository namenttfile_paths: List of paths to files within the repositorynttbranch: Optional branch name (default: None)nt",
    "inputSchema": {
      "properties": {
        "branch": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": {
            "path": "uv.lock",
            "type": "blob"
          },
          "title": "Branch"
        },
        "file_paths": {
          "items": {
            "type": "string"
          },
          "title": "File Paths",
          "type": "array"
        },
        "owner": {
          "title": "Owner",
          "type": "string"
        },
        "repo": {
          "title": "Repo",
          "type": "string"
        }
      },
      "required": [
        "owner",
        "repo",
        "file_paths"
      ],
      "title": "git_filesArguments",
      "type": "object"
    },
    "name": "git_files"
  }
]