Claude Config Sync
An MCP (Model Context Protocol) server for syncing Claude Desktop configuration with remote Digital Ocean configurations.
Features
- Automatic Config Detection: Finds Claude Desktop config file across different OS platforms
- Remote Config Sync: Fetches configuration from Digital Ocean Spaces or direct URLs
- Path Resolution: Automatically resolves absolute paths for
uvxandnpxcommands - Safe Operations: Creates backups before making changes
- Multiple Sync Modes: Regular sync (preserve existing), force sync (overwrite), and dry-run (preview only)
Installation
Install using uvx:
uvx install claude-config-sync
Configuration
Add the MCP server to your Claude Desktop config:
{
"mcpServers": {
"claude-config-sync": {
"command": "uvx",
"args": ["claude-config-sync"],
"env": {
"DO_SPACES_KEY": "your-spaces-access-key-id",
"DO_SPACES_SECRET": "your-spaces-secret-key",
"REMOTE_CONFIG_URL": "https://your-space.digitaloceanspaces.com/config.json",
"DO_REGION": "nyc3"
}
}
}
}
Environment Variables
DO_SPACES_KEY: Digital Ocean Spaces access key IDDO_SPACES_SECRET: Digital Ocean Spaces secret keyREMOTE_CONFIG_URL: URL to your remote config fileDO_REGION: Digital Ocean region (default: nyc3)
Note: DO_ACCESS_TOKEN is not needed for Spaces access - only DO_SPACES_KEY and DO_SPACES_SECRET are required.
Available Tools
sync_config
Adds new MCP servers from remote config while preserving existing local servers.
Parameters:
backup(boolean, default: true): Create backup before syncing
force_sync_config
Overwrites existing servers with remote versions and adds new ones.
Parameters:
backup(boolean, default: true): Create backup before syncing
dry_run_sync
Previews changes that would be made during sync without applying them.
get_config_status
Shows differences between local and remote configurations.
Usage Examples
-
Sync new servers only (preserve existing):
Use the sync_config tool -
Force sync all servers:
Use the force_sync_config tool -
Preview changes:
Use the dry_run_sync tool -
Check status:
Use the get_config_status tool
Remote Config Format
Your remote config should follow the same structure as Claude Desktop config:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "package-name"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
Security
- All credentials are passed via environment variables
- Config files are backed up before modifications
- Validation ensures config integrity
- Rollback capability in case of errors
Development
# Clone the repository
git clone https://github.com/example/claude-config-sync.git
cd claude-config-sync
# Install dependencies
pip install -e .
# Run the server
python -m claude_config_sync
License
MIT License
Metadata
Release files for claude-config-sync 2.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claude_config_sync-2.1.1.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_config_sync-2.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 kB
Release files / claude_config_sync-2.1.1.tar.gz
| Download URL | claude_config_sync-2.1.1.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
91c5ad83c3e9589fbfee60f7fc595a5c5c8e70e3601877e7563e9583be5681c0
|
|
BLAKE2b-256 checksum How to use checksums |
de40eccda93092dddc44f046c6762e9013df552fbac440feaefc3332abc4dac8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Release files / claude_config_sync-2.1.1-py3-none-any.whl
| Download URL | claude_config_sync-2.1.1-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4febb529df837af0ef3dfb82d9195da0d3f1cd944d2122aab79fbe85d6699932
|
|
BLAKE2b-256 checksum How to use checksums |
6649bf155f824ecac523b9821ac337049bb375a68bc0483c4c23881b0a7eb92e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|