Skip to main content
Glama

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.7.2

  • Disambiguation5/5

    Each tool targets a distinct court or entity (STJ, TCU, TST, CARF, Normas, Proposicoes) and a distinct action (get exact vs search free text). There is no ambiguity between tools; even search_case vs search_processos differ by content type (rulings vs procedural metadata).

    Naming Consistency4/5

    The naming follows a clear br_{action}_{entity}_{court} pattern for most tools (e.g., br_get_case_stj, br_search_case_tcu). Minor inconsistencies exist: br_get_processo and br_get_norma lack court suffix, and br_search_processos uses 'processos' instead of 'case', but overall the pattern is predictable.

    Tool Count5/5

    14 tools is well-scoped for a specialized legal research server. The number covers core retrieval operations for multiple high courts and norms without being excessive or barebones.

    Completeness3/5

    The tool set covers major courts (STJ, TCU, TST, CARF) and norms with get and search capabilities. Notable gaps include absence of STF tools and no direct full-text retrieval for norms (requires index + text two-step). The CARF search is intentionally missing due to upstream limitations.

  • Average 4.4/5 across 14 of 14 tools scored. Lowest: 3.6/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 15 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under Apache 2.0.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds 'with real ruling text' but does not disclose additional behavioral traits. 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.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence that efficiently conveys the core action. Every word serves a purpose, though it could benefit from additional context.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema and simple two-parameter input, the description covers the essential purpose. However, it lacks usage guidelines and prerequisites, leaving some gaps for a complete understanding.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so the schema already documents both parameters. The description emphasizes 'exact numeroProcesso', adding slight context, but does not significantly enhance understanding beyond schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool fetches a single STJ acordao by exact numeroProcesso, with real ruling text. It uses specific verbs and resource names, distinguishing it from sibling search tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies use when exact numeroProcesso is known, but does not explicitly state when to use this tool versus alternatives like br_search_case_stj. No when-not-to-use or exclusion criteria are provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate readOnlyHint=true. The description adds value by specifying the returned content ('real ruling text with ementa + inteiro_teor'), which clarifies the behavioral output beyond 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose and key detail about the returned content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema, the description does not need to explain return structure. It covers the essential purpose, parameter nuances, and a key behavioral trait (returning full ruling text). The tool is well-documented for its complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema covers both parameters (100% coverage). The description adds meaningful detail: the formatting rule for numero_processo (fifth segment 5) and the default for tipo, which enhances understanding beyond the schema alone.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool fetches a TST ruling by exact CNJ process number and returns the full text. However, it does not explicitly differentiate from sibling tools like br_search_case_tst, which could be used for non-exact searches.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage when you have the exact CNJ number, but does not explicitly state when not to use this tool (e.g., for fuzzy search) or mention alternative tools like br_search_case_tst. No exclusions or context provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already provide read-only, idempotent, non-destructive traits. The description adds behavioral context: what data is included (timeline, metadata) and excluded (ruling text), and coverage limits (STF not covered). This goes beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is three sentences, front-loaded with purpose, no wasted words. Efficient and clear.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers key aspects: what is searched, what is excluded, coverage, and references additional documentation. Output schema exists, so return format is not needed. Minor gap: no explicit comparison with sibling tools, but overall sufficient for agent invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema covers all three parameters with descriptions (100% coverage). The main description does not add significant new parameter information beyond what the schema provides, so baseline score of 3 applies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool searches court dockets (procedural metadata) in a tribunal's DataJud CNJ index, specifically excluding ruling text. It distinguishes from siblings by describing the resource and coverage (e.g., STF not covered).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not explicitly state when to use this tool versus alternatives. It implies usage for procedural metadata and mentions exclusions (no ruling text, no STF), but lacks direct guidance on when to prefer other sibling tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the tool's safety profile is covered. The description adds value by specifying that it fetches exactly one docket and requires an exact CNJ number, which is a behavioral constraint beyond the annotations. No contradictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence that is front-loaded with the key action and resource. No redundant or filler content. Every word earns its keep.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (fetch one item by ID), the presence of annotations covering safety, and the existence of an output schema, the description is sufficiently complete. It provides the essential information for an agent to invoke the tool correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with clear descriptions for both parameters, and the tool description adds clarifying notes: tribunal code (e.g., 'STJ') and numero_processo format with parentheses and punctuation ignored. This extra context (format, example) moves beyond the schema baseline of 3 to a 5.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Fetch', the resource 'one court docket', and the specific method 'by its exact CNJ unified process number'. This differentiates it from sibling tools like br_search_processos (search) and court-specific get tools (e.g., br_get_case_stj) by being generic and requiring an exact match.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives. It does not mention that for court-specific dockets the dedicated get tools should be used, nor does it specify that it should not be used for searching or partial matches. The description only implies exact match via 'exact CNJ unified process number' but provides no explicit context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare the tool as read-only, non-destructive, and idempotent. The description adds context about the scope (federal bills) and the required filters. No behavioral traits beyond annotations are needed, and the description aligns 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single concise sentence that conveys the essential action and constraints. No wasted words; it is front-loaded with the verb and resource.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the low complexity, small number of parameters, and presence of output schema and annotations, the description is complete enough. It tells the agent exactly what the tool does and what inputs are required. No gaps are apparent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema covers all 3 parameters with descriptions. The description reinforces the purpose of sigla_tipo and ano. For itens, the default and API cap are noted, adding useful detail beyond the schema. No enums or further nuance needed.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb (List) and identifies the resource (Brazilian federal bills) with clear filters (type and year). It distinguishes from sibling tools that retrieve specific cases (br_get_case_*) or norms (br_get_norma*), making the tool's role unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies when to use it (when you need a list filtered by type and year) but does not explicitly state when not to use it or mention alternatives. Sibling tools are listed but not contrasted, so the agent must infer from names.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint as false. The description adds that the tool returns 'current status', implying dynamic data, but this is consistent with annotations. No contradictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, concise sentence that front-loads the key information. Every word is necessary and there is no redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With only one parameter and an output schema available, the description fully covers what the tool does, what the parameter is, and what the output contains (full detail including current status).

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%. The description adds context for the 'id' parameter by specifying its source ('from br_search_proposicoes'), which goes beyond the schema's description and helps the agent understand where to obtain the id.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Fetch'), the resource ('full detail for one bill'), and includes a specific detail ('including current status'). It distinguishes from sibling tools that deal with other entities (cases, normas, processos) or search operations.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies that this tool is used when you have a numeric id, likely from a search tool like 'br_search_proposicoes'. However, it does not explicitly state when not to use it or mention alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations mark tool as read-only, open-world, idempotent, non-destructive. Description adds specific data returned (publication provenance, amendment history, STF notes) and what is omitted (full text), providing context beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Description is concise with one main sentence listing contents and exclusions. Uses a dash and parenthetical note, which is slightly dense but no wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's purpose and annotations, description fully explains what is returned and what is not, including reference to external documentation (DISCOVERY.md). Output schema exists, so return value explanation is not needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 100% coverage with description for 'urn'. Tool description adds useful context: format is URN Lex, example given, and instruction not to invent one, adding value beyond schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states 'Resolve a Brazilian Norma Juridica... by its URN Lex' with specific items returned and explicit exclusion of full text, distinguishing it from siblings like br_get_norma_texto.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Describes what the tool returns (metadata, provenance, history) and what it does not (full article text). Mentions no confirmed URL rule to Planalto and references DISCOVERY.md, but does not explicitly state when to use or avoid this tool versus alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already provide readOnlyHint, openWorldHint, idempotentHint, destructiveHint. Description adds that structure is returned 'in document order' and that output contains a suffix. No contradictions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, first sentence states purpose and output, second gives usage guidance. No wasted words, front-loaded with key information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Output schema exists so return values not needed. Description covers purpose, usage flow with sibling, and document order. Adequate for a single-parameter tool with rich annotations.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema covers 100% with clear description of the urn parameter. Description does not add extra meaning beyond schema. Baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states verb 'List' and resource 'addressable structure of a Norma Juridica', enumerating parts like parts, books, titles, etc. It distinguishes from siblings like br_get_norma and br_get_norma_texto.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly tells when to use: find the 'dispositivo' suffix for an article, then pass to br_get_norma_texto. Includes negative instruction 'do not guess a suffix' and a concrete example.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds crucial behavioral context: it scans monthly bulk files, a miss means 'not in scanned window' not 'does not exist', and coverage starts May 2022. This fully discloses behavior beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences: first states purpose, second differentiates from sibling, third explains scanning behavior and coverage. Front-loaded, no unnecessary details, every sentence earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With output schema present and annotations covering safety, the description is quite complete. It covers purpose, differentiation, behavioral notes, and coverage start. However, it could slightly improve by explicitly stating that results may not be real-time due to monthly file scans, though it is implied.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. The description does not add significant new meaning beyond the schema for any parameter. It restates that orgao is a chamber/section and query matches process number or text, but the schema already provides equivalent descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool searches STJ acordaos and returns actual ruling text (ementa and decisao). It explicitly contrasts with sibling br_search_processos (metadata only), providing a specific verb+resource combination that distinguishes it from other similar tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly says 'Unlike br_search_processos (DataJud, metadata only), this returns the actual...' which directly guides when to use this tool vs the sibling. It also explains the scanning window limitation and coverage start, setting proper expectations for results.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate readOnlyHint, idempotentHint, openWorldHint, and non-destructive. The description adds context about exact lookup and upstream index unreliability, which goes beyond annotations without contradicting them.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with purpose. The second sentence adds usage constraint and justification. No unnecessary words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given that an output schema exists, the description need not detail return values. It covers purpose, parameter constraints, usage context, and even explains the absence of a search tool. Complete for a fetch tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with parameter descriptions including examples. The description adds the constraint that exactly one parameter must be provided and that it is an exact lookup, providing meaning beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Fetch one CARF (tax appeals) acordao by exact docket or decision number.' It specifies the verb, resource, and method, and distinguishes it from sibling tools like br_get_case_stj by naming CARF and exact lookup.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It explicitly states 'Exactly one of numero_processo / numero_decisao must be given - this is an exact lookup, not a search.' It also explains why there is no free-text search tool for CARF, providing clear when-to-use and when-not-to-use guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. Description adds crucial context: the error behavior when colegiado is omitted and ambiguous, and the exact fields returned. This goes beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with the core function, followed by essential clarification on uniqueness and error handling. No redundant or verbose content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema and annotations, the description fully explains input, output (three text fields), uniqueness, and error case. No gaps remain for this fetch operation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, but description adds significant context: explains that (numero, ano, colegiado) uniquely identify an acordao, and that the same numero/ano recurs across bodies. This enriches understanding beyond basic schema descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the tool fetches a single TCU acordao with specific text fields (acordao_texto, relatorio, voto). It distinguishes from sibling tools that target different courts (CARF, STJ, TST) by specifying 'TCU' explicitly.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Description explains the uniqueness constraint (same numero/ano recurs across bodies) and warns that omitting colegiado when ambiguous causes an error, listing matching bodies. This provides clear guidance on when to include the optional parameter, though it does not explicitly compare to alternative tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already indicate it's read-only, idempotent, and non-destructive. The description adds valuable behavioral context: the text includes caput and all nested sub-elements concatenated in document order, and it is not a summary. It also clarifies error behavior on incorrect input. No contradictions 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences. The first sentence states the core function, the second clarifies what the text includes and excludes. No unnecessary words. Efficiently front-loaded with the key action.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema (not shown), high schema coverage, and detailed annotations, the description covers all essential aspects: what the tool returns, how parameters should be used, and error behavior. No apparent gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has 100% coverage with detailed descriptions for both parameters. The description reinforces the meaning of 'dispositivo' (must come from br_get_norma_index, no guessing) but does not add new parameter-specific semantics beyond the schema. Baseline is 3, raised to 4 for the explicit warning.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it fetches the real text of one dispositivo (article or header) of a Norma Juridica, distinguishing it from siblings like br_get_norma_index (which returns an index) and br_get_norma (which likely returns the whole norma). The specific verb 'fetch real text' and the scope 'one dispositivo' provide precise purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description warns against guessing the dispositivo suffix and specifies that a wrong suffix returns 'not_found' with no fallback, guiding correct usage. It implies this tool is for detailed text extraction, but does not explicitly mention when to use it over siblings such as br_get_norma or br_get_norma_index. Still, the guidance is clear and helpful.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare safe read-only, idempotent behavior. Description adds that it returns summaries plus index total, which is useful context beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, front-loaded purpose, no fluff. Every sentence adds value: purpose, alternative tool, query syntax.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Output schema exists, so return values are covered. Description explains it returns summaries and index total, and how to get full text. For a search tool, this is complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema covers 100% of parameters. Description adds value by explaining field-scoped query syntax with example, and noting limit defaults to 20, which is helpful beyond schema descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States specific verb 'Search', resource 'TCU acordaos', and domain 'public-procurement and public-spending jurisprudence'. Clearly distinguishes from sibling tools like br_get_case_tcu (full text) and other court searches.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly directs to br_get_case_tcu for full ruling text, providing an alternative. Also explains query supports field-scoped syntax with example, aiding correct usage.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description adds value beyond annotations by explaining that the query goes into the TST frontend field, the return includes index total and a page with ementa and inteiro_teor. It is consistent with readOnlyHint, idempotentHint, and openWorldHint, and no contradictions exist.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, front-loaded purpose, each sentence providing essential information without redundancy. Highly concise and well-structured.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With an output schema present, the description adequately covers input semantics and output structure, making it complete for the tool's complexity of 3 parameters and a simple return type.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, but the description enhances understanding by explaining the query field and providing an exact phrase example. It also describes the output fields, adding meaning beyond the schema alone.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool searches TST (labor supreme court) rulings by free text using real ruling text. It distinguishes from sibling tools which target other courts or legal entities, providing a specific verb and resource.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It explains when to use (for TST ruling search) and details query semantics like AND and exact phrase matching. While it doesn't explicitly mention when not to use, the sibling context makes alternatives clear, and the description lacks explicit exclusion criteria.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

br-eli-mcp MCP server

Copy to your README.md:

Score Badge

br-eli-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matematicsolutions/br-eli-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server