📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -0,0 +1,297 @@
|
||||
# Claude Config Management - Examples
|
||||
|
||||
## Example 1: Basic MCP Server Setup
|
||||
|
||||
### Filesystem Server
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"filesystem": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@modelcontextprotocol/server-filesystem",
|
||||
"/Users/john/Documents"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example 2: Multiple MCP Servers
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"filesystem": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@modelcontextprotocol/server-filesystem",
|
||||
"/Users/john/Projects"
|
||||
]
|
||||
},
|
||||
"postgres": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "postgresql://localhost/mydb"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"--directory",
|
||||
"/Users/john/weather-server",
|
||||
"run",
|
||||
"server.py"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example 3: Team Project Configuration
|
||||
|
||||
### .claude/settings.json
|
||||
|
||||
```json
|
||||
{
|
||||
"extraKnownMarketplaces": {
|
||||
"company-core": {
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "company/core-plugins"
|
||||
}
|
||||
},
|
||||
"project-specific": {
|
||||
"source": {
|
||||
"source": "git",
|
||||
"url": "https://git.company.com/project/plugins.git"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enabledPlugins": [
|
||||
"project-workflow",
|
||||
"team-standards"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Example 4: Development vs Production
|
||||
|
||||
### Development (claude_desktop_config.json)
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"dev-database": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "postgresql://localhost/dev_db"
|
||||
}
|
||||
},
|
||||
"mock-api": {
|
||||
"command": "node",
|
||||
"args": ["/Users/john/mock-api-server/server.js"],
|
||||
"env": {
|
||||
"PORT": "3000",
|
||||
"API_MODE": "mock"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Production
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"prod-database": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "${PROD_DATABASE_URL}"
|
||||
}
|
||||
},
|
||||
"monitoring": {
|
||||
"command": "/usr/local/bin/monitoring-server",
|
||||
"args": ["--prod"],
|
||||
"env": {
|
||||
"API_KEY": "${MONITORING_API_KEY}",
|
||||
"ENVIRONMENT": "production"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example 5: Cross-Platform Configuration
|
||||
|
||||
### macOS
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"tools": {
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"--directory",
|
||||
"/Users/john/tools-server",
|
||||
"run",
|
||||
"server.py"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"tools": {
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"--directory",
|
||||
"C:/Users/john/tools-server",
|
||||
"run",
|
||||
"server.py"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Linux
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"tools": {
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"--directory",
|
||||
"/home/john/tools-server",
|
||||
"run",
|
||||
"server.py"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example 6: Environment-Specific Settings
|
||||
|
||||
### .env file
|
||||
|
||||
```bash
|
||||
# Development
|
||||
DATABASE_URL=postgresql://localhost/dev_db
|
||||
API_KEY=dev_api_key_123
|
||||
DEBUG=true
|
||||
|
||||
# Production
|
||||
# DATABASE_URL=postgresql://prod.server.com/prod_db
|
||||
# API_KEY=prod_api_key_xyz
|
||||
# DEBUG=false
|
||||
```
|
||||
|
||||
### Configuration using environment variables
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"app-server": {
|
||||
"command": "node",
|
||||
"args": ["/absolute/path/to/server/index.js"],
|
||||
"env": {
|
||||
"DATABASE_URL": "${DATABASE_URL}",
|
||||
"API_KEY": "${API_KEY}",
|
||||
"DEBUG": "${DEBUG}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example 7: Complete Team Setup
|
||||
|
||||
### Project structure
|
||||
|
||||
```
|
||||
my-project/
|
||||
├── .claude/
|
||||
│ └── settings.json
|
||||
├── .claude-plugin/
|
||||
│ └── marketplace.json
|
||||
├── .env.example
|
||||
└── README.md
|
||||
```
|
||||
|
||||
### .claude/settings.json
|
||||
|
||||
```json
|
||||
{
|
||||
"extraKnownMarketplaces": {
|
||||
"project-tools": {
|
||||
"source": {
|
||||
"source": "git",
|
||||
"url": "./.claude-plugin"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enabledPlugins": ["project-workflow"]
|
||||
}
|
||||
```
|
||||
|
||||
### .env.example
|
||||
|
||||
```bash
|
||||
# Required environment variables for MCP servers
|
||||
DATABASE_URL=postgresql://localhost/mydb
|
||||
API_KEY=your_api_key_here
|
||||
S3_BUCKET=your-bucket-name
|
||||
AWS_REGION=us-east-1
|
||||
```
|
||||
|
||||
### README.md section
|
||||
|
||||
```markdown
|
||||
## Claude Code Setup
|
||||
|
||||
1. Copy environment variables:
|
||||
\`\`\`bash
|
||||
cp .env.example .env
|
||||
# Edit .env with your values
|
||||
\`\`\`
|
||||
|
||||
2. Configure Claude Desktop:
|
||||
\`\`\`bash
|
||||
# macOS
|
||||
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
\`\`\`
|
||||
|
||||
Add MCP server:
|
||||
\`\`\`json
|
||||
{
|
||||
"mcpServers": {
|
||||
"project-db": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "${DATABASE_URL}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
\`\`\`
|
||||
|
||||
3. Restart Claude Desktop
|
||||
|
||||
4. In Claude Code, trust the project folder to enable team plugins
|
||||
```
|
||||
@@ -0,0 +1,129 @@
|
||||
---
|
||||
name: claude-config
|
||||
description: This skill should be used when configuring Claude, setting up MCP servers, or when "settings.json", "claude_desktop_config", "MCP server", or "Claude config" are mentioned.
|
||||
metadata:
|
||||
version: "1.0.0"
|
||||
related-skills:
|
||||
- codex-config
|
||||
- claude-hooks
|
||||
- claude-rules
|
||||
- claude-plugins
|
||||
- skills-dev
|
||||
---
|
||||
|
||||
# Claude Config Management
|
||||
|
||||
Manages configuration files for Claude Desktop and Claude Code, including MCP server setup, project settings, and developer options.
|
||||
|
||||
## Configuration File Locations
|
||||
|
||||
**Claude Desktop (macOS):**
|
||||
- Config: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
||||
- Logs: `~/Library/Logs/Claude/`
|
||||
- Developer settings: `~/Library/Application Support/Claude/developer_settings.json`
|
||||
|
||||
**Claude Desktop (Windows):**
|
||||
- Config: `%APPDATA%\Claude\claude_desktop_config.json`
|
||||
- Logs: `%APPDATA%\Claude\Logs\`
|
||||
|
||||
**Claude Code (Project-specific):**
|
||||
- Settings: `.claude/settings.json`
|
||||
- Plugin marketplace: `.claude-plugin/marketplace.json`
|
||||
|
||||
## Claude Desktop Configuration
|
||||
|
||||
### Basic Structure
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"server-name": {
|
||||
"command": "command-to-run",
|
||||
"args": ["arg1", "arg2"],
|
||||
"env": {
|
||||
"VAR_NAME": "value"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Important Notes
|
||||
|
||||
- **Always use absolute paths** - Working directory may be undefined
|
||||
- **Windows paths**: Use forward slashes or double backslashes
|
||||
- **Restart required**: Restart Claude Desktop after configuration changes
|
||||
- **Environment variables**: Limited by default (USER, HOME, PATH); set explicitly in `env`
|
||||
|
||||
## Claude Code Project Settings
|
||||
|
||||
### .claude/settings.json
|
||||
|
||||
```json
|
||||
{
|
||||
"enabledPlugins": ["plugin-name"],
|
||||
"extraKnownMarketplaces": {
|
||||
"team-tools": {
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "company/claude-plugins"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Team Configuration
|
||||
|
||||
Automatically install marketplaces when team members trust the folder:
|
||||
|
||||
```json
|
||||
{
|
||||
"extraKnownMarketplaces": {
|
||||
"company-tools": {
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "company/plugins"
|
||||
}
|
||||
},
|
||||
"project-tools": {
|
||||
"source": {
|
||||
"source": "git",
|
||||
"url": "https://git.company.com/project-plugins.git"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Quick Validation
|
||||
|
||||
```bash
|
||||
# Validate JSON syntax
|
||||
jq empty ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
jq empty .claude/settings.json
|
||||
|
||||
# Check server names
|
||||
jq -r '.mcpServers | keys[]' ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
```
|
||||
|
||||
## Quick Troubleshooting
|
||||
|
||||
If MCP server not loading:
|
||||
1. Validate JSON syntax
|
||||
2. Verify command paths are absolute
|
||||
3. Check environment variables are set
|
||||
4. Review logs: `~/Library/Logs/Claude/mcp*.log`
|
||||
5. Restart Claude Desktop
|
||||
|
||||
## References
|
||||
|
||||
Detailed documentation for specific scenarios:
|
||||
|
||||
- **[MCP Patterns](references/mcp-patterns.md)** - Server configuration examples (Python, Node.js, environment variables)
|
||||
- **[Troubleshooting](references/troubleshooting.md)** - Common issues, log locations, debugging tools
|
||||
- **[Workflows](references/workflows.md)** - Step-by-step guides for adding servers, team setup, migration
|
||||
|
||||
## Next Steps
|
||||
|
||||
- See [EXAMPLES.md](EXAMPLES.md) for real-world configuration examples
|
||||
@@ -0,0 +1,183 @@
|
||||
# MCP Server Configuration Patterns
|
||||
|
||||
Detailed examples and patterns for configuring MCP servers in Claude Desktop.
|
||||
|
||||
## Server Types
|
||||
|
||||
### Python Server (uv)
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"weather": {
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"--directory",
|
||||
"/absolute/path/to/weather",
|
||||
"run",
|
||||
"server.py"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Node.js Server (npx)
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"filesystem": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@modelcontextprotocol/server-filesystem",
|
||||
"/Users/username/Documents"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### With Environment Variables
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"database": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "postgresql://localhost/mydb",
|
||||
"DB_PASSWORD": "${DATABASE_PASSWORD}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Environment Variable Patterns
|
||||
|
||||
### Override or Add Variables
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"myserver": {
|
||||
"command": "mcp-server-myapp",
|
||||
"env": {
|
||||
"MYAPP_API_KEY": "secret_key_value",
|
||||
"CUSTOM_VAR": "custom_value",
|
||||
"PATH": "/custom/path:${PATH}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Reference System Variables
|
||||
|
||||
Use `${VAR_NAME}` syntax:
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {
|
||||
"API_KEY": "${MY_API_KEY}",
|
||||
"DB_HOST": "${DATABASE_HOST}"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Common Server Configurations
|
||||
|
||||
### Filesystem Access
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"filesystem": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@modelcontextprotocol/server-filesystem",
|
||||
"/Users/username/Projects"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Database Connection
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"postgres": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "${DATABASE_URL}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Custom Python Server
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"custom-tools": {
|
||||
"command": "uv",
|
||||
"args": [
|
||||
"--directory",
|
||||
"/absolute/path/to/server",
|
||||
"run",
|
||||
"server.py"
|
||||
],
|
||||
"env": {
|
||||
"API_KEY": "${TOOLS_API_KEY}",
|
||||
"DEBUG": "false"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Path Patterns
|
||||
|
||||
### macOS
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"my-server": {
|
||||
"command": "/usr/local/bin/npx",
|
||||
"args": ["-y", "server-package"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
Use forward slashes or double backslashes:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"my-server": {
|
||||
"command": "C:/Users/name/AppData/Roaming/npm/npx.cmd",
|
||||
"args": ["-y", "server-package"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Always use absolute paths** - Working directory may be undefined
|
||||
- **Set environment variables explicitly** - Limited inherited by default (USER, HOME, PATH)
|
||||
- **Use `${VAR_NAME}` for secrets** - Reference system environment variables
|
||||
- **Restart after changes** - Claude Desktop requires restart for config changes
|
||||
+168
@@ -0,0 +1,168 @@
|
||||
# Troubleshooting Claude Configuration
|
||||
|
||||
Common issues and solutions for Claude Desktop and Claude Code configurations.
|
||||
|
||||
## MCP Server Not Loading
|
||||
|
||||
**Diagnostic checklist:**
|
||||
|
||||
1. Validate JSON syntax
|
||||
2. Verify command paths are absolute
|
||||
3. Check environment variables are set
|
||||
4. Review logs: `~/Library/Logs/Claude/mcp*.log`
|
||||
5. Restart Claude Desktop
|
||||
|
||||
## Log Locations
|
||||
|
||||
### macOS
|
||||
|
||||
```bash
|
||||
# View all MCP logs
|
||||
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
|
||||
|
||||
# View specific server logs
|
||||
tail -f ~/Library/Logs/Claude/mcp-server-SERVERNAME.log
|
||||
|
||||
# General MCP connection logs
|
||||
tail -f ~/Library/Logs/Claude/mcp.log
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
```powershell
|
||||
Get-Content "$env:APPDATA\Claude\Logs\mcp.log" -Tail 20 -Wait
|
||||
```
|
||||
|
||||
## Common Issues
|
||||
|
||||
### Working Directory Undefined
|
||||
|
||||
**Symptom:** Server fails with "file not found" errors for relative paths
|
||||
|
||||
**Solution:** Always use absolute paths in configuration
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"server": {
|
||||
"command": "/absolute/path/to/command",
|
||||
"args": ["--config", "/absolute/path/to/config"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Environment Variables Not Available
|
||||
|
||||
**Symptom:** Server can't access expected environment variables
|
||||
|
||||
**Solution:** Explicitly set variables in `env` object
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"server": {
|
||||
"command": "my-server",
|
||||
"env": {
|
||||
"API_KEY": "${MY_API_KEY}",
|
||||
"HOME": "${HOME}",
|
||||
"PATH": "${PATH}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Windows Path Errors
|
||||
|
||||
**Symptom:** "Command not found" or path parsing errors
|
||||
|
||||
**Solution:** Use forward slashes in paths
|
||||
|
||||
```json
|
||||
{
|
||||
"command": "C:/Users/name/path/to/command"
|
||||
}
|
||||
```
|
||||
|
||||
### Server Not Starting
|
||||
|
||||
**Diagnostic steps:**
|
||||
|
||||
1. Test command independently in terminal
|
||||
2. Check server logs
|
||||
3. Verify all dependencies installed
|
||||
4. Confirm API keys are valid
|
||||
|
||||
```bash
|
||||
# Test command manually
|
||||
/usr/local/bin/npx -y @modelcontextprotocol/server-filesystem /tmp
|
||||
|
||||
# Check if package exists
|
||||
npm view @modelcontextprotocol/server-filesystem
|
||||
```
|
||||
|
||||
### JSON Syntax Errors
|
||||
|
||||
**Symptom:** Claude Desktop fails to load any configuration
|
||||
|
||||
**Solution:** Validate JSON before saving
|
||||
|
||||
```bash
|
||||
# Validate Claude Desktop config
|
||||
jq empty ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
|
||||
# Validate Claude Code settings
|
||||
jq empty .claude/settings.json
|
||||
```
|
||||
|
||||
## Validation Commands
|
||||
|
||||
### Check MCP Server Config
|
||||
|
||||
```bash
|
||||
# Extract server names
|
||||
jq -r '.mcpServers | keys[]' ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
|
||||
# Check specific server
|
||||
jq '.mcpServers["server-name"]' ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
|
||||
# Pretty print entire config
|
||||
jq '.' ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
```
|
||||
|
||||
### Test Server Connection
|
||||
|
||||
```bash
|
||||
# Check if server process runs
|
||||
/path/to/server --help
|
||||
|
||||
# Check npm package availability
|
||||
npx -y @package/server --version
|
||||
```
|
||||
|
||||
## Developer Tools
|
||||
|
||||
### Enable Chrome DevTools
|
||||
|
||||
**macOS:**
|
||||
|
||||
```bash
|
||||
echo '{"allowDevTools": true}' > ~/Library/Application\ Support/Claude/developer_settings.json
|
||||
```
|
||||
|
||||
Open DevTools: `Command-Option-Shift-i`
|
||||
|
||||
**Windows:**
|
||||
|
||||
```powershell
|
||||
echo '{"allowDevTools": true}' > "$env:APPDATA\Claude\developer_settings.json"
|
||||
```
|
||||
|
||||
### Debug Network Issues
|
||||
|
||||
With DevTools enabled:
|
||||
1. Open DevTools (`Cmd+Opt+Shift+i`)
|
||||
2. Go to Network tab
|
||||
3. Look for failed MCP connections
|
||||
4. Check Console for error messages
|
||||
@@ -0,0 +1,189 @@
|
||||
# Configuration Workflows
|
||||
|
||||
Step-by-step workflows for common Claude configuration tasks.
|
||||
|
||||
## Adding a New MCP Server
|
||||
|
||||
### Step 1: Install Server
|
||||
|
||||
```bash
|
||||
# NPM-based server
|
||||
npm install -g @modelcontextprotocol/server-filesystem
|
||||
|
||||
# Python-based server
|
||||
cd ~/my-server && uv sync
|
||||
|
||||
# Or use npx (no install needed)
|
||||
npx -y @package/server --help
|
||||
```
|
||||
|
||||
### Step 2: Get Full Paths
|
||||
|
||||
```bash
|
||||
which npx # /usr/local/bin/npx
|
||||
which uv # /usr/local/bin/uv
|
||||
pwd # /Users/name/my-server
|
||||
realpath server.py # /Users/name/my-server/server.py
|
||||
```
|
||||
|
||||
### Step 3: Add to Config
|
||||
|
||||
Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"my-server": {
|
||||
"command": "/usr/local/bin/npx",
|
||||
"args": ["-y", "server-package"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Step 4: Restart Claude Desktop
|
||||
|
||||
Quit and reopen Claude Desktop to load new configuration.
|
||||
|
||||
### Step 5: Verify in Logs
|
||||
|
||||
```bash
|
||||
tail -f ~/Library/Logs/Claude/mcp-server-my-server.log
|
||||
```
|
||||
|
||||
Look for successful initialization messages.
|
||||
|
||||
## Setting Up Team Project
|
||||
|
||||
### Step 1: Create Settings Directory
|
||||
|
||||
```bash
|
||||
mkdir -p .claude
|
||||
```
|
||||
|
||||
### Step 2: Configure Marketplaces
|
||||
|
||||
Create `.claude/settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"extraKnownMarketplaces": {
|
||||
"team-tools": {
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "company/plugins"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Step 3: Add Enabled Plugins
|
||||
|
||||
```json
|
||||
{
|
||||
"enabledPlugins": ["plugin-name"],
|
||||
"extraKnownMarketplaces": {
|
||||
"team-tools": {
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "company/plugins"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Step 4: Commit to Repository
|
||||
|
||||
```bash
|
||||
git add .claude/settings.json
|
||||
git commit -m "feat: add Claude Code team configuration"
|
||||
```
|
||||
|
||||
### Step 5: Team Onboarding
|
||||
|
||||
When team members open the project in Claude Code and trust the folder:
|
||||
- Marketplaces auto-install
|
||||
- Plugins become available
|
||||
|
||||
## Configuring Multiple Environments
|
||||
|
||||
### Development Config
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"dev-database": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "postgresql://localhost/dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Production Config (Separate Machine)
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"prod-database": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
||||
"env": {
|
||||
"POSTGRES_CONNECTION_STRING": "${PROD_DATABASE_URL}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Migrating Configuration
|
||||
|
||||
### Export Current Config
|
||||
|
||||
```bash
|
||||
cp ~/Library/Application\ Support/Claude/claude_desktop_config.json ~/claude-config-backup.json
|
||||
```
|
||||
|
||||
### Import to New Machine
|
||||
|
||||
```bash
|
||||
# Copy backup to new machine
|
||||
cp ~/claude-config-backup.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
|
||||
# Update paths for new machine
|
||||
# Edit file to fix absolute paths
|
||||
```
|
||||
|
||||
### Validate After Migration
|
||||
|
||||
```bash
|
||||
jq empty ~/Library/Application\ Support/Claude/claude_desktop_config.json
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Security
|
||||
|
||||
- Never commit credentials to config files
|
||||
- Use environment variables for secrets: `"API_KEY": "${MY_API_KEY}"`
|
||||
- Set minimal permissions for MCP servers
|
||||
- Review third-party servers before adding
|
||||
|
||||
### Organization
|
||||
|
||||
- Group related servers logically
|
||||
- Use descriptive server names
|
||||
- Document required environment variables in README
|
||||
- Maintain separate configs for different environments
|
||||
|
||||
### Maintenance
|
||||
|
||||
- Regularly update MCP servers
|
||||
- Review logs for errors periodically
|
||||
- Test servers after updates
|
||||
- Document custom server configurations
|
||||
Reference in New Issue
Block a user