As you note, it’s “just” a query language, and you don’t need a server per se . For example, in the reference graphql-js implementation, you can just call graphql with a query; similarly, in graphql-ruby, you can #execute a query on a schema object. The usual case for GraphQL “in the wild” is as an API layer, though.