Skip to main content
Glama

SEFAZ DF: NFC-e

Server Details

SEFAZ DF: NFC-e, official-source lookup. Platform-hosted, pay per query with prepaid credit.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mcp-dir/sefaz_df_nfce-mcp
GitHub Stars
0
Server Listing
SEFAZ DF: NFC-e MCP Server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 7 of 7 tools scored.

Server CoherenceC
Disambiguation2/5

The set mixes platform-level tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) with a single domain tool (sefaz_df_nfce_consultar). The platform tools have overlapping purposes: authenticate and connect both deal with connection status, and marketplace's invoke/install/list_tools/subscribe/cancel overlap with toolkit_info's reporting of installed MCPs. An agent could easily confuse which tool to call for connection vs. catalog vs. execution.

Naming Consistency2/5

Naming is inconsistent: platform tools use generic verbs (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) with no consistent pattern, while the domain tool uses a snake_case Portuguese name (sefaz_df_nfce_consultar). The mix of English generic verbs and a Portuguese domain-specific name breaks any predictable convention.

Tool Count3/5

7 tools is a reasonable count, but the scope is muddled: 6 tools are for the MCP platform itself and only 1 is for the actual SEFAZ DF NFC-e domain. The server name suggests a domain-specific service, yet the tool surface is dominated by platform management, making the count feel misaligned with the stated purpose.

Completeness2/5

For the SEFAZ DF NFC-e domain, the surface is severely incomplete: only one consultation tool exists, with no support for other NFC-e operations (e.g., issuance, cancellation, status checks, or batch queries). The platform tools are comprehensive for managing MCPs, but that doesn't cover the domain the server claims to serve.

Available Tools

7 tools
authenticateA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo
Behavior4/5

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

Beyond the annotations (idempotent, non-destructive), the description explains behavioral aspects: whether the token is stored permanently (config) or session-only, and that calling with no args returns a link. It doesn't contradict annotations but adds useful nuance about session persistence and configuration alternatives.

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 concise but packs essential information: how to authenticate via browser, the token parameter, and the permanent vs session distinction. Slightly long but every sentence carries functional value.

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?

For a simple auth tool with one optional parameter, the description fully covers behavior (link generation, token usage) and context (IDE agents). It doesn't describe return format, but no output schema exists to contradict it, so this is adequate.

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 provides no description for the 'token' parameter. The description fully explains its purpose: an optional JWT to paste for session authentication, or omit to obtain the browser link. This gives complete meaning beyond the schema, compensating for zero schema coverage.

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 by either copying an access token from a browser or providing one directly via the 'token' parameter. It distinguishes itself from sibling tools (e.g., connect, show_version) by being the authentication entry point, with specific verbs like 'log in' and 'paste'.

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 describes when to use it: 'Best: add it to this server's config... Or paste it here...' and explains the two invocation modes (no args to get link, or with token). It also contrasts with the recommended permanent config method, 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.

connectA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful state-dependent behavior beyond those annotations, such as the meaning of authenticated:true, empty pending[], and the per-install URLs returned when credentials are missing.

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 concise and front-loaded: the first sentence states the primary purpose, and the second covers the main conditional outcomes. Every sentence provides useful information without redundancy.

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?

For a simple, zero-parameter, read-only tool with good annotations, this description covers the main behavior and conditional outputs well. Exact response field names or a fuller example would make it even more complete, but it is sufficient for an agent to know when and why to call it.

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 tool has zero parameters and schema coverage is 100%, so no additional parameter explanation is needed. The description adds information about behavior and return values, which is more relevant here than parameter detail.

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 returns connection status and URLs, with specific conditional behavior ('authenticated:true' and empty 'pending[]' vs. 'connect_url' and per-install URLs). This distinguishes it from siblings like authenticate by framing it as a read-only status/URL retrieval tool.

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 conditional description indicates when this tool is useful: checking whether all providers are connected or retrieving connect URLs when credentials are missing. It does not explicitly name alternatives or say 'use instead of authenticate', but the status/URL focus makes the usage context reasonably clear.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actionNosearch
mcp_idNo
messageNo
tool_idNo
argumentsNo{}
immediateNo
tier_slugNo
prompt_bodyNo
prompt_slugNo
prompt_toolNo
prompt_varsNo{}
conversationNo[]
prompt_titleNo
request_nameNo
cancel_reasonNo
cancel_commentNo
prompt_targetsNo
report_contextNo
prompt_categoryNo
request_detailsNo
prompt_descriptionNo
Behavior4/5

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

The description discloses key behavioral aspects: invoke runs tools even when not installed, handles auth/credential scenarios (returns connect/checkout links), and notes that writes require the user to complete actions. It also clarifies that install is for permanent additions. However, with no annotations provided, it carries the full burden and does well, though it doesn't cover every edge case (e.g., error handling, rate limits). But given the complexity, it's quite thorough. 4 feels right.

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

Conciseness3/5

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

The description is quite long (multiple paragraphs) and dense. It front-loads the main purpose and flow, but includes a lot of detail. It's structured with a clear flow, but could be more concise. For a complex marketplace tool with 14 actions and 23 params, some length is justified, but it could be tightened. 3 is appropriate.

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 complexity (14 actions, 23 params, no output schema, no annotations), the description is quite complete. It explains the distinction between invoke and install, covers the prompt library, and indicates permission requirements. It doesn't cover every parameter in detail, but the description provides enough context for an agent to make reasonable decisions. Since it's a dispatch tool, the action list is the most important. Score 4.

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

Parameters2/5

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

The input schema has 23 parameters with 0% description coverage in schema (no descriptions in the schema itself). The description mentions some parameters (action, mcp_id, tool_id, arguments, prompt_* params) but doesn't explain each parameter's semantics. It lists actions but doesn't detail how to use mcp_id, tool_id, arguments, etc. Beyond the action enum, the description doesn't compensate for the lack of schema descriptions. Score 2.

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 opens with a clear statement: 'the official mcp.ai marketplace — the in-platform catalog of every MCP/tool, and the way to run them.' It uses specific verbs (search, describe, invoke, install) tied to concrete resources and actions, and distinguishes the tool's purpose from siblings by covering both MCP marketplace functionality and the prompt library. The description clearly differentiates this from sibling tools like authenticate or show_version.

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 provides extensive usage guidance: explicits the core flow (search → describe → invoke), explains when to prefer invoke over install ('prefer invoke for a single/one-off use'), and covers when to use report_bug, request_mcp, and the prompt library functions. It clearly delineates when to use this tool versus alternatives like search_prompts within the same tool.

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

report_bugA
Idempotent
Inspect

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
conversationNo[]
Behavior3/5

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

Annotations already provide idempotentHint=true and destructiveHint=false, and the description does not contradict them. It adds a small behavioral note about using conversation messages for reproduction, but it does not explain external side effects, expected response, or any rate limits or transmission behavior.

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, efficient sentence that leads with the action and gives the key guideline. There is no filler and no wasted words.

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?

The tool is relatively simple, but with three parameters and no output schema, the description leaves gaps around context and conversation serialization. The current explanation is adequate for a basic bug report tool, but incomplete for precise invocation.

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

Parameters2/5

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, but it only partially explains the conversation parameter. It fails to clarify the context parameter, the message format, or how the conversation value should be serialized, especially since the schema types conversation as a string while the description calls it an array.

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 explicit action verbs ('Report', 'send feedback') and identifies the resources (bug, missing feature, feedback). It clearly distinguishes itself from unrelated sibling tools like authenticate, marketplace, and show_version.

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 clearly states the intended contexts: reporting a bug, requesting a missing feature, or sending feedback. It also instructs including conversation messages for reproduction, but it does not explicitly describe when not to use the tool or name alternative tools.

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

sefaz_df_nfce_consultarA
Read-onlyIdempotent
Inspect

SEFAZ DF: NFC-e, 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).

ParametersJSON Schema
NameRequiredDescriptionDefault
nfceYes
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description adds practical behavioral details: the tool is hosted by the platform, requires no platform credentials, is paid per query with prepaid credit, and returns only non-confidential official data. It also addresses LGPD data-controller responsibilities, providing a fuller operational picture than the annotations alone.

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 front-loaded with the core purpose and remains relatively short. The legal LGPD sentence adds compliance context but is somewhat auxiliary; overall, every sentence earns its place without excessive verbosity.

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?

The description covers purpose, authentication/cost model, data source, and legal responsibility, but it lacks any indication of the return format or the specific structure of the `nfce` parameter. Since there is no output schema, the absence of output details leaves a notable gap for an agent invoking this tool.

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

Parameters2/5

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

The description has zero schema coverage for the only parameter `nfce`. While the tool name and description imply the parameter is a NFC-e document reference, its required format, source, or how to obtain/validate it is not explained. The description fails to compensate for the missing schema documentation, leaving an agent guessing how to construct a valid call.

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 identifies the tool as a query ('consulta') for NFC-e data from SEFAZ DF, an official Brazilian source. The resource and action are specific, and the description distinguishes it from the generic sibling tools (authenticate, connect, etc.) by indicating its domain-specific 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 provides clear context: it should be used to consult official NFC-e data available to citizens, and it clarifies payment via prepaid credits and lack of platform credentials. It does not explicitly mention alternatives or when-not-to-use, but the implied usage is strong and the sibling tools are unrelated, so exclusions are unnecessary.

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

show_versionA
Read-onlyIdempotent
Inspect

Show the current MCP platform and adapter versions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

The description adds the detail that versions are returned for 'platform and adapter,' which provides minor context beyond the annotations' readOnly and idempotent hints. However, it does not disclose output format or potential side effects, though none are expected for a version check.

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, clear sentence that is directly front-loaded with the action verb 'Show' and specific resource. Every word contributes to understanding the tool's function without any fluff.

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?

For a version-checking tool with no parameters and safe read-only annotations, the description adequately covers the functional scope. While it could mention the output format, the simplicity of the tool makes this a minor omission, and sibling distinction is not critical.

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 tool has zero parameters, so the description correctly focuses on the return value rather than parameter details. With no parameters to describe, the baseline of 4 is appropriate since the schema provides all necessary information.

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 ('Show') and clearly identifies the resource ('current MCP platform and adapter versions'). It distinguishes itself from siblings like 'toolkit_info' by explicitly focusing on version information, 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.

Usage Guidelines3/5

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

The description is self-explanatory for when to use this tool (to get version info) but provides no explicit comparison to alternatives like 'toolkit_info' or any exclusions. It relies on the obviousness of the purpose rather than spelling out use cases.

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

toolkit_infoA
Read-onlyIdempotent
Inspect

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

The description adds value beyond annotations by detailing the specific information returned (installed MCPs, connection status, accounts, catalog tool counts). However, it does not mention any additional behavioral aspects like response format, performance considerations, or any side effects beyond the read-only nature already covered by annotations (readOnlyHint, destructiveHint).

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 efficiently enumerates the returned information without redundancy or fluff. It is front-loaded with the main purpose and includes specific details, making it easy to digest.

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 that the tool has no parameters, a straightforward output, and annotations indicating safety (read-only, idempotent, non-destructive), the description is complete in conveying what it does. It lacks a formal output schema, but the description adequately summarizes the return content, so no gaps are evident.

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 tool has no parameters, and the schema is empty with 100% coverage. The description explains the tool's output intent, which is the primary way it adds meaning beyond the schema. With zero parameters, the description compensates by clarifying what the tool reports about the toolkit state.

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 what the tool returns: the current toolkit state, including installed MCPs, connection status, connected accounts, and catalog tool counts. This is a specific, descriptive purpose that distinguishes it from sibling tools like 'connect' or 'marketplace'.

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 for inspecting the toolkit state without side effects, which is reinforced by annotations. However, it does not explicitly state when to use it versus alternatives, such as 'authenticate' or 'connect', but the context is clear enough for an agent to infer use cases like checking connection status or account validity.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Provides a single read-only tool to consult NFC-e (electronic invoice) data from SEFAZ Amazonas via MCP over HTTP, with prepaid credits.
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Enables consultation of official SEFAZ GO NFC-e (Brazilian electronic invoice) data via a read-only MCP server with pre-paid credits.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.