datajud-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATAJUD_API_KEY | Yes | CNJ's public DataJud API key, published at datajud-wiki.cnj.jus.br/api-publica/acesso. It is not a secret, but CNJ rotates it, so copy the current value from there. | |
| DATAJUD_TIMEOUT_MS | No | Per-attempt HTTP timeout in milliseconds. Default 90 s. | 90000 |
| DATAJUD_MAX_ATTEMPTS | No | Maximum number of HTTP attempts. Default 4. | 4 |
| DATAJUD_TOTAL_TIMEOUT_MS | No | Total timeout across retries in milliseconds. Default 180 s. | 180000 |
| DATAJUD_REQUESTS_PER_MINUTE | No | Sliding-window rate limit in requests per minute. Default 120, the cap allowed by the Terms of Use. | 120 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_caseA | Fetch the public cover data of a Brazilian court case from CNJ's DataJud: class, subjects, court unit, filing date, instance and its most recent movement. Returns one record per instance. Party and lawyer names are not available in DataJud. Expect 20-60 s latency. |
| list_movementsA | List the procedural movements (docket entries) of a case, newest first by default, grouped by instance. Each movement carries its TPU code, the Portuguese name, structured complements and, for common codes, a plain-English hint. Use |
| search_casesA | Search one court's public cases by procedural class, subject, court unit and/or filing date range. Class and subject use numeric codes from CNJ's Unified Procedural Tables (TPU); |
| list_courtsA | List the courts available in DataJud and their aliases (the |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct resource and action: fetching one case, listing movements for a case, listing courts, and searching cases. The boundaries are clear, and the descriptions reinforce when to use search_cases versus get_case or list_movements.
All tools use consistent snake_case verb_noun naming (get_case, list_movements, list_courts, search_cases). The verbs accurately reflect the operations and there are no mixed conventions.
Four tools are well-scoped for a focused court-data server and each earns its place: discovery, search, case retrieval, and movement retrieval. Nothing appears redundant or missing at the count level.
The surface covers the core lifecycle: discover courts, search cases, fetch case covers, and list movements with incremental updates via `since`. A minor gap is the lack of a tool to resolve CNJ TPU class/subject codes, which search_cases requires as numeric inputs.