# Claude Desktop + NCP: Complete Guide
The easiest way to supercharge Claude Desktop with NCP's powerful MCP orchestration.
---
## π¦ **What is the .dxt Extension?**
`.dxt` (Desktop Extension) is NCP's one-click installation format specifically designed for Claude Desktop:
**What makes it special:**
- β
**30-second install** - Download β Double-click β Done
- β
**Auto-sync** - Continuously imports MCPs from Claude Desktop config
- β
**Zero configuration** - No JSON editing, no terminal commands
- β
**Dynamic runtime** - Adapts to Claude Desktop's Node.js/Python versions automatically
- β
**Tiny size** - 126KB (MCP-only, no CLI code)
- β
**Native feel** - Integrates seamlessly with Claude Desktop UI
**vs npm installation:**
- No terminal required
- No global packages
- Automatic MCP detection
- Optimized for Claude Desktop only
---
## π **Installation: Step-by-Step**
### **Step 1: Download**
Go to [NCP Releases](https://github.com/portel-dev/ncp/releases/latest) and download:
```
ncp.dxt
```

*Screenshot: GitHub releases page showing ncp.dxt download button*
**File location after download:**
- **macOS:** `~/Downloads/ncp.dxt`
- **Windows:** `%USERPROFILE%\Downloads\ncp.dxt`
---
### **Step 2: Double-Click to Install**
Navigate to your Downloads folder and **double-click** `ncp.dxt`:

*Screenshot: Finder/Explorer with ncp.dxt file highlighted*
**What happens:**
- Claude Desktop recognizes the `.dxt` extension
- Launches installation prompt automatically
- No manual terminal commands needed
---
### **Step 3: Confirm Installation**
Claude Desktop shows an installation confirmation dialog:

*Screenshot: Claude Desktop modal with install prompt*
**Dialog contents:**
```
Install Desktop Extension?
Name: NCP - Natural Context Provider
Version: 1.5.3
Publisher: portel-dev
Size: 126 KB
This extension will:
β’ Access your MCP configurations
β’ Run as an MCP server
β’ Auto-sync with Claude Desktop settings
[Cancel] [Install]
```
Click **[Install]** to proceed.
---
### **Step 4: Installation Complete**
Success screen confirms NCP is installed:

*Screenshot: Success message with green checkmark*
```
β
NCP Installed Successfully
NCP will now:
β’ Auto-sync MCPs from Claude Desktop on every startup
β’ Provide 2 unified tools instead of 50+ individual tools
β’ Save 97% on token usage
Restart Claude Desktop to activate NCP.
[Restart Now] [Later]
```
Click **[Restart Now]** for immediate activation.
---
## π **Auto-Sync: How It Works**
NCP continuously syncs with Claude Desktop - no manual configuration needed!
### **What Gets Synced**
On every Claude Desktop startup, NCP automatically detects:
1. **MCPs from config file**
- Reads `~/Library/Application Support/Claude/claude_desktop_config.json`
- Imports all `mcpServers` entries
- Preserves environment variables and credentials
2. **.mcpb/.dxt extensions**
- Detects other installed extensions
- Imports their tool definitions
- Ensures compatibility
3. **New/removed MCPs**
- Adds newly installed MCPs automatically
- Removes uninstalled MCPs from cache
- Keeps everything in sync
### **Sync Indicator**
In Claude Desktop's status bar:

*Screenshot: Claude Desktop status bar showing NCP sync status*
```
π NCP: Syncing MCPs... β During sync
β
NCP: 15 MCPs synced β After sync complete
β οΈ NCP: 2 MCPs failed β If some failed
```
### **Manual Sync**
You can trigger sync manually from settings:
```bash
# Via CLI (if installed)
ncp config import
# Or edit config directly
nano ~/.ncp/profiles/all.json
```
---
## βοΈ **Configuration UI**
### **Accessing Settings**
Open NCP settings from Claude Desktop menu:
**Menu path:**
```
Claude Desktop β Extensions β NCP β Settings
```

*Screenshot: Claude Desktop menu with NCP settings highlighted*
---
### **Settings Panel**
The NCP settings panel provides easy configuration:

*Screenshot: Full NCP settings interface*
#### **General Settings**
```
ββ General βββββββββββββββββββββββββββββββββββββββ
β β
β β
Enable NCP orchestration β
β Use NCP to manage all MCP tools β
β β
β β
Auto-sync on startup β
β Import MCPs from Claude Desktop config β
β β
β βοΈ Profile: all β
β [Change Profile βΌ] β
β β
β π Currently managing: 15 MCPs, 67 tools β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
```
#### **Safety Settings**
```
ββ Safety ββββββββββββββββββββββββββββββββββββββββ
β β
β β
Confirm modifications before executing β
β Protect against unwanted writes/deletes β
β β
β Tools requiring confirmation: β
β β’ filesystem:write_file β
β β’ docker:run_command β
β β’ kubernetes:kubectl_generic β
β β’ 2 more... β
β β
β Approved tools: 0 β
β [Manage Whitelist β] β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
```
#### **Advanced Settings**
```
ββ Advanced ββββββββββββββββββββββββββββββββββββββ
β β
β π Discovery Engine β
β β’ Semantic search: β
Enabled β
β β’ Cache embeddings: β
Enabled β
β β’ Search confidence: 0.30 threshold β
β β
β π¦ MCP Management β
β β’ Health checks: β
Enabled β
β β’ Auto-restart failed MCPs: β
Enabled β
β β’ Startup delay: 500ms β
β β
β π Debug β
β β’ Verbose logging: β Disabled β
β β’ Export logs: [Export β] β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
```
---
## ποΈ **Whitelist Management UI**
Manage approved tools that bypass confirmation:

*Screenshot: Whitelist management interface*
```
ββ Approved Tools ββββββββββββββββββββββββββββββββ
β β
β Tools that never require confirmation: β
β β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β filesystem:read_file [X] β β
β β github:get_file_contents [X] β β
β β brave-search:search [X] β β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β
β [Clear All] [Add Tool...] β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
```
**How to add:**
1. When prompted for confirmation, click **"Approve Always"**
2. Or manually add via settings panel
3. Tool appears in approved list immediately
**How to remove:**
- Click **[X]** next to tool name
- Or click **[Clear All]** to reset
---
## π **Dashboard View**
NCP provides a live dashboard of your MCP ecosystem:

*Screenshot: NCP dashboard showing MCP status*
```
ββ NCP Dashboard βββββββββββββββββββββββββββββββββ
β β
β π MCP Ecosystem Status β
β β
β β
filesystem 8 tools Health: Good β
β β
github 20 tools Health: Good β
β β
brave-search 2 tools Health: Good β
β β
memory 5 tools Health: Good β
β β οΈ docker 8 tools Health: Warn β
β β³ Connection slow (2.5s response) β
β β aws 15 tools Health: Failed β
β β³ Credentials missing β
β β
β Total: 13 MCPs, 67 tools (11 healthy) β
β β
β [Refresh] [Fix Issues] [Export Report] β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
```
**Status indicators:**
- β
**Green** - MCP healthy and responding
- β οΈ **Yellow** - MCP slow or warnings
- β **Red** - MCP failed (excluded from discovery)
---
## π **Notifications**
NCP shows helpful notifications in Claude Desktop:
### **Sync Complete**

*Screenshot: Toast notification for successful sync*
```
ββββββββββββββββββββββββββββββββββββββββββ
β β
NCP Sync Complete β
β β
β Synced 15 MCPs with 67 tools β
β β’ 13 healthy β
β β’ 2 warnings (docker, aws) β
β β
β [View Details] [Dismiss] β
ββββββββββββββββββββββββββββββββββββββββββ
```
### **New MCP Detected**
```
ββββββββββββββββββββββββββββββββββββββββββ
β π New MCP Detected β
β β
β PostgreSQL MCP added to Claude β
β NCP auto-imported 8 database tools β
β β
β [Use Now] [Dismiss] β
ββββββββββββββββββββββββββββββββββββββββββ
```
### **Confirmation Prompt**
```
ββββββββββββββββββββββββββββββββββββββββββ
β β οΈ Confirm Modification β
β β
β filesystem:write_file β
β "Create or overwrite file" β
β β
β Confidence: 46.4% β
β β
β [Run Once] [Approve Always] [Cancel] β
ββββββββββββββββββββββββββββββββββββββββββ
```
---
## π¨ **Tool Picker UI**
When AI discovers tools, you see results in-context:

*Screenshot: Tool discovery results inline in chat*
```
Claude: I found these tools for "file operations":
βββββββββββββββββββββββββββββββββββββββββββββββ
β π Discovery Results β
β β
β 1. filesystem:read_file 95% ββββ β
β Read contents of a file β
β β
β 2. filesystem:write_file 92% ββββ β
β Create or overwrite a file β
β β
β 3. filesystem:list_directory 87% βββ β
β List files in a directory β
β β
β 4. filesystem:search_files 82% βββ β
β Search for files by pattern β
β β
β [Show More...] β
βββββββββββββββββββββββββββββββββββββββββββββββ
I'll use filesystem:read_file to read your document...
```
**Confidence indicators:**
- 90-100%: ββββ (Very High)
- 70-89%: βββ (High)
- 50-69%: ββ (Medium)
- 30-49%: β (Low)
---
## ποΈ **Files and Locations**
### **Configuration Files**
**Main config:**
```
~/.ncp/profiles/all.json
```
Contains all synced MCPs from Claude Desktop.
**Settings:**
```
~/.ncp/settings.json
```
NCP preferences (modifications toggle, whitelist, etc.)
**Cache:**
```
~/.ncp/cache/
βββ embeddings.json # Tool embeddings for search
βββ all-tools.csv # Complete tool index
βββ health.json # MCP health status
```
### **Logs**
**Location:**
```
~/Library/Logs/Claude/extensions/ncp.log # macOS
%APPDATA%\Claude\extensions\ncp.log # Windows
~/.config/Claude/extensions/ncp.log # Linux
```
**What's logged:**
- Startup and sync events
- Tool discovery queries
- MCP health checks
- Confirmation prompts
- Errors and warnings
**View logs in UI:**
Settings β Advanced β Debug β [Export Logs]
---
## π οΈ **Manual Configuration**
For power users who want direct control:
### **Edit Profile Directly**
```bash
# Open in editor
nano ~/.ncp/profiles/all.json
```
```json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx"
}
},
"custom-mcp": {
"command": "node",
"args": ["/path/to/your-mcp/index.js"],
"env": {
"API_KEY": "your-key"
}
}
}
}
```
**Restart Claude Desktop** after editing to apply changes.
### **Bypass Auto-Sync**
If you want to manage MCPs manually without auto-sync:
```bash
# Disable auto-sync in settings
Settings β General β β Auto-sync on startup
```
Then edit `~/.ncp/profiles/all.json` directly and restart Claude Desktop.
---
## π§ **Troubleshooting**
### **Issue: NCP Not Appearing in Claude Desktop**
**Symptoms:**
- .dxt installed but no NCP tools visible
- Claude shows original 50+ tools
**Solutions:**
1. **Restart Claude Desktop completely**
```
Cmd+Q (macOS) / Alt+F4 (Windows) to quit
Relaunch Claude Desktop
```
2. **Verify installation**
```bash
ls ~/.ncp/
# Should show: profiles/, cache/, settings.json
```
3. **Check config**
```bash
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Should contain "ncp" entry
```
4. **Reinstall if needed**
- Delete `~/.ncp/` folder
- Double-click ncp.dxt again
- Restart Claude Desktop
---
### **Issue: Auto-Sync Not Working**
**Symptoms:**
- New MCPs added to Claude Desktop don't appear in NCP
- Old MCPs remain after removal
**Solutions:**
1. **Trigger manual sync**
```bash
# If CLI is installed
ncp config import
```
2. **Check sync status**
- Look at status bar indicator
- Should show "β
NCP: X MCPs synced"
3. **Verify config location**
```bash
# macOS
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
type %APPDATA%\Claude\claude_desktop_config.json
```
4. **Force re-sync**
```bash
# Clear cache
rm -rf ~/.ncp/cache
# Restart Claude Desktop
```
---
### **Issue: Confirmation Prompts Too Frequent**
**Symptoms:**
- Getting prompted for every operation
- Slows down workflow
**Solutions:**
1. **Use "Approve Always"**
- Click this option in prompt
- Tool added to whitelist permanently
2. **Disable confirmations entirely**
```bash
# Via CLI
ncp settings modifications off
# Via UI
Settings β Safety β β Confirm modifications
```
3. **Adjust threshold (advanced)**
```bash
# Edit settings
nano ~/.ncp/settings.json
# Change vectorThreshold (0.40 β 0.50)
# Higher = less sensitive = fewer prompts
```
---
### **Issue: Slow Performance**
**Symptoms:**
- Tool discovery takes >2 seconds
- Claude feels sluggish
**Solutions:**
1. **Check MCP health**
- Dashboard β Look for β οΈ or β MCPs
- Slow/failed MCPs drag down performance
2. **Rebuild cache**
```bash
rm -rf ~/.ncp/cache
# Restart Claude Desktop
```
3. **Reduce number of MCPs**
- Remove unused MCPs from Claude Desktop config
- NCP performs best with <20 MCPs
4. **Enable debug logging**
```bash
# Settings β Advanced β β
Verbose logging
# Check logs for bottlenecks
```
---
### **Issue: Can't Find Specific Tool**
**Symptoms:**
- Tool exists but NCP can't discover it
- Search returns wrong results
**Solutions:**
1. **Try different search phrases**
```
Instead of: "read file"
Try: "I want to read the contents of a file on disk"
```
2. **List all tools**
```bash
ncp list --depth 2
# Shows complete tool inventory
```
3. **Check if MCP is healthy**
```bash
ncp list --depth 1
# Unhealthy MCPs excluded from discovery
```
4. **Rebuild embeddings cache**
```bash
rm ~/.ncp/cache/embeddings.json
# Restart Claude Desktop
```
---
## π **Performance Metrics**
### **With vs Without NCP (in Claude Desktop)**
| Metric | Without NCP | With NCP | Improvement |
|--------|-------------|----------|-------------|
| **Initial tool load** | 50+ tools | 2 tools | **96% reduction** |
| **Token overhead** | 103,000 tokens | 2,500 tokens | **97.6% saved** |
| **Tool selection time** | 5-8 seconds | <0.5 seconds | **10x faster** |
| **Wrong tool selected** | ~30% of time | <3% of time | **10x accuracy** |
| **Conversation length** | 50 messages | 600+ messages | **12x longer** |
| **Memory usage** | ~2GB | ~80MB | **96% saved** |
---
## π **Best Practices**
### **For Optimal Performance**
1. **Keep MCPs healthy**
- Check dashboard weekly
- Fix warnings promptly
- Remove unused MCPs
2. **Use whitelist wisely**
- Approve commonly used safe tools
- Don't approve destructive operations
- Review whitelist monthly
3. **Let auto-sync work**
- Don't manually edit configs unless needed
- Auto-sync ensures consistency
- Manual edits can break sync
4. **Monitor token usage**
- Check Claude Desktop usage stats
- Compare before/after NCP
- Should see 90%+ reduction
### **For Teams**
1. **Share approved tool lists**
```bash
# Export whitelist
cat ~/.ncp/settings.json | jq .confirmBeforeRun.approvedTools
```
2. **Standardize MCP configs**
- Use same MCPs across team
- Share `.ncp/profiles/` folder
- Sync via git repository
3. **Document custom MCPs**
- If using non-standard MCPs
- Include setup instructions
- Share credentials securely (not in git!)
---
## π **What's Next?**
Now that NCP is installed in Claude Desktop:
1. **Try discovery**
- Ask: "Find tools for file operations"
- Notice how fast and accurate it is
2. **Experience token savings**
- Have long conversations
- Notice you don't hit limits anymore
3. **Explore other features**
- [Project-level configs](../README.md#project-level-configuration)
- [Registry search](../README.md#registry-discovery)
- [CLI testing](../README.md#test-drive)
---
## π **Related Documentation**
- **[Main README](../README.md)** - Full NCP documentation
- **[Confirm Before Run](confirm-before-run.md)** - Safety feature details
- **[How It Works](../HOW-IT-WORKS.md)** - Technical deep dive
- **[Troubleshooting](../README.md#troubleshooting)** - General issues
---
## π¬ **Get Help**
Having issues with Claude Desktop + NCP?
- π **Bug reports:** [GitHub Issues](https://github.com/portel-dev/ncp/issues)
- π‘ **Questions:** [GitHub Discussions](https://github.com/portel-dev/ncp/discussions)
- π **Docs:** [Full documentation](../README.md)
**When reporting issues, include:**
- Claude Desktop version
- NCP version (`ncp --version` if CLI installed)
- Operating system
- Relevant log excerpts from `~/Library/Logs/Claude/extensions/ncp.log`
---
**π Enjoy NCP in Claude Desktop!** You now have the most powerful MCP orchestration available, with zero configuration hassle.