ICP server vyhodnocuje a odpovídá na ICP dotazy klientů. Tito klienti mohou být jak PET cache tak jiné cache komunikujících pomocí standardního protokolu ICP.
Pro ICP server se spouští samostatný thread (icp_serverthread), který poslouchá na příslušném portu a vyřizuje ICP dotazy. Po přijmutí dotazu server extrahuje dokument, na který je dotaz směřován, zavolá funkce modulu storage, které vrátí status dokumentu (je v cache, není ,..) a nakonec odešle odpověď.