Skip to main content

MCP server & CLI that gives AI agents the ability to install GitHub open-source projects — zero dependencies

Project description

gitinstall

MCP server that gives AI agents the ability to install GitHub open-source projects
让 AI Agent 拥有安装 GitHub 开源项目的能力

MIT License PyPI MCP Protocol Zero Dependencies Platforms

Zero external dependencies · Pure Python stdlib · Works without any LLM


The Problem

AI agents can write code, explain errors, and suggest commands — but they can't actually install software on your machine. When you say "help me set up ComfyUI", the AI gives you a wall of commands and hopes for the best.

gitinstall bridges this gap. It's an MCP server that gives any AI agent (Claude, Cursor, Copilot, etc.) the ability to:

  1. Detect your system (OS, GPU, runtimes, package managers)
  2. Plan the installation with intelligent multi-strategy planning
  3. Execute safely with dangerous command blocking
  4. Auto-fix errors (PEP 668, CUDA mismatch, missing tools, and more)
  5. Retry with fallback strategies if the first approach fails

Quick Start

For Claude Desktop

pip install gitinstall

Add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "gitinstall": {
      "command": "gitinstall-mcp"
    }
  }
}

Restart Claude Desktop. Now you can say:

"Help me install ComfyUI on this machine"

Claude will call gitinstall's tools to detect your system, generate a plan, and execute it — with real-time progress updates and automatic error recovery.

For Cursor

Add to Cursor's MCP settings:

{
  "mcpServers": {
    "gitinstall": {
      "command": "gitinstall-mcp"
    }
  }
}

For VS Code (Copilot)

Add to your VS Code settings.json:

{
  "mcp": {
    "servers": {
      "gitinstall": {
        "command": "gitinstall-mcp"
      }
    }
  }
}

For any MCP client

gitinstall-mcp    # Starts MCP server on stdio (JSON-RPC 2.0)

MCP Tools

gitinstall exposes 6 tools via MCP:

Tool What it does
install_github_project End-to-end installation: detect → plan → execute → auto-fix → fallback retry
diagnose_install_error Diagnose any build/install error and return fix commands
detect_environment Report OS, CPU, GPU, runtimes, package managers, disk space
get_project_info Fetch GitHub project metadata without installing
check_system_health Full system diagnostic with fix suggestions
audit_dependencies Scan project dependencies for known CVEs

Example: install_github_project

The AI calls:

{
  "name": "install_github_project",
  "arguments": {
    "project": "comfyanonymous/ComfyUI"
  }
}

gitinstall handles everything:

  • Detects macOS Apple Silicon M3 + Python 3.12 + brew
  • Generates 3-step plan (clone → install PyTorch MPS → install deps)
  • Executes each step with safety checks
  • If pip install fails with PEP 668, auto-fixes with python -m venv
  • Returns success status + launch command

Example: diagnose_install_error

Pass any build error to the AI, and gitinstall will identify the root cause and return fix commands automatically. Supports PEP 668, CUDA version mismatches, missing system libraries, and many more common patterns.


What makes it different

No LLM required

The core engine is a rule-based system, not an AI wrapper:

  • Extensive library of known projects with hand-crafted installation recipes
  • Wide language coverage with intelligent type detection
  • Comprehensive error-fix rules covering real-world installation failures
  • LLM is optional — only used when the rule engine isn't confident

Zero dependencies

$ pip show gitinstall | grep Requires
Requires:

Pure Python standard library. No requests, no click, no rich. One pip install and it works. No dependency conflicts, ever.

Safety built-in

  • Dangerous command patterns blocked (including encoding bypass attempts)
  • SSRF protection on URL fetching
  • No auto-sudo — prompts explicitly when root needed
  • Smart failure detection — stops retrying when the error is unfixable

Also works as a CLI

gitinstall works standalone too, no AI agent needed:

gitinstall comfyanonymous/ComfyUI     # Install a project
gitinstall detect                      # Check your system
gitinstall doctor                      # System diagnostic
gitinstall audit pytorch/pytorch       # Security audit
gitinstall plan neovim/neovim          # Preview install plan

Supported Languages & Platforms

Languages: Python, Node.js, TypeScript, Rust, Go, C, C++, Java, Kotlin, Scala, Swift, Ruby, PHP, Haskell, Zig, Elixir, Erlang, and many more

Platforms: macOS (Intel + Apple Silicon), Ubuntu/Debian, Fedora/RHEL, Arch Linux, Windows 10/11, WSL2

GPU: NVIDIA CUDA, AMD ROCm, Apple MPS, CPU fallback


How It Works

User → AI Agent → MCP → gitinstall
                         ├── detect   → OS / GPU / runtimes / package managers
                         ├── plan     → intelligent multi-strategy planner
                         ├── execute  → safe subprocess execution
                         ├── fix      → error pattern matching → auto-retry
                         └── fallback → alternative install strategies

The planner uses a multi-tier strategy that combines project-specific knowledge, language-aware templates, and README analysis to generate optimal installation plans for a wide range of projects.


Development

git clone https://github.com/icerui/github-installer.git
cd github-installer

# Run tests
python -m pytest tests/unit/ -q

# Run locally
python tools/mcp_server.py  # MCP server on stdio
python tools/main.py detect # CLI mode

License

MIT © icerui

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitinstall-1.1.2.tar.gz (311.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitinstall-1.1.2-py3-none-any.whl (343.1 kB view details)

Uploaded Python 3

File details

Details for the file gitinstall-1.1.2.tar.gz.

File metadata

  • Download URL: gitinstall-1.1.2.tar.gz
  • Upload date:
  • Size: 311.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gitinstall-1.1.2.tar.gz
Algorithm Hash digest
SHA256 6de94ab6decff8477ae64af66f010d437c50bf4f79965505e63d76343a22e3aa
MD5 c2a91206133aa45f84b65a2ddce5975c
BLAKE2b-256 91ad1deecf9e76d8227b94cf8ce82af11b27c8c4010e002db6c2ebaa8112d579

See more details on using hashes here.

File details

Details for the file gitinstall-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: gitinstall-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 343.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gitinstall-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 526c1269cfa66d30c0ab5eec325715f7ce86ae5210dee82ae80f97b814b41b40
MD5 e8000832da1a91f712422f841f69e83a
BLAKE2b-256 093e218fa264da2a91f1600c91a22cafeba5a8000b28fb5ddf80dd02b83ea077

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page