Receita Federal: NFE
Server Details
Receita Federal: NFE, official-source lookup. Platform-hosted, pay per query with prepaid credit.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/receita_federal_nfe-mcp
- GitHub Stars
- 0
- Server Listing
- Receita Federal: NFE
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.1/5 across 6 of 7 tools scored. Lowest: 3.4/5.
Most tools are distinct platform utilities, but authenticate and connect overlap around authentication/connection status, and marketplace is a sprawling meta-tool that also touches on installed MCP state like toolkit_info. The single domain tool is clearly distinct, but the platform tools blur together somewhat.
Names mix bare verbs (authenticate, connect), a noun (marketplace), snake_case domain naming (receita_federal_nfe_consultar), and verb_noun compounds (report_bug, show_version, toolkit_info). There is no consistent naming convention across the set.
Seven tools is not inherently too many, but six of them are generic platform/meta tools unrelated to the Receita Federal NFE domain. Only one tool actually performs NFE consultation, so the set is poorly scoped for the server's stated purpose.
The domain surface is essentially a single generic consultar tool with no apparent support for different NFE document types, filtering, or follow-up operations. The remaining tools address platform management rather than the NFE domain, leaving the actual domain coverage very thin.
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 adds context beyond the annotations (which already indicate idempotency and non-destructiveness). It explains that it can return a login link or accept a token, and clarifies that the token is a JWT. It also notes the permanent vs session distinction. This adds useful behavioral detail 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 a single long sentence that is somewhat rambling Commentary, but it is not overly verbose. It could be more structured (e.g., separate the two modes), but it conveys the needed information without redundancy. It is acceptable but not exemplary.
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 an authentication tool with a single optional parameter and no output schema, the description covers the main aspects: how to initiate login, how to provide a token, and the difference between permanent and session-scoped access. It lacks explicit details about response format, but that is not critical for this tool's purpose. It is sufficiently complete given the context signals.
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 schema has 0% description coverage, so the description must fill the gap. It does: it explains the `token` parameter's purpose (a JWT to paste for session-only login) and indicates it is optional (call with or without it). The description gives sufficient context for the parameter's usage.
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: it handles authentication by either providing a login link or accepting a token. It uses action verbs like 'log in' and 'paste', and references the resource (access token). It doesn't explicitly distinguish from sibling tools like 'connect', but the action is clear.
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 offers two explicit usage modes: with a token for session login, or without args to get a link. It also mentions the alternative of permanent configuration via header, giving context on when to use each. It does not explicitly state when not to use it, but the guidance is clear.
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?
Annotations already declare readOnlyHint and idempotentHint, and the description adds concrete details about return values in two scenarios (authenticated:true with empty pending, or connect_url). This goes beyond the annotations and clarifies expected output, without contradicting any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and each sentence provides meaningful detail about the return states. No redundancy or 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 simple tool with no inputs and no output schema, the description fully explains what the tool returns under the two main conditions. It is sufficiently complete for an agent to understand the tool's behavior.
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 description need not explain parameter behavior. The baseline for a zero-parameter tool is 4, and no additional param context is required.
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 returns connection status and URLs, which is a specific and unambiguous purpose. It distinguishes itself from siblings like 'authenticate' by focusing on status retrieval rather than performing authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains behavioral outcomes (when all providers connected vs. missing credentials) but does not provide explicit guidance on when to use this tool versus alternatives. There is no mention of when not to use it or reference to sibling tools.
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?
Beyond the annotations (readOnlyHint=false), the description adds rich behavioral context: invoke works even if the MCP is not installed, returns connect/checkout links for auth/payment, and runs one-off without bloating the toolkit. It also discloses that writes require owner/admin, and explains the prompt library behavior including shareable links. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Despite being lengthy, the description is well-structured and front-loaded: it starts with the core purpose, then explains the core flow, then key details (invoke vs install), then auth/write permissions, and finally the prompt library. Every sentence adds value, and the density is appropriate for a tool with 23 parameters and 14 actions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is remarkably complete for the tool's complexity. It covers all major actions, their outcomes (e.g., describe returns full profile with pricing/auth), exception handling (connect/checkout links), permission requirements, and the prompt library's separate functionality. Without an output schema, it adequately describes return behaviors. Only minor edge cases (e.g., exact behavior of resume or subscribe) are not detailed, but overall it is exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain the action enum in depth, mapping each action to its purpose and associated parameters (e.g., invoke uses tool_id and arguments, publish_prompt uses prompt fields). However, some parameters like immediate, tier_slug, conversation, and cancel_reason are not explicitly described, relying on schema defaults. Still, the description provides enough context for most parameters to be effectively utilized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is the official mcp.ai marketplace catalog and runner, with explicit verbs like search, describe, invoke, install, and a clear core flow. It distinguishes itself from sibling tools like authenticate or show_version by focusing on discovery and execution of MCPs and prompts.
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 invoke vs install: prefer invoke for single/occasional use, install for permanent integration. It also explains when to use search, describe, list_tools, subscribe, and request_mcp, clearly delineating scenarios like capability requests and billing needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receita_federal_nfe_consultarBRead-onlyIdempotentInspect
Receita Federal: NFE, 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 |
|---|---|---|---|
| nfe | Yes | ||
| 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 readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds valuable context: no platform credentials needed, prepaid credit per query, data is not confidential, and client is data controller under LGPD. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph, reasonably concise, and front-loaded with the core purpose. It includes necessary legal and operational context without excessive verbosity. Slightly dense but acceptable.
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 has 3 parameters with 0% schema coverage and no output schema, the description should explain more about parameters and expected output. It covers operational context (credits, LGPD) but leaves parameter semantics and return format unexplained, making it incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the three parameters (nfe, pkcs12_cert, pkcs12_pass). The description mentions 'consulta' but doesn't clarify what 'nfe' expects (e.g., access key format) or the purpose of the certificate parameters. This is a significant gap.
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 queries NFE (Nota Fiscal Eletrônica) data from official Brazilian sources, distinguishing it from generic tools. However, it doesn't explicitly differentiate from sibling tools, though siblings are unrelated (auth, marketplace, etc.), so it's clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the context (official source, prepaid credits, LGPD compliance) but doesn't explicitly state when to use this tool vs alternatives. It implies usage for querying NFE data but lacks explicit exclusions or alternative recommendations.
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?
The description adds a useful behavioral detail: include recent conversation messages for reproduction. However, it does not explain side effects, data sent, privacy implications, or what happens after reporting. Annotations cover some safety expectations, so the description is adequate but not rich.
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 short sentences. It front-loads the core purpose, then provides one key invocation detail. There is no redundant text or unnecessary structure.
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 reporting tool, the description captures the core intent and highlights the important reproduction input. Still, because there is no schema-level parameter documentation and the conversation type is ambiguous, there are clear gaps in knowing exactly how to construct a complete, 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?
Schema description coverage is 0%, so the description must compensate. It gives a hint about the conversation argument's purpose, but does not explain message or context, and it describes conversation as an array while the schema declares it as a string. This is too little information for the three 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 names the exact actions: report a bug, report a missing feature, or send feedback. This is specific and distinguishable from the unrelated sibling tools, and the verb+resource structure is clear.
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 clearly implies when to use the tool: when there is a bug, missing feature, or general feedback. It does not explicitly list exclusions or alternatives, but the sibling tools do not appear to compete with this reporting behavior.
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, covering the safety profile. The description adds no extra behavioral context such as whether network access is required or if any side effects occur. It simply restates the action without enhancing the annotation-provided information, so it meets the baseline but does not exceed it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler words. It is front-loaded with the action and object, making it immediately scannable. Every word contributes to meaning, achieving perfect conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description sufficiently explains what it does. It mentions both 'MCP platform' and 'adapter versions,' which gives the agent enough context to anticipate the tool's output. However, it does not specify the exact response format (e.g., object vs. string), though this is a minor gap for a version-checking tool.
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 coverage is effectively 100% (empty properties). The description correctly omits parameter details, adhering to the baseline of 4 for tools with no parameters. No additional semantic explanation is necessary or possible.
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: 'Show the current MCP platform and adapter versions.' It uses a specific verb ('show') and names the resources (platform and adapter versions), which distinguishes it 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?
While there is no explicit when-to-use guidance, the tool's purpose is straightforward and self-evident for checking versions. Sibling tools have distinct functions, and the description implicitly indicates usage when version information is needed. No exclusions or alternatives are mentioned, but the context is clear enough for a simple query tool.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds contextual value by specifying exactly what data is returned (installed MCPs, connection status, accounts, catalog tool counts), which goes beyond the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of approximately 25 words fully communicates the tool's purpose and return data. It is front-loaded with the action ('Returns the current toolkit state') followed by a compact enumeration of the included data. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only state tool with zero parameters and no output schema, the description adequately enumerates the return data (installed MCPs, connection status, accounts, catalog tool counts). It is complete enough for an agent to understand what it will receive, though it could optionally mention whether the state is live or cached.
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 100% schema coverage (empty schema), so there are no parameter semantics to document. Per the rubric baseline for 0-param tools, a 4 is appropriate — the description appropriately focuses on the return payload instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') plus a precise resource ('current toolkit state') and enumerates the exact data included: installed MCPs, connection status, connected accounts, and catalog tool counts. This clearly distinguishes it from sibling tools like authenticate, connect, and marketplace, which are operation/connection tools rather than state inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context — checking the state of the toolkit — but does not explicitly state when to use this tool versus alternatives like connect or authenticate, nor does it mention that a pre-flight state check would be useful before operation calls. No exclusions or alternative references are provided.
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
- Alicense-qualityCmaintenanceQueries official Brazilian federal received electronic invoices (NFS-e) via a hosted, read-only MCP server with prepaid credits, requiring no platform credentials.MIT
- Alicense-qualityCmaintenanceMCP server to query details of received electronic service invoices (NFS-e) from the Brazilian Federal Revenue. Read-only, no credentials required, pay-per-use with prepaid credits.MIT
- Alicense-qualityCmaintenanceConsulta dados completos de Notas Fiscais Eletrônicas (NFe) a partir da chave de acesso. Servidor MCP hospedado, somente leitura, com pagamento por consulta via créditos pré-pagos.MIT
- Alicense-qualityCmaintenanceQuery Brazilian Federal Revenue (Receita Federal) tax situation data from official sources via a single read-only tool, hosted and billed per use.MIT
Your Connectors
Sign in to create a connector for this server.