{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreidmexuyr55lm7fik7ts67xhufkrrrqzlwaykzrwzjbhdggei4g3b4",
"uri": "at://did:plc:46ti67tc37qcmwp2vaynk6fq/app.bsky.feed.post/3mnpc75yhsgt2"
},
"path": "/blog/debsecan-mcp-pypi.html",
"publishedAt": "2026-06-07T13:40:41.685Z",
"site": "https://copyninja.in",
"tags": [
"v0.1.2"
],
"textContent": "I finally carved out some time today to prepare and release debsecan-mcp v0.1.2 to PyPI. During this release, I integrated PyPI's trusted publisher mechanism, which authenticates directly via GitHub Actions and eliminates the need for manual uploads or static API tokens.\n\n## What is New?\n\nThere are no feature updates in this release; the changes are strictly focused on PyPI publishing requirements. This was handled entirely within the Antigravity IDE.\n\nThe primary change replaces the python-apt dependency with python-debian for version comparison. PyPI rejects packages that reference external Git repositories, and python-apt lacks an official PyPI release. The original python-apt logic remains intact: if the system has python-apt installed, the server defaults to it. Otherwise, it falls back to the comparison logic implemented via the python-debian NativeVersion class.\n\n## What Next?\n\nThe next release will introduce a standalone CLI utility called debvulns. It mirrors debsecan functionality but surfaces the cleaner, richer vulnerability data already implemented in debsecan-mcp. The code is written, and I will release it once testing is complete.\n\nI also owe a post explaining my rationale for designing a CLI utility alongside the MCP server, and my broader thoughts on CLI vs. MCP workflows. I aim to publish that next week.",
"title": "Vasudev Kamath: debsecan-mcp v0.1.2 released to PyPI",
"updatedAt": "2026-06-07T12:49:00.000Z"
}