Skip to main content

mancp

A lightweight MCP profile manager for Claude Code and Conductor. Pick which MCP servers load per project instead of dumping them all into every session.

The problem

Claude Code merges user-level MCPs from ~/.claude.json into every project, always. There's no per-project exclusion. With 10+ MCPs configured, you burn 30-50k tokens on tool definitions before writing a line of code.

mancp stores all your MCPs in a central registry and lets you toggle each one independently between user scope (~/.claude.json) and project scope (.mcp.json).

Install

uvx mancp

Or install permanently:

uv tool install mancp

Quick start

# 1. Import your existing MCPs (once)
mancp init

# 2. Open the TUI in any project
cd ~/repos/my-project
mancp

mancp init reads all MCP servers from ~/.claude.json (global + all project scopes) into ~/.config/mancp/mcps.json. Safe to re-run -- skips duplicates.

TUI

  mancp  |  my-project  |  12 in store
 U  P  name                        command / url
 U  -  github                      npx  -y  @modelcontextprotocol/server-github
 -  P  motherduck                  npx  -y  @motherduck/mcp-server
 U  P  filesystem                  npx  -y  @anthropic/mcp-server-filesystem
 -  -  slack                       npx  -y  @anthropic/mcp-server-slack
  j/k navigate   u user   p project   enter detail   d delete   s save   q quit

Each MCP has two independent toggles:

Key Action
u Toggle user scope (~/.claude.json) for current row
p Toggle project scope (.mcp.json) for current row
j / k or arrows Navigate list
enter Open detail view (shows config, secrets masked)
s / ctrl+s Save all changes
q / esc Quit without saving

Status columns

  • U (yellow) -- active in ~/.claude.json user scope (loads in all projects)
  • P (cyan) -- active in project .mcp.json (loads only in this project)
  • - (dim) -- not active in that scope

An MCP can be in both scopes, neither, or just one. On save, mancp writes ~/.claude.json and .mcp.json to match what you see.

Detail view

Press enter on any row to see the full MCP config (secrets masked). From there:

  • d -- delete from store permanently
  • q / esc -- close

Other commands

mancp list       # Show store with active status indicators
mancp clean      # Remove all MCPs from ~/.claude.json (with confirmation)

Store format

~/.config/mancp/mcps.json -- plain JSON, same structure as .mcp.json's mcpServers block. You can edit it directly to rename entries or fix configs.

Notes

  • .mcp.json should be in .gitignore if it contains tokens
  • ~/.claude.json is backed up automatically before every write
  • The TUI auto-detects new MCPs added via claude mcp add since last init

Development

git clone https://github.com/dumkydewilde/mancp
cd mancp
uv sync --dev
uv run pytest

License

MIT

Release files for mancp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mancp 0.2.0
File Size Uploaded
mancp-0.2.0.tar.gz 54.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mancp 0.2.0
File Interpreter ABI Platform
mancp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 97.1 kB

Release files / mancp-0.2.0.tar.gz

Download URL mancp-0.2.0.tar.gz
Size 54.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b675ebfed904bd8159317451154f8a3bb94dccf56d28f65c811d77e403e271e6
BLAKE2b-256 checksum
How to use checksums
a3b66ddce61f4adc2260ad201b6e2f260d9d6850dad45fd6da521a810ada6200
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.

Transparency log

Release files / mancp-0.2.0-py3-none-any.whl

Download URL mancp-0.2.0-py3-none-any.whl
Size 42.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd1c16ee84997f3a90fc35d92befd62b4a0d4798a00ab0b4c041183dee9e4836
BLAKE2b-256 checksum
How to use checksums
c2615f6866d1ff0c692772dde0c4bd34d737bf00f6797685ce436a8e9689ba7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page