mcp-git-ingest

  • Version Control
Python
4
A
security – no known vulnerabilities (report Issue)
F
license - not found
A
quality - confirmed to work

Helps AI read GitHub repository structure and important files. Want to quickly understand what a repo is about? Prompt it with "read https://github.com/adhikasp/mcp-git-ingest and determine how the code technically works".

  1. Tools
  2. Prompts
  3. Resources
  4. Server Configuration
  5. README.md

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
github_directory_structure Clone a GitHub repository and return its directory structure in a tree format. Args: repo_url: The URL of the GitHub repository Returns: A string representation of the repository's directory structure
github_read_important_files Clone a GitHub repository and read the contents of specified files. Args: repo_url: The URL of the GitHub repository file_paths: List of file paths to read (relative to repository root) Returns: A dictionary mapping file paths to their contents

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

README.md

MCP Git Ingest

A Model Context Protocol (MCP) server that helps read GitHub repository structure and important files.

Inspired by gitingest.

<a href="https://glama.ai/mcp/servers/un2zatig9e"><img width="380" height="200" src="https://glama.ai/mcp/servers/un2zatig9e/badge" /></a>

Configuration

{ "mcpServers": { "mcp-git-ingest": { "command": "uvx", "args": ["--from", "git+https://github.com/adhikasp/mcp-git-ingest", "mcp-git-ingest"], } } }

Usage

Using mcp-client-cli:

$ llm read https://github.com/adhikasp/mcp-git-ingest and determine how the code technically works I'll help you understand the technical details of the mcp-git-ingest repository. I'll first fetch the directory structure and then read the important files to analyze how the code works. Tool Calls: github_directory_structure Args: repo_url: https://github.com/adhikasp/mcp-git-ingest Now, I'll read the important files to understand the technical implementation: Tool Calls: github_read_important_files Args: repo_url: https://github.com/adhikasp/mcp-git-ingest file_paths: ['README.md', 'src/mcp_git_ingest/main.py', 'pyproject.toml'] Let me break down how this code technically works: 1. Purpose: The `mcp-git-ingest` is a Model Context Protocol (MCP) server designed to help read GitHub repository structures and important files. It provides two main tools: - `github_directory_structure`: Returns a tree-like representation of a repository's directory structure - `github_read_important_files`: Reads and returns the contents of specified files in a repository 2. Technical Implementation: a. Dependencies: - Uses `fastmcp` for creating an MCP server - Uses `gitpython` for Git repository operations - Requires Python 3.8+ b. Key Functions: `clone_repo(repo_url: str) -> str`: - Creates a deterministic temporary directory based on the repository URL's hash - Checks if the repository is already cloned - If not, clones the repository - Handles error cases and cleanup - Returns the path to the cloned repository `get_directory_tree(path: str, prefix: str = "") -> str`: - Recursively generates a tree-like directory structure - Skips `.git` directories - Uses Unicode box-drawing characters to create a visual tree representation - Handles sorting of entries `github_directory_structure(repo_url: str) -> str`: - Clones the repository - Generates directory tree - Cleans up the temporary repository after processing - Returns the tree structure or an error message `github_read_important_files(repo_url: str, file_paths: List[str]) -> dict[str, str]`: - Clones the repository - Reads specified files - Returns a dictionary mapping file paths to their contents - Handles file reading errors - Cleans up the temporary repository 3. Error Handling: - Uses try-except blocks to handle repository cloning, file reading errors - Ensures temporary directories are always cleaned up using `finally` blocks - Returns descriptive error messages 4. Performance Optimizations: - Uses a hash-based temporary directory naming to potentially reuse cloned repositories - Checks for existing repositories before cloning - Implements cleanup to prevent accumulation of temporary files 5. Unique Features: - Deterministic temporary directory creation - Unicode tree representation - Flexible file reading with error handling 6. Execution: - Can be run as a CLI tool via `mcp-git-ingest` - Configured through `pyproject.toml` - Depends on `fastmcp` for MCP server functionality The code is a robust, flexible tool for programmatically exploring and reading GitHub repositories, with a focus on error handling and clean implementation. Would you like me to elaborate on any specific aspect of the implementation?

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues with dependencies of the server.
  • Extract server characteristics such as tools, resources, prompts, and required parameters.

Our directory badge helps users to quickly asses that the MCP server is safe, server capabilities, and instructions for installing the server.

Copy the following code to your README.md file:

Alternative MCP servers

  • -
    security
    A
    license
    -
    quality
    Provides comprehensive tools for managing GitHub projects, milestones, tasks, and sprints. This server integrates deeply with GitHub Projects V2, offering features like automated kanban workflows, sprint planning, and custom field management.
    MIT
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.
    MIT
  • A
    security
    A
    license
    A
    quality
    MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
    MIT