Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
/plugin marketplace add patrickcylai/paperless-ngx-mcpnpx agentmods add plugins/patrickcylai/paperless-ngx-mcp/plugingit clone --depth 1 https://github.com/patrickcylai/paperless-ngx-mcpGrade A, and why
paperless-ngx scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
{
"name": "paperless-ngx",
"description": "Search, read, file and upload documents in a paperless-ngx archive.",
"version": "0.2.0",
"author": {
"name": "Patrick Lai"
},
"homepage": "https://github.com/patrickcylai/paperless-ngx-mcp#readme",
"repository": "https://github.com/patrickcylai/paperless-ngx-mcp",
"license": "MIT",
"userConfig": {
"url": {
"type": "string",
"title": "Paperless URL",
"description": "Base URL of your paperless-ngx install, e.g. https://paperless.example.com. A trailing /api is stripped, so either form works.",
"required": true
},
"token": {
"type": "string",
"title": "API token",
"description": "Paperless web UI -> user menu -> My Profile -> the circular arrow next to API Token.",
"sensitive": true,
"required": true
},
"read_only": {
"type": "boolean",
"title": "Read-only mode",
"description": "Refuse every tool that would modify the archive. Downloads still write files, inside the download directory below.",
"default": false
},
"download_dir": {
"type": "directory",
"title": "Download directory",
"description": "The only directory downloads may be written into. Leave empty for a private directory under your system temp folder.",
"default": ""
},
"upload_dirs": {
"type": "string",
"title": "Upload directories",
"description": "Comma-separated directories uploads may read from, e.g. ~/Documents/scans. Leave empty to allow only the download directory.",
"default": ""
}
}
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 45 lines scan A f4ca314b64c1
paperless-ngx is a plugin published in the GitHub repository patrickcylai/paperless-ngx-mcp (0 stars, last pushed 12d ago), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other plugins, from other repositories
nextjs
Official Next.js skills: adopt and optimize Cache Components, adopt Partial Prefetching, and verify runtime behavior against a running dev server.
nextjs
Official Claude Code plugin marketplace for Next.js, serving the skills that ship in the vercel/next.js repository.
claude-plugins-official
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations.
knowledge-work-plugins
Plugin marketplace listing 97 plugins: noibu, productivity, enterprise-search, cowork-plugin-management, sales.
ecc
Plugin marketplace listing 1 plugin: ecc.
ecc
Harness-native ECC plugin for engineering teams - 68 agents, 286 skills, 94 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses.