Dike

Documentation

Everything to build against the Dike API: authentication, every endpoint's request/response shape, MCP & agent integration, and worked examples that chain multiple calls together.

Dike is a REST (and gRPC-mirrored) API for Arabic legal search and reasoning across Egypt and Saudi Arabia. It's built around one constraint: every citation an answer returns is checked against what was actually retrieved from the corpus before it reaches you — nothing is fabricated to fill a gap in coverage or avoid an unsatisfying answer.

Under the hood, queries run through a hybrid dense + sparse retrieval pipeline (BGE-M3 embeddings, server-side RRF fusion in Qdrant, optional cross-encoder reranking), then hydrate against MongoDB for document metadata. Grounded question-answering adds a hallucination guard on top: the model can only cite documents that were actually retrieved, and any citation it invents gets stripped before the answer is returned, not silently allowed through.

The same corpus is reachable three ways — plain REST, a gRPC mirror for agent tool-use loops that already speak gRPC, and a remote MCP server for connecting directly into Claude, Cursor, or any MCP-capable agent without installing anything locally.