Skip to main content
Glama

CNIA (Improbidade Administrativa)

authenticate

Idempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tokenNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations: it explains that passing a token gives a session-only login, while using a config header gives a non-expiring connection, and that no args returns a link. Annotations only state idempotent and non-destructive, and the description does not contradict them.

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 concise paragraph with valuable info about the login workflow, token usage, and config alternative. It is slightly longer than necessary but every sentence contributes, and the front-loaded mention of 'log in' gives immediate context.

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 tool's simplicity (one optional param, no output schema), the description provides enough context: it specifies the token format, the two usage modes, and the link retrieval. It could be more explicit about the response structure, but 'to get the link' implies the output, so it is sufficiently complete.

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?

The schema only defines an optional 'token' string with no description. The description compensates fully by explaining the token is a JWT, how to pass it, and that omitting it triggers a link-retrieval behavior. This adds critical meaning absent from 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 the tool's purpose: to authenticate the user via a browser login flow, accepting a JWT token or returning a link when no args are given. It uses a specific verb ('log in') and explains the workflow, distinguishing it from sibling tools like 'connect' which likely have different functions.

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 gives explicit usage guidance: adding the token to the server config for a permanent connection, or pasting it here for a session-only login. It also specifies to call with no args to get the link. This clearly tells when to use the tool and the two modes of operation.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have clearly distinct roles: authenticate handles login, connect shows status, cnia_improbidade_consultar does the actual CNIA lookup, and the rest are meta/utility tools. The only mild overlap is between authenticate and connect, but their descriptions differentiate them adequately.

Naming Consistency2/5

Naming is inconsistent across languages and styles: English verbs (authenticate, connect), Portuguese verb_noun (cnia_improbidade_consultar), and noun-based names (marketplace, toolkit_info). The mix of snake_case and lowercase without a clear convention makes the set feel ad hoc.

Tool Count3/5

At 7 tools, the count is reasonable, but the set is heavily skewed toward platform/meta tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) with only one domain-specific CNIA tool. This feels over-inflated for a dedicated CNIA server, yet the total number is not excessive.

Completeness3/5

The core domain operation of querying CNIA by CPF/CNPJ is covered, and no additional CNIA-specific actions are obviously needed for a simple lookup. However, the server's broader scope as a marketplace and toolkit means the CNIA surface is minimal, and there are no bulk or advanced query options.