Download
One artefact. Nothing behind it.
jOpenAgent is published to Maven Central under the Apache License 2.0. Adding it to a project adds exactly one jar to the classpath. There are no transitive dependencies to resolve, review, pin or patch.
Java 21+ 0 transitive dependencies Apache 2.0 Maven Central
Build tools
Add the dependency
<dependency>
<groupId>org.jopenagent</groupId>
<artifactId>jopenagent</artifactId>
<version>1.0.0</version>
</dependency>
dependencies {
implementation 'org.jopenagent:jopenagent:1.0.0'
}
dependencies {
implementation("org.jopenagent:jopenagent:1.0.0")
}
libraryDependencies += "org.jopenagent" % "jopenagent" % "1.0.0"
What ships
Three artefacts, published together
jopenagent-1.0.0.jar
The framework. Compiled for Java 21. Everything on this site is in here: MCP, memory, skills, all four trace exporters, both trace viewers, the sandbox and the eval harness.
…-sources.jar
Full sources, so your IDE shows you the real implementation when you step into it. This is a framework you are meant to read.
…-javadoc.jar
Generated API documentation for every public type, available inline in your IDE with no separate site to consult.
No build tool required
The jar is a complete installation
Because there are no transitive dependencies, there is nothing for a build tool to resolve.
Download the jar, put it on the classpath, and you have the whole framework, whether that is an
Eclipse project, an IntelliJ module, an air-gapped build, or a plain
javac / java invocation.
javac -parameters -cp jopenagent-1.0.0.jar MyAgent.java java --add-modules jdk.jshell -cp .:jopenagent-1.0.0.jar MyAgent
On Windows, use ; instead of : as the classpath separator.
--add-modules jdk.jshell is only needed for the CODE_ACT strategy.
Source
Build it yourself
The full source is on GitHub under Apache 2.0, including the test suite, the nineteen examples and the documentation generator. Clone it, read it, fork it, ship it.
git clone https://github.com/openconcerto/jOpenAgent.git
Requirements
What you need
JDK 21 or newer
Any distribution. Records and pattern matching are used throughout.
Compile with -parameters
So parameter names survive into the bytecode and reach the prompts and schemas.
Run with --add-modules jdk.jshell
Only for CODE_ACT. Nothing else in the framework needs it.
A model
An Anthropic or OpenAI key, or a local LM Studio / Ollama server, which needs neither.
npx on
PATH to launch reference MCP servers, which is a requirement of those servers rather
than of jOpenAgent. Real embeddings need an embedding endpoint, hosted or local; the default
HashingEmbedder needs nothing and works offline.