MCP Tool Approval Change Card
Compare two user-supplied local MCP tools/list JSON snapshots and create
deterministic review cards. The tool reports advertised descriptor changes; it
does not connect to a server, call listed tools, approve access, or prove that
runtime behavior stayed the same.
Requirements
- Windows 11 with Python 3.11–3.14
- An MCP-compatible client that can launch a local stdio server
MCP_LICENSE_KEYfrom this MCP Marketplace purchase- Internet access for initial and periodic license verification
The marketplace license check transmits only the buyer's license key and this product's public slug. Buyer snapshots, paths, and generated reports remain local. Apart from license verification, the package performs no network call or telemetry. The license SDK may use a previously verified local cache if its service is unavailable; revocation may therefore take effect later.
Install
python -m pip install mcp-tool-approval-change-card-mcp==0.2.0
mcp-approval-card --json doctor
Place MCP_LICENSE_KEY in your MCP client's environment configuration.
For a client using mcpServers:
{
"mcpServers": {
"mcp-tool-approval-card": {
"command": "mcp-approval-card-mcp",
"env": {"MCP_LICENSE_KEY": "PASTE_THE_KEY_FROM_YOUR_PURCHASE"}
}
}
}
Launch the client with its working directory set to the folder containing the
two buyer-authorized JSON snapshots. The one MCP tool is
make_change_cards(previous, current, output_directory). Use relative paths
and a new output directory. Do not place real credentials in snapshots.
For a first local check, save these two synthetic files in the client's working directory:
previous.json
{"tools":[{"name":"lookup","description":"Search local index","inputSchema":{"type":"object"}}]}
current.json
{"tools":[{"name":"lookup","description":"Search updated local index","inputSchema":{"type":"object"}}]}
Then pass previous.json, current.json, and a new packet output
directory to the tool or CLI. This example demonstrates a changed advertised
description; it does not prove any runtime behavior changed.
The packet contains change-cards.json, change-queue.csv,
APPROVAL_REVIEW.md, and evidence-receipt.json. A changed or added
descriptor calls for human review. UNCHANGED means only that the supplied
advertised descriptors match. Annotation hints are self-declared.
The same protected core is available from the CLI:
mcp-approval-card --json analyze --previous examples/previous.json --current examples/current.json --out packet
mcp-approval-card --json verify packet/evidence-receipt.json
doctor does not check a license. Analyze, verify, and the MCP tool check
entitlement before reading buyer files. No existing output directory is
overwritten.
Release files for mcp-tool-approval-change-card-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_tool_approval_change_card_mcp-0.2.0.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_tool_approval_change_card_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.2 kB
Release files / mcp_tool_approval_change_card_mcp-0.2.0.tar.gz
| Download URL | mcp_tool_approval_change_card_mcp-0.2.0.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
81b52761b1cd1dd48e4408205ee6f23d8229df5a661c040ac4c7e25456fbc1ce
|
|
BLAKE2b-256 checksum How to use checksums |
5b82a0f51b298a2de5a21834913d12a2e0897cb964027b17c787ff6cfa0d1eb1
|
| 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 19, 2026.
Transparency logRelease files / mcp_tool_approval_change_card_mcp-0.2.0-py3-none-any.whl
| Download URL | mcp_tool_approval_change_card_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 13.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bfdba12036ddbb11e2c9ef1a03eed0bd8bbf24a913cd2c8ad1b4a15bad749731
|
|
BLAKE2b-256 checksum How to use checksums |
2832255b45f43476fa5a6a3437069428bc8c74e4e351c6c56e5897591dc72987
|
| 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 19, 2026.
Transparency log