mcpshape
Reshape what MCP servers expose before a model sees it.
An MCP server as shipped offers every tool it has, described at whatever length its author chose, and most Clients take it whole or not at all. mcpshape is a local proxy between the servers you use and the Clients that use them. You add a server once as an Upstream, and mcpshape serves one or more Proxies for it, each a curated MCP server of its own: tools hidden, renamed, re-described, capped, rewritten in Python, or added, before a model sees them. Clients are pointed at the Proxy.
Install
Python 3.12 or newer, macOS or Linux. From this repository:
uv tool install git+https://github.com/voidfreud/mcpshape
From a checkout, uv tool install . does the same, and uv sync with uv run mcpshape runs
it in place. mcpshape makes no network call except to your Upstreams.
First steps
mcpshape add github --stdio 'npx -y @modelcontextprotocol/server-github'
mcpshape upstream sync github
mcpshape tool hide github/default create_gist
mcpshape proxy install github/default --to claude-code
mcpshape daemon up
Every command explains itself with an example: mcpshape --help, and --help on any command.
How work lands is CONTRIBUTING.md.
Release files for mcpshape 0.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 | |
|---|---|---|---|
| mcpshape-0.1.1.tar.gz | 132.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcpshape-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 288.8 kB
Release files / mcpshape-0.1.1.tar.gz
| Download URL | mcpshape-0.1.1.tar.gz |
|---|---|
| Size | 132.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ee40649221f60129d7c06e0b85bcba838260e15eba8259813e8b5b296acd7d2
|
|
BLAKE2b-256 checksum How to use checksums |
66ed63f267fcb5eca547ad497795d58833edc0a8cd12e8b092478d0f3c2c64ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 9, 2026.
Transparency logRelease files / mcpshape-0.1.1-py3-none-any.whl
| Download URL | mcpshape-0.1.1-py3-none-any.whl |
|---|---|
| Size | 156.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f390903ac9a10e11d666b11e0e306f6a4e13ac1259169f7c4a448a5ff9575927
|
|
BLAKE2b-256 checksum How to use checksums |
6c1c6738886df57ec2dd02ed29223568975340a6653c0a6b556e893e2ce5153f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 9, 2026.
Transparency log