{"id":38791512,"url":"https://github.com/mthmulders/mcs","last_synced_at":"2026-02-15T16:12:08.875Z","repository":{"id":37104836,"uuid":"411018359","full_name":"mthmulders/mcs","owner":"mthmulders","description":"Search the Maven Central Repository from your command line!","archived":false,"fork":false,"pushed_at":"2026-01-16T20:39:13.000Z","size":810,"stargazers_count":201,"open_issues_count":17,"forks_count":26,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-17T04:40:56.604Z","etag":null,"topics":["cli","hacktoberfest","java","maven","search"],"latest_commit_sha":null,"homepage":"https://maarten.mulders.it/projects/mcs/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mthmulders.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-09-27T19:33:37.000Z","updated_at":"2026-01-16T20:39:16.000Z","dependencies_parsed_at":"2023-10-02T19:54:02.882Z","dependency_job_id":"d752a606-26d0-429c-a620-f1f3722767b0","html_url":"https://github.com/mthmulders/mcs","commit_stats":null,"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/mthmulders/mcs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthmulders%2Fmcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthmulders%2Fmcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthmulders%2Fmcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthmulders%2Fmcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mthmulders","download_url":"https://codeload.github.com/mthmulders/mcs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthmulders%2Fmcs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508488,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","hacktoberfest","java","maven","search"],"created_at":"2026-01-17T12:38:44.135Z","updated_at":"2026-01-17T12:38:44.221Z","avatar_url":"https://github.com/mthmulders.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Maven Central Search\n\n[![Build status](https://github.com/mthmulders/mcs/actions/workflows/build.yml/badge.svg)](https://github.com/mthmulders/mcs/actions/workflows/build.yml)\n[![Mutation testing badge](https://img.shields.io/endpoint?style=flat\u0026url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fmthmulders%2Fmcs%2Fmain)](https://dashboard.stryker-mutator.io/reports/github.com/mthmulders/mcs/main)\n[![Snapcraft.io status](https://snapcraft.io/maven-central-search/badge.svg)](https://snapcraft.io/maven-central-search)\n![Maven Central Version](https://img.shields.io/maven-central/v/it.mulders/mcs)\n[![Jitpack Snapshot](https://jitpack.io/v/mthmulders/mcs.svg)](https://jitpack.io/#mthmulders/mcs)\n\n\u003e Use [Maven Central Repository Search](https://search.maven.org/) from your command line!\n\nUse `mcs` to quickly lookup dependency coordinates in Maven Central, without having to switch to your browser.\n\n## Usage\n\nThis tool supports the following modes of searching:\n\n1. **Wildcard search**\n\n   ```console\n   mcs search plexus-utils\n   ```\n\n   This will give you all artifacts in Maven Central that have \"plexus-utils\" in their name.\n   The output is in a tabular form, showing the exact coordinate of each artifact and the moment when its latest version was deployed.\n\n2. **Coordinate search**\n\n   ```console\n   mcs search org.codehaus.plexus:plexus-utils\n   mcs search org.codehaus.plexus:plexus-utils:3.4.1\n   ```\n\n   If there are multiple hits, you will get the same table output as above.\n   But if there's only one hit, this will give you by default a pom.xml snippet for the artifact you searched for.\n   Ready for copy \u0026 paste in your favourite IDE!  \n   If you require snippet in different format, use `-f \u003ctype\u003e` or `--format=\u003ctype\u003e`.\n   Supported types are: `maven`, `gradle`, `gradle-short`, `gradle-kotlin`, `sbt`, `ivy`, `grape`, `leiningen`, `buildr`, `jbang`, `gav`.\n\n3. **Class-name search**\n\n   ```console\n   mcs class-search CommandLine\n   mcs class-search -f picocli.CommandLine\n   ```\n\n   This will give you all artifacts in Maven Central that contain a particular class.\n   If you set the `-f` flag, the search term is considered a \"fully classified\" class name, so including the package name.\n\n## Flags\n\n* All modes recognise the `-l \u003cnumber\u003e` switch, which lets you specify how many results you want to see _at most_.\n* In **Wildcard sarch** and **Coordinate search**, you can pass along the `-s` (or `--show-vulnerabilities`) flag.\n  It will cause MCS to show a summary of reported security vulnerabilities against each result.\n  If there is only one search result, it will display the CVE numbers reported against that result.\n  **Note** that this feature will probably soon hit the API limits for the Sonatype OSS Index.\n  See [their documentation](https://ossindex.sonatype.org) for details on how this may impact your usage.\n  You can specify your credentials using the system properties `ossindex.username` and `ossindex.password`.\n  See under \"Configuring MCS\" on how to do this in the most convenient way.\n\n## Installation\n\nYou can install mcs using the package manager of your choice:\n\n| Package manager | Platform |            Installation             | Remarks |\n|-----------------|----------|-------------------------------------|---------|\n| **Homebrew**    | 🍎 🐧    | `brew install mthmulders/tap/mcs`   | ⚠️ 1,2  |\n| **Snap**        | 🐧       | `snap install maven-central-search` | ⚠️ 1    |\n| **SDKMAN!**     | 🍎 🐧    | `sdk install mcs`                   | ⚠️ 1,2  |\n| **Chocolatey**  | 🪟       | `choco install mcs`                 |         |\n| **Scoop**       | 🪟       | `scoop install mthmulders/mcs`      |         |\n| **JBang**       | 🪟 🍎 🐧 | `jbang mcs@mthmulders`              | ⚠️ 3    |\n\n1. The Linux binary only works on an x86_64 CPU.\n2. There are Apple binaries for both x86_64 and Apple Silicon, so you don't need Rosetta.\n3. You can try snapshots by running `jbang mcs-snapshot@mthmulders`.\n\n### Usage with custom trust store\n\nIn certain situations, such as when you work behind a TLS-intercepting (corporate) firewall, MCS may fail with\n\n\u003e PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target\n\nIn layman's speak: the default, built-in trust store (the set of trusted X.509 certificates) does not contain anything that allows to trust the certificate(s) presented by the server.\nMaven Central uses a certificate that would've been trusted, but the culprit here is the TLS-intercepting (corporate) firewall that presents an internal certificate.\n\nThe solution is to create a trust store that has the \"highest\" certificate in the certificate chain, e.g. that of the (internal) certificate authority.\nYou can use a tool like [Portecle](https://portecle.sourceforge.net/) to create such a trust store.\nNext, point MCS to that trust store like so\n\n```\nmcs -Djavax.net.ssl.trustStore=/path/to/keystore search something\n```\n\n### Usage Behind a Proxy\n\nIf you are running behind a proxy, MCS will respect the `HTTP_PROXY` and `HTTPS_PROXY` environment variables.\n\n## Configuring MCS\n\nSome configuration for MCS is passed through system properties.\nYou can do this every time you invoke MCS by adding `-Dxxx=yyy`.\nTo make it more conveniently, you can create a configuration file that will automatically be read by MCS and interpreted as configuration settings.\n\nTo do so, create a directory **.mcs** in your user directory (typically **C:\\Users\\\u003cyour-user-name\u003e** on 🪟, **/home/\u003cyour-user-name\u003e** on 🐧 or **/Users/\u003cyour-user-name\u003e** on 🍎).\nInside that folder, create a file **mcs.config** and write the following line in it:\n\n```\njavax.net.ssl.trustStore=/path/to/keystore\nossindex.username=xxx\nossindex.password=yyy\n```\n\nThis way, you don't have to remember passing the `-D`.\n\n## Contributing\n\nProbably the easiest way to get a working development environment is to use Gitpod:\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/mthmulders/mcs)\n\nIt will configure a workspace in your browser and show that everything works as expected by running `mvn verify`.\nThis setup does not touch your computer - as soon as you close your browser tab, it's gone.\n\nCheckout the [issues](https://github.com/mthmulders/mcs/issues) if you're looking for something to work on.\nIf you have a new idea, feel free to bring it up using the [discussions](https://github.com/mthmulders/mcs/discussions).\n\n## Acknowledgements\n\nMCS would not have been possible without the contributions of wonderful people around the globe.\nThe full list is in [CONTRIBUTORS.md](./CONTRIBUTORS.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmthmulders%2Fmcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmthmulders%2Fmcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmthmulders%2Fmcs/lists"}