# π§ Setup Automation Guide
**Understanding what's automated vs manual for different installation methods**
---
## π¦ **Installation Methods Comparison**
### **1. Smithery Installation (Automatic Setup)**
When users install via Smithery, **NO manual configuration needed!**
```bash
# User just runs:
npx @Ripnrip/quake-coding-arena-mcp
```
**What happens:**
- β
Smithery handles the package installation
- β
The `package.json` MCP config is automatically used
- β
Users can add to their MCP config with just:
```json
{
"mcpServers": {
"quake-coding-arena": {
"command": "npx",
"args": ["@Ripnrip/quake-coding-arena-mcp"]
}
}
}
```
- β
**No path configuration needed** - works from anywhere!
**Advantages:**
- β
Zero setup - just install and use
- β
Always up-to-date (uses latest version)
- β
Works on any system
- β
No local build required
---
### **2. GitHub Repo Download (Semi-Automatic Setup)**
When users clone/download the repo, they need to run setup scripts:
```bash
# Clone the repo
git clone https://github.com/Ripnrip/Quake-Coding-Arena-MCP.git
cd Quake-Coding-Arena-MCP
# Run setup script (automatically configures Claude Desktop)
./setup-local.sh
```
**What happens:**
- β
Script installs dependencies (`npm install`)
- β
Script builds the server (`npm run build`)
- β
Script **automatically adds to Claude Desktop config** with correct path
- β
Path is automatically calculated based on where they cloned the repo
**The setup script does:**
```bash
# Automatically finds the repo location
LOCAL_SERVER_PATH="$(pwd)/.smithery/index.cjs"
# Automatically adds to Claude Desktop config
jq ".mcpServers.\"quake-coding-arena-local\" = {
\"command\": \"node\",
\"args\": [\"$LOCAL_SERVER_PATH\"]
}" ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
**Advantages:**
- β
Automated configuration via setup script
- β
Works for local development
- β
Can customize and modify code
**Disadvantages:**
- β οΈ Requires running setup script
- β οΈ Path is specific to their machine
- β οΈ Need to rebuild if code changes
---
## π **Key Differences**
| Feature | Smithery | Repo Download |
|---------|----------|---------------|
| **Installation** | `npx @Ripnrip/quake-coding-arena-mcp` | `git clone` + `./setup-local.sh` |
| **Configuration** | Automatic (via package.json) | Automatic (via setup script) |
| **Path Setup** | Not needed (uses npx) | Auto-calculated by script |
| **Updates** | Automatic (latest version) | Manual (git pull + rebuild) |
| **Customization** | Limited | Full access to source |
---
## π **What Gets Configured Automatically**
### **For Smithery Users:**
```json
{
"mcpServers": {
"quake-coding-arena": {
"command": "npx",
"args": ["@Ripnrip/quake-coding-arena-mcp"]
}
}
}
```
- β
**No path needed** - npx handles it
- β
**Works from anywhere** - no absolute paths
- β
**Always latest** - uses registry version
### **For Repo Users (via setup script):**
```json
{
"mcpServers": {
"quake-coding-arena-local": {
"command": "node",
"args": ["/Users/username/path/to/repo/.smithery/index.cjs"]
}
}
}
```
- β
**Path auto-calculated** - script uses `$(pwd)`
- β
**Specific to their machine** - uses their repo location
- β
**Works immediately** - no npx needed
---
## π― **Recommendation for Users**
### **For End Users (Just Want to Use It):**
```bash
# Use Smithery - easiest option
# Just add to MCP config:
{
"mcpServers": {
"quake-coding-arena": {
"command": "npx",
"args": ["@Ripnrip/quake-coding-arena-mcp"]
}
}
}
```
### **For Developers (Want to Customize):**
```bash
# Clone repo and run setup
git clone https://github.com/Ripnrip/Quake-Coding-Arena-MCP.git
cd Quake-Coding-Arena-MCP
./setup-local.sh
```
---
## β
**Summary**
**Smithery Installation:**
- β
**Fully automatic** - no setup scripts needed
- β
**No path configuration** - uses npx
- β
**Works identically** for all users
**Repo Download:**
- β
**Semi-automatic** - run `./setup-local.sh`
- β
**Auto-configures** Claude Desktop with correct path
- β
**Path is calculated** based on where they cloned
**Both methods result in the same working configuration!** π
---
**Last Updated:** December 10, 2025