Setup Agent MCP

Setup Agent MCP

Enables AI assistants to automatically analyze GitHub repositories and set up development environments by detecting tech stacks, installing dependencies, and verifying project builds. Provides safe tools for repository cloning, file system operations, package installation, and build verification through an allowlisted command system.

Category
Visit Server

README

Setup Agent - Dev Environment Setup

Give me a repo link—I’ll set up the environment.

SetupAgent MCP screen

SetupAgent analyzes a GitHub repository, generates a reproducible setup plan, optionally installs system/tooling dependencies, and verifies the project can build or start.
It works standalone from the CLI and can also be driven by an AI assistant via MCP.


Table of Contents


What It Solves

  • Unknown or mismatched toolchains (JDK/Maven/Gradle, Python/pip, Node/npm/yarn/pnpm)
  • Version drift and missing system packages
  • Manual IDE tweaks (e.g., Lombok / annotation processing)
  • Container vs. local environment confusion

Key Features

  • Auto-detection: Java, Python, Node.js; build tools; container files (Dockerfile, docker-compose.yml, .devcontainer/)
  • Reproducible plan: Emits plan.yaml (machine) + SetupPlan.md (human)
  • Dry-run by default: Preview exactly what would run; real execution only with --assume-yes
  • Safe execution: Strict command allowlist, timeouts, and output truncation
  • Verification: Runs language-appropriate tests/build (./mvnw test, pytest, npm test)
  • Reports: Summarizes results and next steps in SetupReport.md
  • MCP integration: Exposes safe tools so an AI can orchestrate setup

Supported Stacks & OS

Languages / Build

  • Java (Maven/Gradle; Lombok guidance)
  • Python (pip/uv)
  • Node.js (npm/yarn/pnpm)

Operating Systems

  • Ubuntu/Debian (apt) — fully supported for execution
  • macOS (Homebrew) and Windows (winget/choco) — interfaces stubbed and ready to extend

Containers

  • If container files are present, a container plan is suggested alongside a local plan

Requirements

  • Python 3.10+
  • Git
  • Ubuntu/Debian for real execution (apt). macOS/Windows execution paths can be added later.

Install

git clone https://github.com/yourusername/setup_agent.git
cd setup_agent
python3 -m venv .venv
source .venv/bin/activate
pip install -r setup_agent/requirements.txt

Tip: It is safe to start in dry-run mode. No system changes are made unless you pass --assume-yes.


Quick Start (CLI)

# Show help
python -m setup_agent.cli --help
python -m setup_agent.cli setup --help

# Preview (dry-run): plan + report, no system changes
python -m setup_agent.cli setup https://github.com/spring-projects/spring-petclinic --dry-run

# More examples (preview)
python -m setup_agent.cli setup https://github.com/pallets/flask --dry-run
python -m setup_agent.cli setup https://github.com/vercel/next.js --dry-run

# Execute on Ubuntu/WSL (installs apt packages, builds, verifies)
sudo -v  # warm up sudo to avoid prompts
python -m setup_agent.cli setup https://github.com/spring-projects/spring-petclinic --assume-yes

Artifacts

  • plan.yaml — machine-readable plan
  • SetupPlan.md — human-readable steps (auto vs. manual)
  • SetupReport.md — execution & verification summary
  • logs/setup-*.log — detailed logs

MCP Integration (Optional)

Expose SetupAgent’s safe local tools to an AI assistant.

Start the local MCP server

# Run the stdio MCP server
python -m setup_agent.mcp_server

Register with Claude Desktop (user scope)

# From a terminal on the same machine as Claude Desktop
claude mcp add --scope user setup-agent python -m setup_agent.mcp_server

Check status in Claude chat with /mcp.

Exposed tools

  • git.clone
  • fs.find / fs.read
  • shell.run (allowlisted commands only)
  • pkg.install (apt; others stubbed)
  • ide.todo
  • artifacts.save

Prefer HTTP instead of stdio? Adapt the server entry point and register the HTTP endpoint with your client.


How It Works

  1. Scan — Clone and inspect the repository for language/build/container signals
  2. Infer — Determine required tools/versions (e.g., openjdk-17-jdk, pip/uv, npm/yarn/pnpm)
  3. Plan — Emit plan.yaml and SetupPlan.md (container and local paths when available)
  4. Execute — Run allowlisted commands only. Default is dry-run; real execution with --assume-yes
  5. Verify — Run project tests/build targets
  6. Report — Summarize actions, results, and remediation tips

Security Model

  • Default dry-run — no changes without --assume-yes
  • Allowlist — only safe prefixes are executed:
    git, mvn/./mvnw, gradle/./gradlew, npm/yarn/pnpm, python/pip/uv, apt/sudo apt, docker/docker compose, dotnet
  • Timeouts & truncation — prevents runaway processes and oversized logs
  • Least privilegesudo only when installing system packages

Roadmap

  • macOS (brew) and Windows (winget/choco) execution paths
  • Additional stacks: Go, Rust, .NET
  • Container health checks and port probes
  • IDE automation helpers (IntelliJ / VS Code)

FAQ

Do I have to use MCP/AI?
No. The CLI works independently. MCP simply lets an AI drive the same safe tools.

Will it modify my system?
Not unless you pass --assume-yes. Dry-run reads and plans only.

Can I use this for production?
This project targets developer environments. For production, prefer containerized or IaC approaches.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured