
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.
README
Setup Agent - Dev Environment Setup
Give me a repo link—I’ll set up the environment.
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
- Key Features
- Supported Stacks & OS
- Requirements
- Install
- Quick Start (CLI)
- Artifacts
- MCP Integration (Optional)
- How It Works
- Security Model
- Roadmap
- FAQ
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 planSetupPlan.md
— human-readable steps (auto vs. manual)SetupReport.md
— execution & verification summarylogs/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
- Scan — Clone and inspect the repository for language/build/container signals
- Infer — Determine required tools/versions (e.g.,
openjdk-17-jdk
,pip/uv
,npm/yarn/pnpm
) - Plan — Emit
plan.yaml
andSetupPlan.md
(container and local paths when available) - Execute — Run allowlisted commands only. Default is dry-run; real execution with
--assume-yes
- Verify — Run project tests/build targets
- 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 privilege —
sudo
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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.