hackage-haskell API for agents (unofficial) — JSON over curl | clify
Hackage, the Haskell community's package archive: search packages, read package metadata, versions, dependencies, reverse dependencies, changelogs, documentation indexes, tags, categories, recent uploads, deprecated and candidate packages, and maintainer profiles.
Host: hackage.haskell.org. Call these verified read commands with plain curl; no install, key, or account. Use the public JSON API with plain curl. No install, key, account, or browser is needed. Example: curl 'https://clify-dev.netlify.app/sites.json'. Start with /search?q=weather, then call /abc/COMMAND. Responses are one JSON object. The hosted MCP and GitHub repo are also available.
Commands
search-packages
Search Hackage packages by keyword, with optional filter expressions in the query, sorting and pagination (50 results per page) Params: query*, sort, direction, page
curl 'https://clify-dev.netlify.app/hackage-haskell/search-packages'
get-package
Get a package's detail page: synopsis, description, latest version, modules and changelog link Params: package*
curl 'https://clify-dev.netlify.app/hackage-haskell/get-package'
get-package-versions
List all versions of a package with their status (normal or deprecated), as JSON Params: package*
curl 'https://clify-dev.netlify.app/hackage-haskell/get-package-versions'
get-preferred-versions
Get a package's preferred versions (normal-version list, plus deprecated versions if any), as JSON Params: package*
curl 'https://clify-dev.netlify.app/hackage-haskell/get-preferred-versions'
get-package-dependencies
List the dependencies and version constraints of a specific package version Params: package_version*
curl 'https://clify-dev.netlify.app/hackage-haskell/get-package-dependencies'
list-reverse-dependencies
List the packages that depend on a given package (reverse dependencies of its latest version) Params: package*
curl 'https://clify-dev.netlify.app/hackage-haskell/list-reverse-dependencies'
get-changelog
Get the changelog of a specific package version Params: package_version*
curl 'https://clify-dev.netlify.app/hackage-haskell/get-changelog'
get-docs-index
Get the Haddock identifier index (functions, types and their modules) for a package version, as JSON Params: package_version*
curl 'https://clify-dev.netlify.app/hackage-haskell/get-docs-index'
list-recent-uploads
List the 20 most recently uploaded package versions on Hackage, newest first, from the recent-uploads RSS feed. Each item has the package-version title, package link, upload date, and a description na Params: none
curl 'https://clify-dev.netlify.app/hackage-haskell/list-recent-uploads'
list-packages-by-tag
List all packages that have a given tag (e.g. parsing, json, network) Params: tag*
curl 'https://clify-dev.netlify.app/hackage-haskell/list-packages-by-tag'
list-categories
List all package categories with their package counts Params: none
curl 'https://clify-dev.netlify.app/hackage-haskell/list-categories'
list-deprecated-packages
List deprecated packages and the packages that replace them Params: none
curl 'https://clify-dev.netlify.app/hackage-haskell/list-deprecated-packages'
list-candidates
List candidate package versions (uploaded for review but not yet published) Params: none
curl 'https://clify-dev.netlify.app/hackage-haskell/list-candidates'
get-user
Get a Hackage user's profile: the package groups (maintainers, candidates) they belong to Params: username*
curl 'https://clify-dev.netlify.app/hackage-haskell/get-user'