A Java Chess Protocol Interface
Clone or download
Latest commit 7d89fc9 May 25, 2016


Java Chess Protocol Interface

Copyright 2007-2015 Flux Chess Project

Build Status Coverage Status


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 Maven use the following code:



To use it in Gradle use the following code:

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

Build it

The Java Chess Protocol Interface uses Gradle as build system. To build it from source, use the following steps.

  • get it
    git clone https://github.com/fluxroot/jcpi.git

  • build it
    ./gradlew build

  • grab it
    cp build/distributions/jcpi-<version>.zip <installation directory>


The Java Chess Protocol Interface is released under version 2.0 of the Apache License.