DNIT: Infrações
Server Details
DNIT: Traffic Fines, official-source lookup. Platform-hosted, pay per query with prepaid credit.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/dnit_infracoes-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 7 of 7 tools scored. Lowest: 3.6/5.
Each tool has a distinct core action, but connect, toolkit_info, and authenticate can be partially conflated around session/connection status. The sole domain tool, dnit_infracoes_consultar, is clearly separable from the platform utility tools.
The names mix English verbs (connect, report_bug), bare nouns (marketplace), and a Portuguese snake_case domain command (dnit_infracoes_consultar). There is no coherent verb/noun or language convention, making the naming pattern predictable.
Seven tools is not excessive, but the set is dominated by platform-wide utilities such as marketplace, report_bug, and toolkit_info rather than by DNIT-specific functionality. The count is workable, though not tightly scoped to the server's apparent 'Infrações' identity.
For a read-only official data consultation the single DNIT tool may suffice, and the surrounding platform tools cover auth, connectivity, discovery, and feedback. There may be missing convenience operations, but no obvious critical gaps prevent the core workflow.
Available Tools
7 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 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by explaining the authentication flow: browser login, token copying, and configuration options. It discloses that calling with no args returns a link (no side effect) and calling with token establishes a session, which is consistent with idempotentHint=true. It adds meaningful context about the two behaviors without contradicting 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 informative but somewhat lengthy, with a run-on style. However, it is well-structured with 'Best:' and 'Or' to delineate options, and front-loads the core action (log in, copy token). It could be tightened but remains focused and readable.
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 (one optional parameter, no output schema), the description covers the essential usage scenarios adequately. It explains both invocation modes and the permanent/session distinction, which is sufficient for an agent to decide how to call it. Minor gap: it doesn't describe the response (e.g., success message), but it's not critical.
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 token parameter is fully explained: it is the JWT copied from the browser, used for session-only login, and can be omitted to get the link. Since schema coverage is 0%, the description effectively compensates by defining the parameter's purpose and optionality, making it clear for the agent.
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: to authenticate the user with MCP.AI by obtaining an access token via browser login. It specifies the exact action (log in, copy token) and the two distinct modes (permanent config vs. session-only). It is verb-specific and differentiates from sibling tools like 'connect' through its focus on 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 provides explicit guidance on when to use each mode: calling with no args to get the login link, or with a token for session login. It also gives a best-practice recommendation for permanent connection (config header). While it doesn't explicitly contrast with 'connect', the context is clear and actionable.
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 | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint:true, idempotentHint:true, and destructiveHint:false, so the description doesn't need to restate those. It adds valuable behavioral context: it returns different structures depending on state (authenticated:true and empty pending[] vs. connect_url and per-install URLs). This goes beyond the annotations and helps the agent anticipate the response variety.
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 and gets straight to the point. The first sentence states the purpose, and the second explains the two common states. Every sentence earns its place; no fluff or redundancy. It is well-structured 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 that the tool has no parameters and no output schema, the description is complete enough: it explains what the tool does and the key conditional behaviors. The only minor omission is not mentioning the return format for URLs or any other potential states, but for a status-check tool with no complexity, this is sufficient. Sibling tools like 'authenticate' and 'marketplace' are not referenced, but that is not required for completeness.
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 description coverage is 100% (i.e., no parameters to document). The description adds value by explaining what the tool returns in different scenarios, which is the main semantic content an agent needs. The baseline for 0 params is 4, and the description does not need to compensate for any missing parameter docs.
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: 'Returns connection status and URLs.' It specifies the verb 'returns' and the resource 'connection status and URLs', and distinguishes it from sibling tools like 'authenticate' by focusing on status rather than performing authentication. The details about 'authenticated:true' and 'pending[]' further clarify what it provides.
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 about when to use this tool: when checking connection status, especially 'When all providers are connected' or 'When credentials are missing'. It does not explicitly name alternative tools or state when not to use it, but it implies that for actually authenticating, one would use 'authenticate'. This is a minor gap; a note about not using it to establish connections would make it a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnit_infracoes_consultarARead-onlyIdempotentInspect
DNIT: Infrações, consulta em fonte oficial. Hospedado pela plataforma, sem credenciais da plataforma, pague por consulta com crédito pré-pago. Consulta informação de fontes e órgãos oficiais brasileiros (a mesma disponível ao cidadão), não é dado sigiloso. O cliente é o controlador dos dados e responde pela finalidade legítima (LGPD).
| Name | Required | Description | Default |
|---|---|---|---|
| placa | Yes | ||
| renavam | Yes | ||
| login_cpf | Yes | ||
| login_senha | No | ||
| pkcs12_cert | No | ||
| pkcs12_pass | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds valuable operational context beyond that: it is hosted by the platform but requires no platform credentials, it is paid via prepaid credit, and it exposes non-confidential official data with LGPD controller responsibilities. This goes beyond the annotations and helps the agent understand side effects (cost) and access requirements.
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 compact and front-loaded with the core purpose, then provides contextual details about hosting, payment, data source, and LGPD in a few short clauses. It avoids redundancy and is appropriately sized, though the legal compliance sentence is somewhat boilerplate. Every part contributes useful information for an agent considering the tool.
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?
While the description covers business and legal context (payment model, official data, data controller), it does not explain how to invoke the tool correctly: parameter semantics, authentication flow (whether login_senha or pkcs12_cert is required in practice), or what the response looks like (no output schema). The tool has moderate complexity with six parameters and no output schema, so the description is insufficient for correct invocation.
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 input schema has six parameters with zero descriptions, and the tool description does not explain any of them. The agent is left to infer the meaning of placa, renavam, login_cpf, login_senha, pkcs12_cert, and pkcs12_pass solely from their names. Critical details like parameter formats, required vs optional authentication fields, and how the certificate/password are used are completely absent, which is a severe gap for a tool with this many parameters.
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 function: consulting DNIT infractions from an official source. The phrasing 'DNIT: Infrações, consulta em fonte oficial' conveys a specific verb ('consulta') and resource ('Infrações'), and it is obviously distinct from the generic sibling tools like authenticate or connect. The purpose is unambiguous and well-scoped.
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 is a pay-per-query service from official Brazilian sources, with no platform credentials required, and that the client is accountable for LGPD compliance. This helps an agent decide when to use it, though it does not explicitly exclude alternative tools. Since the sibling tools are unrelated system tools, the context is sufficient to guide selection.
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 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: invoke runs one-off without installing or bloating the toolkit, credential needs yield a connect link, empty wallet yields checkout/top-up, and install/uninstall/subscribe/cancel require workspace owner/admin. It also explains installed_in_toolkit versus installed_in_workspace flags. No contradictions with 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 long but information-dense and front-loaded, opening with the tool's identity and then covering the core flow, edge behaviors, permissions, and secondary prompt-library capabilities. Each sentence adds actionable detail rather than 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?
Given the tool's large action surface, no output schema, and sparse annotations, the description covers the main flows, return-link behaviors, permissions, and how the prompt library differs. It provides enough context for an agent to choose the right action and parameters for most marketplace requests.
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 0% schema description coverage and 23 parameters, the description carries the burden and largely compensates by explaining the action enum and key parameter meanings: action=search, describe returns full profile with tool ids and params, invoke takes tool_id and arguments, and prompt actions involve prompt_vars. It does not explicitly walk through every parameter, but it adds significant operational meaning.
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 mcp.ai marketplace and the way to discover, describe, and run MCPs. It names the core verbs and resources (search, describe, invoke, install, prompt library) and distinguishes those capabilities from sibling tools like report_bug and toolkit_info.
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?
It gives explicit when-to-use guidance: invoke for one-off use versus install for permanent toolkit membership, prefer invoke when the MCP is not installed, use list_tools for what is callable now, and use request_mcp when nothing fits. It also explains the intended flow: search -> describe -> pick tool_id -> invoke.
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 | [] |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is non-destructive and idempotent. The description adds context by explaining that the conversation array is included for reproduction purposes, which is useful, but it does not disclose other behavioral details such as data handling, response behavior, or side effects beyond what annotations provide.
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 and front-loads the core purpose. Every sentence provides necessary information with no wasted words.
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 tool with three parameters and no output schema, the description covers the primary purpose and one key parameter. However, parameter semantics are incomplete, and the description does not fully compensate for the lack of schema descriptions, so it is adequate but not rich.
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 for parameter meaning. It partially explains the conversation parameter as a 'conversation array', but it does not clarify that the schema types it as a string, nor does it explain the 'context' parameter or the expected format of the message.
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 action: report a bug, missing feature, or send feedback. It uses a specific verb and resource, and it is distinct from sibling tools like authenticate, connect, and marketplace.
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 for when to use the tool: whenever the user wants to report a bug, request a missing feature, or give feedback. It does not explicitly mention when not to use it or name alternatives, but the intended use cases are evident.
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 | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which covers the safety profile. The description adds the context that versions are 'current' and specifically of the MCP platform and adapter, without contradicting 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 one short, front-loaded sentence every word earns its place. It immediately communicates the action and object without any filler.
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 no parameters, no output schema, and a simple read-only purpose, the description is complete. It tells the agent exactly what to expect (current MCP platform and adapter versions) and no further explanation is necessary.
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 the baseline is 4 per the rubric. The description needs to explain no parameter semantics, and indeed it doesn't need to since there is nothing to configure.
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 ('Show') and names a clear resource ('current MCP platform and adapter versions'). This clearly distinguishes it from siblings like authenticate, connect, and report_bug.
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?
No explicit guidance on when to use this tool versus alternatives such as toolkit_info. The intended use (e.g., checking versions for debugging) is only implied but not stated.
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 | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description complements this by detailing the output, without contradicting the read-only nature.
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, concise sentence that packs all relevant information without fluff 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?
Given there is no output schema, the description sufficiently specifies what the tool returns, including a breakdown of the toolkit state, making it complete for its purpose.
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?
There are no parameters, so the description does not need to explain any. With 100% schema coverage (zero params), the baseline is 3, but the description effectively conveys the tool's behavior without missing parameter information.
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 function: returns the current toolkit state with specific details (installed MCPs, connection status, accounts, catalog tool counts). This distinguishes it from sibling tools like authenticate, connect, etc.
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?
It is implicit that this tool is used to inspect the toolkit's current state, given its read-only nature. However, it does not explicitly mention when to use it over alternatives, but the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
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
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 Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying DETRAN Ceará traffic fine issuance data from official sources via a read-only MCP tool, with pay-per-use prepaid credits and magic-link login.MIT
- AlicenseNot gradedqualityCmaintenanceConsult DNIT traffic fines for companies by CNPJ from official source. Provides a read-only tool to query vehicle infractions registered against a CNPJ.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for querying traffic fines from the official Campina Grande, PB, Brazil source via a single read-only tool, with pay-per-use credits and no platform credentials.MIT
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for consulting traffic fines (multas) from the official GIT Cidadão (PR) source, accessible via pre-paid credits and any MCP-over-HTTP client.MIT