{
  "$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"
}