Before you go down the rabbit hole of debugging why nothing works, let's get the basics right. This isn't just installing software—it's avoiding the specific ways Claude Desktop loves to break without telling you what the fuck went wrong.
System Requirements and Compatibility
Operating System Support:
- macOS: 11+ works, but M1/M2 Macs are less painful than Intel (Intel Macs have random permission issues)
- Windows: 10 (1903+) or 11, with PowerShell 5.1+. WSL2 users: prepare for extra PATH hell
- RAM: 8GB minimum, but you'll want 16GB+ when Claude Desktop decides to eat memory randomly
- Storage: 2GB+ for Claude Desktop, but budget more for the Node modules and Python packages you'll install trying to get MCP servers working
Reality Check: Claude Desktop with 3 active MCP servers will eat 1-2GB of RAM and randomly spike to 100% CPU for no goddamn reason. This is "normal" according to the forums, which is corporate speak for "we know it's broken but we're not fixing it." Still pisses me off when I'm trying to work and my laptop sounds like a jet engine.
Essential Development Tools
1. Node.js Runtime Environment
Node.js is required for MCP servers and the DXT packaging system. Don't use Homebrew for Node.js - I burned an entire Friday night debugging permission issues with global packages because Homebrew installs them in weird-ass locations that fuck with your PATH. Download directly from nodejs.org like a normal person.
## Download from https://nodejs.org/
## Choose LTS version - 20.x is usually safe, avoid 21.x (breaks stuff randomly)
## Verify installation
node --version # Should show v20.x.x - if you see v18.x that's fine too (but 18.2.0 specifically has issues with MCP socket connections)
npm --version # Should show 10.x.x or higher
2. Python Development Environment
Many MCP servers use Python, particularly for data processing and API integrations. Use pyenv for version management because system Python is a fucking nightmare - you'll get permission errors, version conflicts, and package installation failures that make no sense. pyenv keeps everything isolated so when you inevitably break something, it doesn't take down your entire system.
## Install Python 3.9+ (3.11 recommended)
python --version # Should show Python 3.9+
pip --version # Ensure pip is available
3. Development Text Editor
Use VS Code, Cursor, or any JetBrains IDE. They all handle TypeScript and JSON fine - pick whatever you're comfortable with.
VS Code has the best MCP development experience with built-in TypeScript support and decent debugging. Cursor works well if you want AI assistance while coding. JetBrains IDEs are solid for larger projects but might be overkill for simple MCP servers.
Claude Desktop Installation and Initial Configuration
Download and Install:
- Visit claude.ai/download and download the appropriate version
- Install using standard OS procedures (drag to Applications on macOS, run installer on Windows)
- Launch and sign in with your Anthropic account
- Verify the installation by asking Claude a simple question
Pro Subscription Requirement:
You need Claude Pro ($20/month) for MCP features. The free tier gives you basically nothing useful for development. Yes, it sucks paying for yet another subscription in this hellscape economy, but MCP servers are completely disabled on free accounts. I discovered this delightful fact after spending 4 hours setting up three servers that mysteriously wouldn't connect. Thanks for wasting my Sunday, Anthropic.
Initial Security Configuration:
Go to Settings → Privacy (good luck finding it in the UI) and check:
- Data retention: Set to "Don't save" for sensitive development work
- Conversation history: Turn this off if you're dealing with proprietary code
- Third-party integrations: Start disabled, enable one by one so you know what breaks when something breaks
Development Directory Structure
Create a dedicated workspace for Claude Desktop development (trust me, you'll need organization when things go wrong):
~/claude-development/
├── mcp-servers/ # Your custom MCP server disasters
├── desktop-extensions/ # .dxt files that may or may not install
├── config-backups/ # Because you will fuck up the JSON config
├── test-environments/ # Where you debug the inexplicable failures
└── scripts/ # Automation that works until it doesn't
This structure saves your sanity when you're debugging why your MCP server worked yesterday but fails today with the same exact configuration.
Network and Security Considerations
Firewall Configuration:
Claude Desktop communicates with local MCP servers via localhost connections. Ensure your firewall allows:
- Outbound HTTPS (443) to Anthropic's servers
- Local connections on ports used by your MCP servers
- Specific port ranges if using HTTP-based MCP transport (rare but possible)
Development vs. Production Security:
For development environments, you can accept slightly relaxed security for convenience. However, establish these practices early:
- Never commit API keys to version control
- Use environment variables for sensitive configuration
- Implement proper secret management even in development
- Regularly audit MCP server permissions and capabilities
Corporate Environment Hell:
If you're trapped in enterprise purgatory, IT will cockblock you on:
- Software installation (Claude Desktop gets flagged as "unapproved software")
- Firewall settings (MCP servers won't connect because localhost is apparently dangerous)
- Data policies (Claude Pro needs 47 forms and 3 approvals from people who don't understand what AI is)
- API integrations (prepare for a 6-month security review)
Your IT department will demand official documentation before approving anything. The MCP security docs exist somewhere if you need to justify this to the compliance people who've never written a line of code.
With your development environment ready, you'll want to see this process in action before diving into building your own MCP server. The next section shows a complete walkthrough of the setup process, including the common pitfalls you'll encounter.