Skip to main content

pano finds MCP servers configured in your AI clients, runs a selected server in a decoy-filled sandbox, and records files, network hosts, processes, and declared-versus-observed differences. It reports observation evidence; it does not make a verdict for you.

An inspection tower at the centre of a ring of cells, each holding an MCP server

Start here

Install the current public PyPI release, inspect the configured server names, and observe one selected server:

uv tool install panopticon-mcp==1.0.1
pano doctor --offline
pano watch SERVER_NAME --offline

The checked-out repository is unpublished 1.0.2 development. uv sync --all-extras is contributor setup, not a public installation path.

Replace SERVER_NAME with a name printed by doctor; it is literal text rather than shell angle brackets. Package installation contacts the selected registry before pano runs. --offline then disables Panopticon's registry, advisory, package-lookup, and semantic-analyzer outbound paths. Traffic attempted by the selected MCP remains sandbox evidence rather than a Panopticon product lookup. doctor does not require Docker or Podman; local watch does. On a clean runtime, follow Stage images for offline watch before the first offline observation.

For a one-time version check, uvx --from 'panopticon-mcp==1.0.1' pano version prints pano 1.0.1 (schema 1.0). Other installation methods, upgrades, rollback, and air-gapped use are in the installation and release guide.

The bilingual demo source starts at site/template.html. scripts/build_site.py validates locale parity and builds both routes deterministically; the SHA-pinned Pages workflow deploys those generated artifacts from main. The page has no analytics, cookies, local storage, or runtime remote resources. Requests handled by GitHub Pages remain subject to GitHub's hosting policy.

Pick the right workflow

You want to… Start with… Requirement or boundary
Find configured MCPs pano doctor --offline No container runtime required
Observe one local MCP pano watch SERVER_NAME --offline Docker or Podman; use an exact name from doctor
Explain one finding pano explain RULE_ID English by default; add --lang ko for Korean
Compare repeated observations pano baseline create then pano diff SERVER_NAME Baselines retain canonical evidence for one installation
Analyze an MCP repository pano scan . --mode quick --offline Standard/deep add advisory or semantic paths described in privacy docs
Apply repository policy pano ci . --mode standard --fail-on high Writes SARIF and uses documented exit-code precedence
Change a client configuration pano fix SERVER_NAME --dry-run --offline Review the diff before a separate --yes invocation
Wrap or restore an MCP command pano install CLIENT --dry-run / pano uninstall CLIENT --dry-run Original command is retained for undo

The complete first-use flow, installation matrix, status table, exit codes, artifact locations, cleanup, troubleshooting, and command examples are in Getting started.

Use Panopticon from an AI agent

Agents should consume JSON and preserve uncertainty instead of summarizing every nonzero exit as a failure or every completed stage as a verdict. The narrow default sequence is:

pano version
pano doctor --offline --json
pano watch SERVER_NAME --offline --json

An agent must not choose --all, pass real environment values, allow destructive calls, run deep semantic analysis, apply --yes, or delete local evidence without separate explicit authorization. The copyable operating prompt, response schema, exit-code policy, and confirmation boundaries are in Operating Panopticon from an AI agent.

Read the result

  • COMPLETE means the stage completed with its stated coverage.
  • UNKNOWN means the available evidence cannot support a conclusion.
  • INCOMPLETE means the requested observation did not complete all needed work.
  • UNSUPPORTED means that dimension is unavailable for this platform, mode, or target.

These states are not interchangeable. For example, remote observation cannot see server-side file or process activity and marks those dimensions UNSUPPORTED. A rule ID such as WATCH-003, CFG-008, or HIST-002 identifies the exact check; read its bilingual explanation with:

pano explain WATCH-003

Review the evidence card and the terminal result together. It intentionally retains visible coverage and rule identifiers rather than converting missing observation into a reassuring result.

How it is designed

  • cli parses and renders; engine owns typed outcomes and exit policy.
  • Collectors return exhaustive status, stable reason_code, coverage, evidence, and diagnostics.
  • The sandbox receives a generated decoy home, never the user's home. --self is the one explicit read-only project-source mount.
  • store is the only artifact writer and performs canonicalization, leak checking, and atomic replacement before persistence.
  • The demo is built from bilingual locale catalogs with a deterministic standard-library builder and local browser assets only.

Read the architecture, the demo design system, the frozen decisions, and the product build plan for the complete contracts.

Privacy and cleanup

Read the complete privacy and outbound-traffic table before observation, especially before allowing real environment values or running scan --mode deep. --offline disables Panopticon's outbound product paths, but package installation uses the selected package registry before pano runs. Artifacts are leak-checked before persistence. Standard/deep scan sends exact locked package coordinates—not source—to OSV for advisory lookup. Storage, record retention, configuration undo, and package rollback are covered in the release guide and limitations.

Lineage

The static, semantic, and dependency analysis assets in scan come from MCP-Sentinel at commit e717e955 (MIT). The exact carried file list is in THIRD_PARTY_NOTICES.md.

MIT.

Metadata

Release files for panopticon-mcp 1.0.2

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

Source distribution (sdist)

Source distribution for panopticon-mcp 1.0.2
File Size Uploaded Provenance
panopticon_mcp-1.0.2.tar.gz 4.0 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for panopticon-mcp 1.0.2
File Interpreter ABI Platform
panopticon_mcp-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 5.2 MB

Release files / panopticon_mcp-1.0.2.tar.gz

Download URL panopticon_mcp-1.0.2.tar.gz
Size 4.0 MB
Tags Source
SHA-256 checksum
How to use checksums
cc694da60fc457ab610fc527f5a4f503ccf0244833fe21dfd792566f5584c215
BLAKE2b-256 checksum
How to use checksums
6890521fffbed29d2bc396e059241de3a70c2b1f34e6d176fdfbcf69c3e969a5
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 Aug 31, 2026.

Transparency log

Release files / panopticon_mcp-1.0.2-py3-none-any.whl

Download URL panopticon_mcp-1.0.2-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0b8a2f995632efde58fb65b05b16e0364ddeac22f1dc4ca89f98b03bdfc62e57
BLAKE2b-256 checksum
How to use checksums
2de6ac9cb170b4edaad4b5f5ac72a92b5567ceb605d6c512bca995fbe06fc058
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 Aug 31, 2026.

Transparency log

Security for panopticon-mcp 1.0.2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for panopticon_mcp-1.0.2.tar.gz

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 Aug 31, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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