Open source · free forever

Scan what your agents trust — in one command

Palanit Core is a zero-dependency scanner for the Model Context Protocol. Give it an MCP config or a tool manifest and it reads every tool the way your agent will — then flags the ones that would quietly betray it. It is free, open source, and designed to live in your terminal and your CI.

What Core detects

HIGH

Tool-description poisoning

Hidden instructions in a tool's description that your agent will execute as if you wrote them.

HIGH

Data exfiltration

Descriptions or schemas that steer the agent to send data or secrets to an external endpoint.

HIGH

Hardcoded secrets

API keys, tokens and credentials committed into configs and manifests.

MED

Invisible Unicode

Zero-width and bidirectional control characters that hide instructions from human review.

MED

Unpinned packages

Servers launched with @latest or floating versions — a swap-in supply-chain risk.

MED

Shell-exec tools

Tools that shell out, widening the blast radius of any single compromised call.

LOW

Non-TLS transport

Endpoints over http:// where tool traffic can be read or tampered with in transit.

LOW

Name-collision shadowing

Two tools with the same name, letting a malicious one shadow a trusted one.

Built for CI

Core exits with code 1 on any finding at HIGH severity or above, so a poisoned tool fails the build instead of reaching production. Machine-readable JSON output drops into any pipeline or dashboard.

Open by design

Every rule is readable and auditable. You can see exactly what Core considers dangerous, extend it with your own rules, and trust it precisely because you can inspect it.

Install & run

bash
# Install (PyPI)
pip install palanit-core

# Scan an MCP config — fails CI on HIGH+
palanit scan mcp.config.json --fail-on HIGH

# Machine-readable output
palanit scan mcp.config.json --json > report.json