Chess Engine Communication Protocol
Chess Engine Communication Protocol è un protocollo di comunicazione libero che permette ad un motore scacchistico di comunicare con la sua interfaccia grafica.
È stato progettato da Tim Mann, l'autore di XBoard. Inizialmente era pensato solo per far comunicare GNU Chess con una shell testuale, difatti la prima vesrsione era semplicemente una interfaccia in linea di comando per quest'ultimo. Il protocollo venne usato da XBoard per interfacciare poi GNU Chess con una vera interfaccia grafica.
Il protocollo si è sviluppato molto e supporta numerose varianti scacchistiche, come gli scacchi960, bughouse, crazyhouse, vinciperdi, atomic. Supporta la gestione del tempo con orologi tradizionali, con l'incremento di tempo e con il tempo esatto per mossa. Attualmente è supportato in maniera più o meno completa da oltre 300 motori e una trentina di interfacce. Verso il 2008 è stata implementata la possibilità di impostare l'utilizzo di memoria e il numero di thread di ricerca (molto utile nei sistemi multiprocessore).