{"specVersion":"1.0","host":{"displayName":"jdx","documentationUrl":"https://mohammadmd1383.github.io/jdx/docs/","logoUrl":"https://mohammadmd1383.github.io/jdx/apple-touch-icon.png"},"entries":[{"identifier":"urn:air:mohammadmd1383:jdx:mcp-server","displayName":"jdx MCP server","type":"application/mcp-server-card+json","description":"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.","data":{"name":"jdx","title":"jdx — an IDE for AI agents","description":"jdx — an IDE for AI agents: Java/Kotlin structure, sources, usages and call graphs, one precise question per tool. Every answer carries provenance; ambiguous refs list candidates instead of guessing.","websiteUrl":"https://mohammadmd1383.github.io/jdx/","repository":{"url":"https://github.com/MohammadMD1383/jdx","source":"github"},"transport":{"type":"stdio","command":"jdx","args":["mcp"]},"install":"curl -fsSL https://raw.githubusercontent.com/MohammadMD1383/jdx/main/install-release.sh | bash","tools":[{"name":"jdx_show","description":"Go to declaration: the class card for a type (kind, supertypes, source, provenance)."},{"name":"jdx_members","description":"List the members of a type — the '.' completion equivalent. Inherited members are included by default, grouped by declaring type."},{"name":"jdx_outline","description":"File Structure: one dense line per member declared on a type (never inherited)."},{"name":"jdx_body","description":"Open the method: the source body of one member, sliced verbatim with provenance."},{"name":"jdx_source","description":"Open the file: whole source for a type, or a slice of it, with provenance."},{"name":"jdx_signature","description":"Parameter info: one signature line per overload, with real parameter names."},{"name":"jdx_doc","description":"Quick documentation for a type or member, falling back to the nearest documenting supertype like IntelliJ quick-doc."},{"name":"jdx_search","description":"Search everywhere: symbols by glob, regex or fuzzy name, with did-you-mean."},{"name":"jdx_resolve","description":"What is this symbol? Short-name resolution with copy-pasteable candidates."},{"name":"jdx_ls","description":"External library browser: packages in the workspace roots."},{"name":"jdx_tree","description":"External library browser: artifacts and their package trees."},{"name":"jdx_usages","description":"Find usages of a type or member across the workspace jars and source dirs."},{"name":"jdx_hierarchy","description":"Type hierarchy: supertypes upward and subtypes downward across the workspace."},{"name":"jdx_implementors","description":"Who implements this interface or extends this class, transitively."},{"name":"jdx_callers","description":"Call hierarchy in: who calls this method, as a depth-bounded tree."},{"name":"jdx_calls","description":"Call hierarchy out: what this method calls, as a depth-bounded tree."},{"name":"jdx_samples","description":"How is this symbol really used? Ranked call sites with source snippets as evidence."},{"name":"jdx_diff","description":"What changed between two artifacts? Public-API diff with named binary-compatibility rules (MEMBER_REMOVED, RETURN_TYPE_CHANGED, ...), most breaking first. `query` is the OLD artifact and `new` the candidate; each is a jar, class dir, glob, or Maven coordinate. Exits 0 whenever the comparison ran."},{"name":"jdx_version","description":"The jdx version this server was built as."},{"name":"jdx_doctor","description":"Environment report. The server refuses this over MCP — it describes the server's machine, not the client's — run `jdx doctor` in a shell instead."},{"name":"jdx_health","description":"Liveness probe: uptime, workspace served and queries answered."}]},"tags":["AI coding agent","MCP server","Java","Kotlin","JVM","jar inspection","decompiler","find usages","call hierarchy","javap alternative","Claude Code","Cursor","Codex"],"capabilities":["jdx_show","jdx_members","jdx_outline","jdx_body","jdx_source","jdx_signature","jdx_doc","jdx_search","jdx_resolve","jdx_ls","jdx_tree","jdx_usages","jdx_hierarchy","jdx_implementors","jdx_callers","jdx_calls","jdx_samples","jdx_diff","jdx_version","jdx_doctor","jdx_health"],"representativeQueries":["MCP server to inspect Java and Kotlin jars","find usages and call hierarchy in JVM dependencies for an AI agent","show a method body from a Maven dependency without reading the whole file","javap alternative for Claude Code or Cursor","detect breaking API changes when upgrading a Java library"],"version":"1.6.1","updatedAt":"2026-10-12T10:05:35Z"},{"identifier":"urn:air:mohammadmd1383:jdx:agent-cheat-sheet","displayName":"jdx agent cheat sheet","type":"text/markdown; profile=\"urn:air:agent-skills\"","url":"https://mohammadmd1383.github.io/jdx/docs/reference/cheat-sheet/index.md","description":"Paste-ready instructions that teach a coding agent to use the jdx CLI: commands, symbol reference syntax and exit codes.","tags":["Java","Kotlin","JVM","CLI"],"representativeQueries":["teach my coding agent to inspect java jars","CLAUDE.md instructions for java library lookup"]}]}
