claude-code-profiles
Claude Code loads every MCP server and plugin you have configured. As your setup grows, that can become context clutter with irrelevant toolings for different situations.
ccp lets you define named profiles and launch Claude with only what that context needs. Run multiple sessions in parallel, each with a different profile, without touching your settings.json.
ccp infra # terminal 1: claude with k8s, pagerduty, terraform
ccp code # terminal 2: claude with github, lsp, docs
ccp research # terminal 3: claude with search and notes only
Each runs independently with its own isolated tool set, allowing for different setups in parallel sessions.
Install
uv tool install claude-code-profiles
Requires Python 3.9+ and Claude Code.
Quickstart
ccp create <profile> # opens editor pre-filled with all your MCPs and plugins
# remove what you don't want, save and close
ccp <profile> # launch claude with that profile
Commands
ccp list # list profiles
ccp show <name> # inspect a profile
ccp create <name> # create a new profile
ccp edit <name> # edit an existing profile
ccp remove <name> # delete a profile
ccp <name> [args...] # launch claude with profile applied
Profile format
{
"description": "Coding — GitHub and docs only",
"enabledMcpjsonServers": ["github", "filesystem"],
"enabledPlugins": ["context7@claude-plugins-official"]
}
Profiles live in ~/.claude/profiles/ by default. Override with $CCP_PROFILES_DIR.
How it works
When you run ccp <name>, it builds a filtered MCP config from your profile and launches Claude with --mcp-config --strict-mcp-config --settings, using temp files that are cleaned up after the session. Nothing is written to your settings.
MCP definitions are discovered from ~/.claude.json, ~/.claude/settings.json, and .mcp.json files walked up from your current directory.
Release files for claude-code-profiles 1.0.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_code_profiles-1.0.1.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_code_profiles-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.5 kB
Release files / claude_code_profiles-1.0.1.tar.gz
| Download URL | claude_code_profiles-1.0.1.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61c42be42c02cec27f409fdcbda6cfa4624b05aba0502ee51d0c053fa55e8457
|
|
BLAKE2b-256 checksum How to use checksums |
6455fdf8d8312cd1946295bbbc58cdb21b9455959bf39e04b30ab514d68f271e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / claude_code_profiles-1.0.1-py3-none-any.whl
| Download URL | claude_code_profiles-1.0.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
10fafee627343b69717ac4ab1078279acf535dacdaaef42d27d10d748e7ae592
|
|
BLAKE2b-256 checksum How to use checksums |
9c0fa7776778248304da9976ae10866a88f1a21ef9506c314cee45702811d8bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|