Javadocs
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Access to Java, Kotlin, and Scala library documentation.
| Access | remote |
|---|---|
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 153 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"javadocs": {
"url": "https://www.javadocs.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
get_latest_versionread-onlyResolves the latest published version of a Maven Central artifact (any groupId:artifactId — Java, Kotlin, or Scala library). Call this first when you only know the artifact but not the version: the version it returns feeds into every other tool here that takes a concrete version. By default it returns the latest release, sorted by Maven version order and skipping pre-releases; set `includePreReleases` to true to get the newest version of any kind (milestone, RC, beta...), e.g. when a class or method you are looking for is missing from the latest release. Works against the live Maven Central catalog — no local install, build tool, or repository checkout required.
Parameters:
groupId(required) — string — The Maven groupId, e.g. "dev.zio".artifactId(required) — string — The Maven artifactId, e.g. "zio_3".includePreReleases— boolean — Optional, default false. When true, also consider pre-releases (milestones, RCs, betas, alphas, snapshots), e.g. to find a new API that only exists in a milestone. When false, returns the latest release (or the newest pre-release if the artifact has no release at all).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_javadoc_indexread-onlyFetches the rendered Javadoc/Scaladoc index page for a specific Maven Central artifact version, converted to plain text/markdown. Useful for orienting yourself in an unfamiliar library: it lists the top-level packages, modules, and (for Scaladoc) often a curated overview. Use this before drilling into specific symbols. Works against the live Maven Central catalog — you do not need to download the javadoc jar.
Parameters:
groupId(required) — string — The Maven groupId, e.g. "dev.zio".artifactId(required) — string — The Maven artifactId, e.g. "zio_3".version(required) — string — The artifact version, e.g. "2.1.9".
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_javadoc_symbolsread-onlyEnumerates the public API a library documents — classes, interfaces, traits, objects, enums, and annotations — for a Maven Central artifact version. Each entry includes the fully-qualified class name (`fqn`) and a `link` that can be passed to get_javadoc_symbol to read the rendered API documentation. Use this to answer 'which classes/types does library X have?' or 'find classes related to <topic>' — it is the fastest way to list the API by name without reading code. Prefer this over list_source_files whenever you only need class/type names. Pass `filter` (e.g. a class name) to get only the matching entries: large libraries list hundreds of symbols, so filtering saves a lot of context when you are looking for one type. Only if this returns NotFoundError because no javadoc jar was published, fall back to list_source_files. Works against the live Maven Central catalog with no local install, build, or checkout required.
Parameters:
groupId(required) — string — The Maven groupId, e.g. "dev.zio".artifactId(required) — string — The Maven artifactId, e.g. "zio_3".version(required) — string — The artifact version, e.g. "2.1.9".filter— string — Optional. Only return symbols whose fully-qualified name contains this text (case-insensitive; several space-separated terms must all match), e.g. "PolymorphicTypeValidator" or "judge Builder". Omit to list every symbol.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_javadoc_symbolread-onlyReads one Javadoc/Scaladoc page from a Maven Central artifact, already converted to plain text/markdown so you don't have to parse HTML. Pass the `link` value returned by list_javadoc_symbols. Navigation and links to external sites are stripped; the links that remain point at other pages of the same jar and can be passed back as `link` to follow them. Use this when you need to know what a class, method, or field does and what its parameters mean for any library on Maven Central — without downloading or unzipping the javadoc jar yourself.
Parameters:
groupId(required) — string — The Maven groupId, e.g. "dev.zio".artifactId(required) — string — The Maven artifactId, e.g. "zio_3".version(required) — string — The artifact version, e.g. "2.1.9".link(required) — string — The relative path/link within the jar, as returned by list_javadoc_symbols or list_source_files.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_source_fileread-onlyReads one source file from a Maven Central library's sources jar (the `-sources.jar` artifact). Pass the `link` value returned by list_source_files. Use this whenever you need the exact source text of a JVM library — tracing behavior into a dependency, confirming a public API's implementation, finding a definition, or comparing two library versions. Strongly preferred over locating the jar in a local build cache and unzipping it: it works for any Maven Central artifact, no local checkout or build needed.
Parameters:
groupId(required) — string — The Maven groupId, e.g. "dev.zio".artifactId(required) — string — The Maven artifactId, e.g. "zio_3".version(required) — string — The artifact version, e.g. "2.1.9".link(required) — string — The relative path/link within the jar, as returned by list_javadoc_symbols or list_source_files.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_source_filesread-onlyLists the raw source files (`.java`, `.kt`, and `.scala`) in a Maven Central artifact version's `-sources.jar`. Each returned path can be passed to get_source_file to read the actual source code. Use this only when you need the implementation — for example, to trace behavior or see how something is wired. To discover which classes exist, or to find classes by topic or name, use list_javadoc_symbols instead; do not use this tool just to enumerate classes. Works against the live Maven Central catalog with no local install, build, or checkout required.
Parameters:
groupId(required) — string — The Maven groupId, e.g. "dev.zio".artifactId(required) — string — The Maven artifactId, e.g. "zio_3".version(required) — string — The artifact version, e.g. "2.1.9".
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_artifactsread-onlyFinds Maven coordinates from part of a library name: searches the javadocs.dev index of Maven Central artifacts for groupId:artifactId values containing every word of the query (case-insensitive). Use this when you know part of a library name (e.g. "jackson", "zio-http", "netty-codec") and need the exact groupId:artifactId coordinates to feed into the other tools. Query with name fragments only — versions are not part of the match. The same artifactId can be published under several groupIds (e.g. jackson-databind: com.fasterxml.jackson.core for 2.x, tools.jackson.core for 3.x), so check each candidate with get_latest_version. To find the library that contains a class, use symbol_to_artifact instead.
Parameters:
query(required) — string — The text to search for — e.g. a class/type name, a package, or part of a groupId/artifactId.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
symbol_to_artifactread-onlyFinds which Maven artifact contains a given Java/Kotlin/Scala class: resolves a class name, nested type (e.g. Outer.Builder), fully-qualified type, or package name to the Maven Central artifacts (groupId, artifactId) that publish it. Exact case is preferred; a case-insensitive match is tried if that finds nothing. Several artifacts can contain the same simple name (e.g. a Java and a Scala library): check each result rather than assuming the first. Use this when you have a symbol from a stack trace, an import line, or an error message and you need to know which library to look in. From there, chain into get_latest_version, then list_source_files / list_javadoc_symbols to read the code or docs.
Parameters:
query(required) — string — The text to search for — e.g. a class/type name, a package, or part of a groupId/artifactId.
Hints: read-only yes · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.