C2Pa Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited C2Pa Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server for reading Content Credentials (C2PA) from images and media using the official c2pa Rust SDK.
Validates against the official C2PA trust list and the Interim Trust List (ITL), fetched at startup so trust decisions are always current.
Claude Desktop: Download the .mcpb bundle for your platform from the latest release and double-click to install.
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/contentauth/c2pa-mcp/main/install.sh | shWindows (PowerShell):
irm https://raw.githubusercontent.com/contentauth/c2pa-mcp/main/install.ps1 | iexTo install to a custom directory:
INSTALL_DIR=~/.local/bin curl -fsSL https://raw.githubusercontent.com/contentauth/c2pa-mcp/main/install.sh | shOn macOS, unsigned binaries are blocked by Gatekeeper. If prompted, run:
xattr -dr com.apple.quarantine "$(which c2pa-mcp)"Add to your MCP client config (e.g. Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json, or Cursor MCP settings):
{
"mcpServers": {
"content-credentials": {
"command": "c2pa-mcp"
}
}
}Restart the client after editing config.
Requires Rust 1.88+. On macOS you may also need Xcode Command Line Tools (xcode-select --install).
cargo build --releaseThe binary is written to target/release/c2pa-mcp.
cargo testTo run a single test by name:
cargo test <test_name>| Tool | Description |
|---|---|
read_credentials_file | Read credentials from a local path (absolute, relative, or file://). |
read_credentials_url | Read credentials from a URL. |
Response fields (camelCase JSON): success, hasCredentials, optional manifestData, optional error.
At startup the server fetches four trust lists concurrently:
Content signed before January 2026 (e.g. by Microsoft Designer) validates against the ITL. Newer content validates against the official C2PA list. If the network is unavailable at startup the server continues without trust anchors and logs a warning.
The binary also works as a one-shot CLI tool:
# Local file
./target/release/c2pa-mcp /path/to/image.jpg
# URL
./target/release/c2pa-mcp https://example.com/image.jpgPrints pretty-printed JSON to stdout. Set RUST_LOG=c2pa_mcp=info for log output.
After a release, run the publish script to update server.json with the latest version and hashes, then publish to the registry:
mcp-publisher login github # first time only
./publish.shC2PA Rust SDK · C2PA Trust Lists · MCP · MCP Registry
License: MIT OR Apache-2.0
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.