# jdx > jdx is an IDE for AI agents, as a command line tool: members, method bodies, usages, type hierarchies and call graphs for any JVM jar, Maven coordinate or the JDK — one precise answer per command. jdx answers the questions an IDE answers for a human — what members a class has, what a method does, who calls it, what implements an interface, what an upgrade breaks — for AI agents, from `.jar`, `-sources.jar`, class and source directories, Maven coordinates and the JDK. It ships as a CLI and an MCP server (`jdx mcp`). Output is minimal, deterministic and names every symbol canonically; ambiguous input exits 2 with candidates instead of guessing. - Install: `curl -fsSL https://raw.githubusercontent.com/MohammadMD1383/jdx/main/install-release.sh | bash` (needs JDK 21+) - Latest release: v1.6.1 - Source: https://github.com/MohammadMD1383/jdx (Apache-2.0) - Every page below is also available as Markdown (the `.md` links). ## Getting started - [Introduction](https://mohammadmd1383.github.io/jdx/docs/introduction/index.md): jdx is an IDE for AI agents, as a command line tool. It answers the questions an IDE answers for a human — what members a class has, what a method does, who… - [Installation](https://mohammadmd1383.github.io/jdx/docs/installation/index.md): jdx installs per user with one command, needs only a Java 21+ runtime, and runs on Linux, macOS and Windows. - [Quickstart](https://mohammadmd1383.github.io/jdx/docs/quickstart/index.md): Five minutes, two classpaths: the JDK (no setup at all) and a library pulled by its Maven coordinate. Every output below is real — it was produced by… - [Use with AI agents](https://mohammadmd1383.github.io/jdx/docs/ai-agents/index.md): Wire jdx into Claude Code, Cursor, Codex, GitHub Copilot, Antigravity, OpenCode, Kilo Code, Cline or any MCP client with one command — or let any… ## Guides - [Symbol references](https://mohammadmd1383.github.io/jdx/docs/symbol-references/index.md): Every jdx command takes a symbol reference in Javadoc style. jdx is generous about what it accepts and canonical about what it prints, so any reference it… - [Classpath & workspaces](https://mohammadmd1383.github.io/jdx/docs/classpath/index.md): jdx answers from a classpath made of jars, class directories, source directories, Maven coordinates and the JDK. This guide covers every way to supply one —… - [Reading code](https://mohammadmd1383.github.io/jdx/docs/reading-code/index.md): Look at a type, list what you can call on it, read one method, or search the whole classpath — each with one command that returns only what was asked. This… - [Usages, hierarchy & calls](https://mohammadmd1383.github.io/jdx/docs/navigating-code/index.md): Find who uses a symbol, what implements a type, who calls a method and what it calls, and real call sites to learn from — across every jar on the classpath,… - [API diff for upgrades](https://mohammadmd1383.github.io/jdx/docs/api-diff/index.md): Before bumping a dependency, ask what the new version breaks. jdx diff compares the public API of two artifacts — jars, class directories or Maven… - [Output, JSON & exit codes](https://mohammadmd1383.github.io/jdx/docs/output/index.md): jdx output is designed to be read by a language model with a finite context window: compact text by default, a complete JSON envelope on request, and exit… - [MCP, daemon, HTTP & batch](https://mohammadmd1383.github.io/jdx/docs/serving/index.md): The one-shot CLI starts in about a quarter of a second. When an agent asks dozens of questions, keep jdx warm instead: an MCP server, a background daemon, a… ## Reference - [Command catalogue](https://mohammadmd1383.github.io/jdx/docs/reference/index.md): Every jdx command with its IDE equivalent and key flags: read, search, graph, API diff, workspaces, serving. - [Agent cheat sheet](https://mohammadmd1383.github.io/jdx/docs/reference/cheat-sheet/index.md): The compact jdx block to paste into CLAUDE.md, AGENTS.md or a system prompt: every command, the ref syntax and the exit codes. - [MCP tools](https://mohammadmd1383.github.io/jdx/docs/reference/mcp-tools/index.md): Every tool the jdx MCP server exposes to Claude Code, Cursor, Codex and other MCP clients, with parameters — generated from jdx mcp. - [version](https://mohammadmd1383.github.io/jdx/docs/reference/version/index.md): jdx version: Print the jdx version. - [upgrade](https://mohammadmd1383.github.io/jdx/docs/reference/upgrade/index.md): jdx upgrade: Self-update this jdx from GitHub Releases (latest, or --version TAG). - [doctor](https://mohammadmd1383.github.io/jdx/docs/reference/doctor/index.md): jdx doctor: Check the jdx environment and report one ok/warn/fail row per check (JDK, javap, cache, config, index, Kotlin module, AppCDS archive, daemon,… - [show](https://mohammadmd1383.github.io/jdx/docs/reference/show/index.md): jdx show: Show the class card for a type: kind, modifiers, supertypes, member counts, provenance and the next command to run. - [members](https://mohammadmd1383.github.io/jdx/docs/reference/members/index.md): jdx members: List the members of a type — the '.' completion equivalent. - [outline](https://mohammadmd1383.github.io/jdx/docs/reference/outline/index.md): jdx outline: Outline a type: one dense line per member declared on it (never inherited members). - [body](https://mohammadmd1383.github.io/jdx/docs/reference/body/index.md): jdx body: Show the body of a member: the verbatim source slice with 1-based line numbers plus provenance (artifact, file, lines). - [source](https://mohammadmd1383.github.io/jdx/docs/reference/source/index.md): jdx source: Show a type's source: the verbatim file with 1-based line numbers plus provenance (artifact, file, lines). - [signature](https://mohammadmd1383.github.io/jdx/docs/reference/signature/index.md): jdx signature: Show the signature of a member: one source-style line per overload with real parameter names, generics, throws and defaults, plus provenance. - [doc](https://mohammadmd1383.github.io/jdx/docs/reference/doc/index.md): jdx doc: Show the javadoc of a type or member: rendered plain text (HTML stripped, inline tags unwrapped, block tags kept) plus provenance (artifact, file,… - [search](https://mohammadmd1383.github.io/jdx/docs/reference/search/index.md): jdx search: Search symbols across the workspace: types, members, packages and JDK modules. - [resolve](https://mohammadmd1383.github.io/jdx/docs/reference/resolve/index.md): jdx resolve: Resolve an unqualified or partial name to every candidate, each with kind and artifact — the disambiguator for unknown symbols in stack traces… - [ls](https://mohammadmd1383.github.io/jdx/docs/reference/ls/index.md): jdx ls: List packages in the workspace ('com.google.*') with type counts; an exact package name ('com.google.gson') lists the types inside it. - [tree](https://mohammadmd1383.github.io/jdx/docs/reference/tree/index.md): jdx tree: Show the package forest of each matching artifact (jar file name or JDK module; default '*' — every artifact). - [usages](https://mohammadmd1383.github.io/jdx/docs/reference/usages/index.md): jdx usages: Find usages of a type or member across the workspace's bytecode roots plus project source dirs: one row per referencing method (bytecode) or… - [hierarchy](https://mohammadmd1383.github.io/jdx/docs/reference/hierarchy/index.md): jdx hierarchy: Show a type's hierarchy: supertypes upward (full transitive chain, interfaces included) and subtypes/implementors downward across the workspace. - [implementors](https://mohammadmd1383.github.io/jdx/docs/reference/implementors/index.md): jdx implementors: List a type's implementors/subtypes across the workspace (alias for `hierarchy --down`). - [callers](https://mohammadmd1383.github.io/jdx/docs/reference/callers/index.md): jdx callers: Show who calls a method, transitively to --depth (default 1): one indented row per calling method, cycle-safe with …(cycle) markers. - [calls](https://mohammadmd1383.github.io/jdx/docs/reference/calls/index.md): jdx calls: Show what a method calls, transitively to --depth (default 1): one indented row per callee, cycle-safe with …(cycle) markers. - [samples](https://mohammadmd1383.github.io/jdx/docs/reference/samples/index.md): jdx samples: Show real call sites as usage examples, ranked by exemplariness (non-test before test, non-generated before generated, fuller overloads first):… - [diff](https://mohammadmd1383.github.io/jdx/docs/reference/diff/index.md): jdx diff: Compare the public API of two artifacts and report every difference, most breaking first: removed members, narrowed visibility, changed… - [batch](https://mohammadmd1383.github.io/jdx/docs/reference/batch/index.md): jdx batch: Answer many queries in one process: read NDJSON RpcRequest lines ({"command":"members","query":"…","params":{…}}) from stdin, print one --json… - [bench](https://mohammadmd1383.github.io/jdx/docs/reference/bench/index.md): jdx bench: Benchmark the read path: run the fixed load/show/members/search/hierarchy workload against the resolved roots and print the timing table with… - [serve](https://mohammadmd1383.github.io/jdx/docs/reference/serve/index.md): jdx serve: Serve the HTTP/JSON API: GET /v1/?query=…&=… for each jdx query, POST /v1/batch for NDJSON batches, GET /v1/health as a liveness… - [setup](https://mohammadmd1383.github.io/jdx/docs/reference/setup/index.md): jdx setup: Wire jdx into an AI agent: write the MCP server entries that launch `jdx mcp` into the agent config (project checkout or user-global). - [mcp](https://mohammadmd1383.github.io/jdx/docs/reference/mcp/index.md): jdx mcp: Serve the MCP stdio server: each jdx query as a typed jdx_* tool with a generated schema, for agents that speak Model Context Protocol. - [help](https://mohammadmd1383.github.io/jdx/docs/reference/help/index.md): jdx help: Print the jdx cheat sheet. - [daemon](https://mohammadmd1383.github.io/jdx/docs/reference/daemon/index.md): jdx daemon: Manage the background daemon: a hot JVM answering queries over a unix socket (start, stop, status, restart). - [ws](https://mohammadmd1383.github.io/jdx/docs/reference/ws/index.md): jdx ws: Manage named workspaces: ordered jar roots reused across queries (create, list, info, remove, use, add). - [cache](https://mohammadmd1383.github.io/jdx/docs/reference/cache/index.md): jdx cache: Manage the index cache: report sizes (info), evict unreferenced artifacts (gc), wipe the regenerable cache (clear). - [kotlin](https://mohammadmd1383.github.io/jdx/docs/reference/kotlin/index.md): jdx kotlin: Manage the Kotlin PSI sidecar: install the side-loaded compiler set so body/source/doc can serve Kotlin sources. ## Advanced - [Design specification](https://mohammadmd1383.github.io/jdx/docs/design/index.md): The full jdx design: symbol grammar, command surface, output design, index, decompilation, Kotlin support, serving, security. - [Testing strategy](https://mohammadmd1383.github.io/jdx/docs/testing/index.md): How jdx is tested: TDD core, javap-differential, property-based, metamorphic, fault-injection and corpus soak tests, mutation gates. - [Built by agents](https://mohammadmd1383.github.io/jdx/docs/built-by-agents/index.md): jdx is a tool for AI agents that is itself written almost entirely by AI agents, working under rules a human owner sets. This page describes how that works… - [AGENTS.md](https://mohammadmd1383.github.io/jdx/docs/agents-md/index.md): The rules every contributor — human or AI agent — follows in the jdx repository: principles, locked decisions, exit codes, build and test gates. - [Contributing](https://mohammadmd1383.github.io/jdx/docs/contributing/index.md): How to contribute to jdx: conventions, code style, the command checklist, testing and documentation discipline. ## Optional - [jdx — an IDE for AI agents](https://mohammadmd1383.github.io/jdx/index.md): jdx gives AI coding agents an IDE for the JVM: members, method bodies, usages, call graphs and API diffs for any jar, Maven coordinate or the JDK, as a CLI and MCP server. - [jdx for AI coding agents](https://mohammadmd1383.github.io/jdx/integrations/index.md): Connect jdx to OpenCode, Claude Code, Cursor, Kilo Code, Cline, Codex CLI, GitHub Copilot CLI, Antigravity or any MCP client: one command gives your coding… - [jdx for OpenCode](https://mohammadmd1383.github.io/jdx/integrations/opencode/index.md): Give OpenCode an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [jdx for Claude Code](https://mohammadmd1383.github.io/jdx/integrations/claude-code/index.md): Give Claude Code an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [jdx for Cursor](https://mohammadmd1383.github.io/jdx/integrations/cursor/index.md): Give Cursor an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [jdx for Kilo Code](https://mohammadmd1383.github.io/jdx/integrations/kilo/index.md): Give Kilo Code an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [jdx for Cline](https://mohammadmd1383.github.io/jdx/integrations/cline/index.md): Give Cline an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [jdx for Codex CLI](https://mohammadmd1383.github.io/jdx/integrations/codex/index.md): Give Codex CLI an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [jdx for GitHub Copilot CLI](https://mohammadmd1383.github.io/jdx/integrations/copilot/index.md): Give GitHub Copilot CLI an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [jdx for Antigravity](https://mohammadmd1383.github.io/jdx/integrations/antigravity/index.md): Give Antigravity an IDE for Java, Kotlin and JVM jars: wire the jdx MCP server in one command, then ask for members, bodies, usages and call graphs. - [Frequently asked questions](https://mohammadmd1383.github.io/jdx/faq/index.md): Answers about jdx: what it is, how it differs from javap and grep, safety, supported agents, Kotlin, performance and licensing. - [Changelog](https://mohammadmd1383.github.io/jdx/changelog/index.md): Release notes for every jdx version: new commands, flags, agent integrations and fixes, up to v1.6.1. - [llms-full.txt](https://mohammadmd1383.github.io/jdx/llms-full.txt): every doc page above, concatenated