DataJud (CNJ)
Server Details
Public lookup of Brazilian court cases (metadata + docket) via the CNJ/DataJud API. Free, no login.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/datajud-mcp
- GitHub Stars
- 2
- Server Listing
- DataJud (CNJ)
Available Tools
10 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and no destructive hint. The description adds behavioral context: it returns a link if called without args, and accepts a token for session login. It does not disclose potential side effects like token validation or expiration, but annotations already cover idempotency. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, each providing distinct information: purpose, permanent setup, and session usage. It is front-loaded and efficient, though slightly verbose. Still earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Considering the tool's simplicity and the absence of an output schema, the description covers the essential usage scenarios and token handling. It lacks details about return format or error handling, but for an authentication tool, the core guidance is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains the 'token' parameter as a JWT and specifies when to use it (after user pastes) vs calling without args to get a link. This provides necessary semantic meaning that the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: authentication for MCP.AI IDE agents. It explains the login flow, token acquisition, and distinguishes between permanent config and session-only usage. Sibling tools are unrelated, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool (for authentication) and provides two use cases (permanent via config header, session via token argument). However, it does not explicitly exclude scenarios or mention alternatives, though none are needed given the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectARead-onlyIdempotentInspect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, covering safety and idempotency. The description adds behavioral details on return states, but does not disclose additional traits like rate limits or authentication needs. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and provide conditional details. No wasted words, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter read-only tool with no output schema, the description sufficiently explains the two return states. Complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. The description adds no parameter information, but none is needed. Baseline 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns connection status and URLs, and explains two distinct cases (all connected vs missing credentials). It distinguishes from sibling 'authenticate' by implication, as this tool checks status rather than performing authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking connection status, but does not explicitly state when to use this tool versus alternatives like 'authenticate'. No guidance on when not to use it or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datajud_get_processoARead-onlyIdempotentInspect
Busca um processo pelo número único do CNJ (com ou sem máscara) em um tribunal. Retorna metadados + movimentações de cada instância encontrada. Quando não encontra, NÃO devolve só lista vazia: vem um bloco ausencia com o motivo provável (numero_invalido | tribunal_divergente | nao_publicado | carga_ausente) e a explicação. Leia esse bloco antes de repetir a consulta em outra tool: a API pública do CNJ não publica processo em segredo de justiça, então nao_publicado NÃO significa que o processo não existe.
| Name | Required | Description | Default |
|---|---|---|---|
| tribunal | Yes | ||
| numero_processo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavior beyond the readOnly/idempotent annotations: it discloses that a not-found result returns an `ausencia` block with specific reason codes rather than an empty list. It also warns that `nao_publicado` does not imply the process does not exist, which is critical for correct interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary action and then adds only high-value behavioral details. Every sentence earns its place, especially the explanation of the `ausencia` block and the secrecy-of-justice caveat, without excessive padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does a good job summarizing returns: metadata, movements, and the absence block with reason codes. It does not mention authentication requirements or pagination, but given the focused lookup nature of the tool and the readOnly annotations, the description is substantially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds useful meaning to `numero_processo` by stating it is the unique CNJ number and accepts masked/unmasked formats. The `tribunal` parameter is left to the enum, but the schema already enumerates valid values, so the main formatting ambiguity is addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: it looks up a process by the unique CNJ number and returns metadata plus movements, which is specific and actionable. It does not explicitly differentiate from siblings like datajud_search or datajud_movimentos, but the unique-number lookup makes the purpose distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied: use this tool when you have a CNJ number and a specific tribunal. It provides post-query guidance about reading the `ausencia` block before retrying elsewhere, but it does not explicitly state when to choose this over sibling tools like datajud_search or datajud_movimentos.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datajud_movimentosARead-onlyIdempotentInspect
Retorna apenas a timeline de movimentações (+ metadados) de um processo — ideal pra detectar se houve movimentação nova. Sem resultado, instancias vem vazio acompanhado do mesmo bloco ausencia de datajud_get_processo (motivo provável + explicação) — leia antes de re-tentar.
| Name | Required | Description | Default |
|---|---|---|---|
| tribunal | Yes | ||
| numero_processo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnly, idempotent, non-destructive. The description adds valuable behavior beyound that: it explains the no-result shape (`instancias` vazio with an `ausencia` block), and warns the agent to read that block before retrying. This is genuinely useful behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry high signal density: the first front-loads purpose and use case, the second handles the edge case and retry guidance. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the empty-result case well and points to a sibling for the `ausencia` explanation, which is helpful. However, with no output schema, the description does not fully describe the normal return structure of `movimentacoes` and its metadata fields. It is adequate for a simple timeline check, but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the parameters or their formats. While `tribunal` is constrained by an enum and `numero_processo` is self-descriptive as a case number, the description provides no additional meaning about expected input formats or how they relate to the returned timeline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retorna') and a specific resource ('a timeline de movimentacões (+ metadados) de um processo'), clearly distinguishing it from a full case fetch by saying 'apenas'. It also ties it to a concrete use case, detecting new movements, which makes its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use this when you need to detect whether a case has new movements. It does not explicitly list alternatives or when-not instructions, but it does reference datajud_get_processo for the empty-result block, which indirectly orients the agent toward related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datajud_raw_queryARead-onlyIdempotentInspect
Avançado: envia um corpo de query Elasticsearch cru pro índice do tribunal (escape hatch). Use search_after pra paginar além de 10k.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | ||
| size | No | ||
| sort | No | ||
| query | Yes | ||
| tribunal | Yes | ||
| search_after | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful non-obvious behavior: the tool accepts a raw Elasticsearch body and has a 10k pagination ceiling, recommending search_after. This meaningfully supplements the annotation baseline without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the first establishes the tool's purpose and advanced/escape-hatch nature, the second gives the critical pagination caveat. No filler, no repetition of schema or annotation data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no output schema and 0% parameter coverage, this is too thin. It does not describe the response shape, default page size, required query DSL knowledge, or how this tool relates to datajud_search. An agent invoking it correctly would still need to infer several important details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries real weight. It clarifies that 'query' is a raw Elasticsearch query body and explains the purpose of 'search_after'. However, it does not explain from, size, sort, or how 'tribunal' selects the target index, though those are partially inferable from names and the enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('envia') and resource ('corpo de query Elasticsearch cru pro índice do tribunal'), and characterizes the tool as an 'escape hatch'. This clearly separates it from the higher-level datajud_search and datajud_get_processo siblings, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The terms 'Avançado' and 'escape hatch' imply that this tool is for cases where normal search tools are insufficient, and the instruction to use search_after beyond 10k gives concrete usage guidance. However, there is no explicit statement about when not to use it or which sibling should be preferred for standard queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datajud_searchARead-onlyIdempotentInspect
Busca processos em um tribunal por classe, órgão julgador e/ou assunto (códigos das tabelas do CNJ), paginada e ordenada por data de ajuizamento. DataJud NÃO indexa nome de parte nem OAB — pra isso use o MCP djen/escavador.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | ||
| size | No | ||
| tribunal | Yes | ||
| sort_desc | No | ||
| classe_codigo | No | ||
| assunto_codigo | No | ||
| numero_processo | No | ||
| orgao_julgador_codigo | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, non-destructive. The description adds that results are paginated and ordered by filing date, and that it does not index names. This adds useful context beyond annotations, though more details (e.g., rate limits) could be included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and usage caveat, with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, no output schema, and no parameter descriptions in schema, the description is adequate but not fully comprehensive. It omits details about 'numero_processo' and return format, leaving some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions filtering by classe, orgao_julgador, assunto (códigos), and pagination/ordering, covering most parameters. However, 'numero_processo' is not explained, and parameter details are not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches processes in a tribunal by class, judging body, and subject (CNJ codes), paginated and ordered by filing date, and explicitly distinguishes itself from a sibling by stating what it does not index (party name/OAB).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when not to use this tool ('DataJud NÃO indexa nome de parte nem OAB') and provides an alternative ('pra isso use o MCP djen/escavador'), giving clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplaceAInspect
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| action | No | search | |
| mcp_id | No | ||
| message | No | ||
| tool_id | No | ||
| arguments | No | {} | |
| immediate | No | ||
| tier_slug | No | ||
| prompt_body | No | ||
| prompt_slug | No | ||
| prompt_tool | No | ||
| prompt_vars | No | {} | |
| conversation | No | [] | |
| prompt_title | No | ||
| request_name | No | ||
| cancel_reason | No | ||
| cancel_comment | No | ||
| prompt_targets | No | ||
| report_context | No | ||
| prompt_category | No | ||
| request_details | No | ||
| prompt_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false) are enriched by the description's disclosures: invoke runs tools one-off without installation, returns connect/checkout links for credentials/payment, and writes require workspace owner/admin. There is no contradiction with annotations, and the description adds crucial execution and permission context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but front-loads the core purpose and uses signposts like 'Core flow:', 'KEY:', 'Use install only...', and 'Writes...' to organize many actions. Every sentence adds value, though the length could be reduced by splitting into sections or listing actions more compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 actions, 23 params) and the absence of output schema and parameter descriptions, the description covers essential workflows, auth/payment edge cases, permission requirements, and the prompt library. It still leaves a few schema elements unexplained (e.g., resume, immediate, tier_slug), making it thorough but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 23 parameters and 0% schema description coverage, the description compensates by explaining key parameters (action, mcp_id, tool_id, arguments, prompt_slug, prompt_vars) through workflow narrative. However, several parameters like immediate, tier_slug, resume, cancel_reason, conversation, and prompt_targets are left to inference from names/enums, so the compensation is good but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as the official mcp.ai marketplace and catalog of every MCP/tool, with a specific verb-driven core flow: search, describe, invoke. It provides concrete examples of capability requests and distinguishes itself from sibling tools that are specific MCPs, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit decision criteria: 'prefer invoke for a single/occasional use', 'Use install only to make an MCP PERMANENT', and explains when list_tools, report_bug, request_mcp, and prompt actions are appropriate. It also details edge cases (auth and payment links, retry instructions) that guide the agent on next steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_bugAIdempotentInspect
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| conversation | No | [] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. The description adds that the tool reports bugs/feedback, implying a creation action, but doesn't detail side effects (e.g., ticket creation). It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundant information. It is front-loaded with the purpose and ends with a usage instruction. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema, the description covers the primary action and a key usage hint. However, it lacks explanation of the 'context' parameter. Overall adequate for an agent to use, but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description clarifies that 'conversation' should be included, but does not explain 'context' or the expected format of 'conversation' (though default suggests JSON array string). Only one of three parameters gets meaningful context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states three purposes: report a bug, missing feature, or send feedback. It uses specific verbs and a clear resource, and it distinguishes from sibling tools which are unrelated (e.g., data queries, authentication).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises to include the conversation array with recent messages for reproduction, which is a direct usage guideline. It doesn't explicitly mention when not to use it, but the tool's uniqueness among siblings makes the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_versionARead-onlyIdempotentInspect
Show the current MCP platform and adapter versions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, fully describing the safety profile. The description adds value by specifying exactly what is shown ('platform and adapter versions'), which is consistent with the annotations. There is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that contains no filler words and is immediately understandable. It is perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, comprehensive annotations, and no output schema, the description is fully sufficient. It tells the agent exactly what the tool returns (version info) and there are no gaps in the information needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the scoring rules the baseline is 4. The description does not need to add parameter semantics, and nothing is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely states that the tool shows the current MCP platform and adapter versions. It pairs a clear verb ('Show') with a specific resource ('versions'), and it effectively distinguishes itself from all sibling tools (e.g., authenticate, connect) which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Although the description does not explicitly state when to use this tool or compare it to alternatives, the context is clear: checking platform/adapter versions is a diagnostic action that stands apart from the other tools. The simplicity and self‐contained nature of the tool make additional guidance unnecessary, so a score of 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toolkit_infoARead-onlyIdempotentInspect
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, covering safety. The description adds content-level transparency by specifying the exact fields returned (installed MCPs, connection status, accounts, tool counts), which is useful beyond the annotations. It does not discuss potential latency or network calls, but that is not necessary given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the verb and uses a colon to introduce a concise list of return fields. There is no filler or repetition; every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema, safe read-only operation), the description fully explains what the tool returns and is sufficient for an agent to decide when and how to invoke it. It covers all key aspects of 'toolkit state' without leaving gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty with 100% coverage. With no parameters to document, the baseline is 4, and the description appropriately focuses on the output rather than inputs. No additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and clearly identifies the resource ('current toolkit state'), then enumerates exactly what that includes: installed MCPs, connection status, connected accounts, and catalog tool counts. This distinguishes it from sibling tools like datajud_search or authenticate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool is for inspecting the overall toolkit status, which implicitly signals when it should be used (e.g., before connecting or querying). However, it does not explicitly name alternatives or state when not to use it, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Free Brazilian CNPJ lookup (legal name, status, partners) + lawsuit discovery. Public data, no login
Simplified lookup of a person's or company's lawsuits from the CPF or CNPJ. Platform-hosted, no cred
Looks up cases in the state Court of Justice by CPF, CNPJ, party name, case number, instance, and st
Full lookup of a person's or company's lawsuits from the CPF or CNPJ, with per-case detail. Platform
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables legal research by querying public official sources for processes, sanctions, DJEN publications, and jurisprudence using names, CPF, CNPJ, or CNJ numbers, without login.2MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for querying Brazil's CNJ DataJud public API. Enables validating CNJ process numbers, searching lawsuits by number, and listing courts.MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables interaction with Brazil's Electronic Judicial Process (PJe) system to search for legal processes, view case details, and download court documents. Supports secure JWT authentication and process lookup by CPF/CNPJ or party name.
- AlicenseNot gradedqualityCmaintenanceEnables querying official first-degree court case information from the São Paulo Court of Justice (TJSP). It provides a read-only MCP tool, accessible via HTTP, with pay-per-use pricing and no platform credentials required.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a distinct purpose with clear descriptions. The DataJud-specific tools (datajud_*) are well-separated from platform tools (authenticate, connect, marketplace, etc.), and even similar tools like datajud_get_processo and datajud_movimentos are differentiated by their scope.
Naming conventions are inconsistent: some tools are plain verbs (authenticate, connect), others are nouns (marketplace, toolkit_info), and the datajud_ prefix is applied to a mix of noun and verb phrases (datajud_movimentos vs datajud_get_processo). This lacks a predictable pattern.
With 10 tools, the count is within the typical range for a server. However, the inclusion of generic platform tools alongside domain-specific DataJud tools slightly dilutes the focus, though each tool serves a distinct role.
The DataJud domain coverage is adequate for common operations (login, search, fetch details, movements, raw query). The platform tools also cover essential actions like marketplace management and bug reporting. Minor gaps exist (e.g., no tool for listing available courts), but overall it's functional.