MCP server exposing 4 tools for softwareheritage.
This URL is a JSON-RPC 2.0 endpoint over HTTP. Issue POST requests with a JSON-RPC body. Browsers and search crawlers land here on GET.
POST https://gateway.pipeworx.io/softwareheritage/mcp
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
origin_search — Search the Software Heritage archive for archived origins (repository URLs) whose URL matches a substring or pattern. Returns each matching origin with its visit count and the date it was last captured. Use this to find the archived URL for a project before asking about its status — the archive keys everything on the ORIGIN URL, so "torvalds/linux" finds the GitHub origin and any separately archived copy of the same project on another forge. Sourced from the Software Heritage archive.origin_status — Report whether one repository URL is archived, and as of when. Returns the most recent visit that produced a usable snapshot: the visit date, the snapshot id, and the visit type (git, hg, svn, npm, pypi…). This is the tool that answers "is this code safe" — a repository that vanishes tomorrow is recoverable from the snapshot named here. Pass the origin URL exactly as it appears in origin_search; the archive treats a differing URL as a different origin. Sourced from the Software Heritage archive.origin_visits — List the archive's visit history for one repository URL, newest first: when each capture ran, what it produced, and whether it succeeded ("full"), partially succeeded, or failed ("not_found" — the origin was unreachable at that moment). Use this to see how continuously a project has been captured, and to distinguish "never archived" from "archived for years and unreachable this week". Sourced from the Software Heritage archive.revision — Fetch one archived commit by its Software Heritage revision id (the 40-hex id, which for a git repository is the git commit sha). Returns the commit message, author and committer with their dates, the directory id of the tree it points at, and its parent commits. Accepts a bare hex id or a full SWHID ("swh:1:rev:<hex>"). Because the archive is content-addressed, this keeps resolving after the repository it came from has been renamed, moved or deleted. Sourced from the Software Heritage archive.Code samples (curl / TypeScript / one-click client install), schemas, and the live playground are on the pack page:
https://pipeworx.io/packs/softwareheritage/
Pipeworx is an open MCP gateway connecting AI agents to live data. pipeworx.io