Skip to main content
Glama
puravparab

Gitingest-MCP

by puravparab

Gitingest-MCP

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

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

Table of Contents

Related MCP server: Codelens-MCP

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
     ```
     ```bash
    npx -y @smithery/cli@latest install @puravparab/gitingest-mcp --client windsurf --config "{}" # Windsurf
      ```
      ```bash
    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

Available Tools

3 tools
git_filesC
Get the content of specific files from a GitHub repository

Args:
	owner: The GitHub organization or username
	repo: The repository name
	file_paths: List of paths to files within the repository
	branch: Optional branch name (default: None)
ParametersJSON Schema
NameRequiredDescriptionDefault
branchNo
file_pathsYes
ownerYes
repoYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it states the tool gets file content, it doesn't describe important behavioral traits such as authentication requirements, rate limits, error handling (e.g., for non-existent files), response format, or whether it's read-only. The description is minimal and lacks critical operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence clearly states the purpose, followed by a structured Args section. There's minimal waste, though the Args formatting could be more integrated. It efficiently conveys key information without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (4 parameters, no annotations, no output schema), the description is incomplete. It lacks details on authentication, error handling, response format, and usage context relative to siblings. For a tool that interacts with external APIs and has multiple parameters, more comprehensive guidance is needed to ensure correct agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists parameters (owner, repo, file_paths, branch) with brief explanations in the Args section, adding meaning beyond the bare schema. However, it doesn't provide detailed semantics like format examples (e.g., file_paths as array of strings), constraints, or default behaviors beyond 'Optional branch name (default: None)'. This partial compensation justifies a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get the content of specific files from a GitHub repository.' This specifies the verb ('Get'), resource ('content of specific files'), and context ('from a GitHub repository'). However, it doesn't explicitly differentiate from sibling tools like git_summary or git_tree, which might provide summaries or directory structures rather than file contents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools (git_summary, git_tree) or explain scenarios where this tool is preferred over others. The only implied usage is retrieving file contents, but no explicit context or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

git_summaryC
Get a summary of a GitHub repository that includes 
	- Repo name, 
	- Files in repo
	- Number of tokens in repo
	- Summary from the README.md

Args:
	owner: The GitHub organization or username
	repo: The repository name
	branch: Optional branch name (default: None)
ParametersJSON Schema
NameRequiredDescriptionDefault
branchNo
ownerYes
repoYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it states what information will be returned, it doesn't describe important behavioral aspects: whether this requires authentication, rate limits, what happens with invalid inputs, whether it's a read-only operation, or how the token count is calculated. The description provides output content but lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise and well-structured with a clear purpose statement followed by bullet points of what's included and an Args section. The bullet points could be more efficiently formatted, but overall the description avoids unnecessary verbiage and gets to the point quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It explains what the tool returns but doesn't cover important operational aspects: authentication requirements, error handling, rate limits, or detailed parameter expectations. The lack of output schema means the description should ideally explain the return format more thoroughly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate but only partially succeeds. It explains the three parameters (owner, repo, branch) and provides some context about branch being optional with a default of None. However, it doesn't explain what format owner/repo should be in, what happens if branch doesn't exist, or provide examples. The description adds basic meaning but leaves significant gaps given the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get a summary of a GitHub repository' with specific components listed (repo name, files, token count, README summary). It uses a specific verb ('Get') and resource ('GitHub repository'), but doesn't explicitly differentiate from sibling tools git_files and git_tree, which likely provide different types of repository information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the sibling tools git_files and git_tree. It mentions the tool's function but gives no context about when this summary tool is preferable to more specialized tools for files or tree structure. There's no mention of prerequisites, limitations, or alternative scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

git_treeC
Get the tree structure of a GitHub repository

Args:
	owner: The GitHub organization or username
	repo: The repository name
	branch: Optional branch name (default: None)
ParametersJSON Schema
NameRequiredDescriptionDefault
branchNo
ownerYes
repoYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't mention permissions, rate limits, error handling, or what the tree structure output entails (e.g., format, depth). This leaves significant gaps for a tool interacting with an external API like GitHub.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with a clear purpose statement followed by parameter explanations. It avoids unnecessary fluff, though the parameter section could be more integrated into the flow rather than a separate 'Args:' block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a GitHub API tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tree structure includes (e.g., files, directories), how it's formatted, or potential errors. For a tool with 3 parameters and external dependencies, more context is needed to ensure reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining 'owner' as 'GitHub organization or username', 'repo' as 'repository name', and 'branch' as 'Optional branch name (default: None)', which clarifies semantics beyond the schema's bare titles. However, it doesn't detail constraints or examples, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('tree structure of a GitHub repository'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'git_files' or 'git_summary', which likely serve related but distinct purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'git_files' or 'git_summary'. It lacks context about what scenarios warrant retrieving a tree structure versus other repository information, leaving the agent with no usage differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv1.0.0
    • First observedgit_files
    • First observedgit_summary
    • First observedgit_tree

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: git_files retrieves specific file contents, git_summary provides a high-level repository overview with metrics, and git_tree returns the repository's file/directory structure. There is no overlap in functionality - an agent can easily distinguish between getting file contents, getting structural information, or getting a summary.

Naming Consistency5/5

All three tools follow a perfect 'git_' prefix pattern with descriptive suffixes (files, summary, tree). The naming is completely consistent in style, format, and verb usage, making the tool set immediately understandable and predictable.

Tool Count3/5

With only 3 tools, this feels somewhat thin for a GitHub ingestion server. While the tools cover basic repository inspection (files, structure, summary), there are likely additional ingestion operations that would be useful, such as commit history retrieval, branch listing, or contributor information. The count is borderline minimal for the apparent scope.

Completeness3/5

The tool set covers fundamental repository inspection operations but has notable gaps for a comprehensive ingestion system. Missing are tools for retrieving commit history, branch information, contributor data, or issue tracking. While the existing tools provide a foundation, agents will encounter dead ends when needing more complete repository metadata beyond file content and structure.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that wraps gitingest to enable Claude Code to analyze GitHub repositories, providing access to code structures, statistics, and full content. It facilitates the creation of structured study notes and supports both public and private repositories through the Model Context Protocol.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives Claude Desktop complete intelligence about any public GitHub repository. Research libraries, compare packages, audit dependencies, and explore codebases through natural conversation.
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    A minimal MCP server for GitHub that enables browsing repos, reading code, searching, and getting insights through natural language via Claude, Cursor, or any MCP client.
    7
    MIT

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/puravparab/Gitingest-MCP'

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