The Java Chess Protocol Interface provides a clean object-oriented interface to the UCI protocol. It handles all the standard I/O communication and creates well defined Java objects for the engine to consume.

Use it

Inside the distribution zip you’ll find the JCPI jar. Add it to your engine project as an additional dependency and extend the AbstractEngine class. The JCPI jar is also available from our Maven repository.

To use it in Gradle use the following code:

repositories {
  maven {
    url ''
dependencies {
  compile 'com.fluxchess:jcpi:1.4.+'