Gitingest-MCP
The Gitingest-MCP server allows MCP clients to extract information from GitHub repositories. You can:
Get repository summaries (including repo name, files, token count, and README summary)
Access project directory structure (tree structure of the repository)
Retrieve content of specific files within repositories
Allows MCP clients to extract information about Github repositories including repository summaries, project directory structure, and file content
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gitingest-MCPshow me the directory structure of the react repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 "{}" # Claudenpx -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
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
Clone the repo
git clone https://https://github.com/puravparab/Gitingest-MCP cd Gitingest-MCPInstall dependencies
uv syncAdd 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" ] } } }If you have issues, follow this MCP server documentation
Updating the MCP client configuration
Add to Claude Desktop
Open config file in your IDE
cursor ~/Library/Application\ Support/Claude/claude_desktop_config.jsoncode ~/Library/Application\ Support/Claude/claude_desktop_config.json
Debug
Using mcp inspector
uv run mcp dev src/gitingest_mcp/server.py
Available Tools
3 toolsgit_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)
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | ||
| file_paths | Yes | ||
| owner | Yes | ||
| repo | Yes |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | ||
| owner | Yes | ||
| repo | Yes |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | ||
| owner | Yes | ||
| repo | Yes |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v1.0.0- First observed
git_files - First observed
git_summary - First observed
git_tree
TDQS
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.
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.
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.
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
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
An MCP server that gives your AI access to the source code and docs of all public github repos
A MCP server built for developers enabling Git based project management with project and personal…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceAn 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-
- AlicenseNot gradedqualityDmaintenanceAn 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.1MIT
- AlicenseDqualityDmaintenanceA lightweight MCP server for bringing GitHub repositories into context for large language models, enabling repository analysis, file access, and search without local cloning.4196Apache 2.0
- AlicenseBqualityCmaintenanceA 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.7MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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