SEFAZ ES: NFC-e
Server Details
SEFAZ ES: 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_es_nfce-mcp
- GitHub Stars
- 0
- Server Listing
- SEFAZ ES: NFC-e
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/5 across 7 of 7 tools scored.
Several tools overlap around connection and platform state: connect, authenticate, and toolkit_info all deal with credentials, connection status, or accounts, and marketplace also reports installed state. The single SEFAZ domain tool is clearly distinct, but an agent could easily misroute connection-status requests between connect and toolkit_info.
Naming mixes bare verbs (authenticate, connect), noun-based names (marketplace, toolkit_info), verb_noun pairs (report_bug, show_version), and a Portuguese domain-prefixed verb (sefaz_es_nfce_consultar). The inconsistent separators, verb placement, and language mix make the naming pattern hard to predict.
Seven is not a large raw count, but only one tool actually serves the SEFAZ ES NFC-e domain; the rest are generic platform administration and marketplace tools. For a server named after a specific tax API, this is disproportionate and makes the server feel like a platform wrapper rather than a focused domain tool.
The single sefaz_es_nfce_consultar tool covers the basic official consultation use case, so the server is not entirely hollow. However, there are no broader NFC-e operations such as status checks, document retrieval variants, or related management actions, leaving the domain surface quite minimal.
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?
Annotations already indicate idempotent and non-destructive behavior. The description adds context about the two modes but does not mention potential side effects or error cases, which is acceptable for a simple auth tool.
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 slightly verbose but well-structured, covering both usage modes without unnecessary fluff. All sentences contribute to understanding.
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?
It explains the input and the two authentication paths, but does not specify the return format when the link is returned or what happens after authentication. Given no output schema, this is a minor gap.
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 single 'token' parameter is optional (required=0) and the description clarifies its use: providing it authenticates, omitting it returns the link. This adds meaning beyond the bare schema.
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 that the tool handles authentication, distinguishing it from sibling tools like 'connect' and 'marketplace'. It specifies two modes: permanent configuration and session-only token.
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?
Provides explicit instructions for both use cases: adding a token to config for permanent access, or pasting a token for session-only access. Also explains the no-args option to get the link. Clear but does not explicitly mention when not to use it.
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, idempotentHint, and destructiveHint=false. The description adds valuable behavioral detail: it explains the exact return values (authenticated:true and empty pending[] when connected, and connect_url when credentials are missing), which is not present in 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 two sentences, front-loads the main purpose, and contains no filler or redundant information. Every sentence adds meaningful detail.
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 and no output schema, the description is fully complete. It covers both relevant scenarios (connected vs. missing credentials), making it sufficient for an agent to select and invoke the tool correctly.
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. The description does not need to explain parameter details, and it does not repeat any schema 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 uses the specific verb 'Returns' and clearly identifies the resource as 'connection status and URLs.' It distinguishes the tool from siblings like 'authenticate' (which handles authentication actions) by focusing on status reporting 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 implies usage by explaining the expected output in different states (all providers connected vs. credentials missing). It does not explicitly mention when to use alternatives, but the context is clear enough for an agent to know this is the status-checking tool.
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?
Annotations only provide high-level hints (readOnlyHint=false, openWorldHint=true). The description adds crucial behavior: invoke works even if the MCP isn't installed, writes need workspace owner/admin, credential/checkout links are returned, and search/describe flag installed_in_toolkit vs installed_in_workspace. This is substantial beyond the annotations and no contradiction is present.
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 dense paragraph, covering a huge array of behavior; much of it is valuable, but the one-block wall of text makes it harder to parse. Labeling ('KEY:', 'Core flow:') helps front-weight important ideas, but more structure, such as action lists or bullets, would greatly improve scannability. There is not much wasted content, but the organization is moderate.
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 enormous surface area (23 params, multiple action modes, no output schema), the description is unusually thorough: it explains search/describe/invoke/install, billing, owner-admin restrictions, prompt-library flows, shared links, and retry semantics for checkout. However, a few action-specific behaviors (resume, conversation, immediate, tier_slug) remain under-specified, so it is nearly complete but has clear gaps.
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 23 parameters with 0% description coverage, so the prose carries a heavy burden. The description does clarify many parameters indirectly through the action flow (e.g., tool_id, arguments, mcp_id, prompt_slug, prompt_body, cancel_reason), but several parameters remain underspecified: limit, conversation, immediate, tier_slug, and resume are not clearly explained. It partially compensates but does not fully compensate for no schema descriptions.
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 explains that this is the mcp.ai marketplace catalog, and clearly distinguishes multiple action flows (search, describe, invoke, install, list_tools, billing, prompts). It names the main verbs and resources, and makes the tool's role clear even though it is an aggregator-style tool with many operations.
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 gives explicit decision guidance: prefer invoke for one-off use, use install only to make an MCP permanent, and states that list_tools lists currently callable tools. It also separates the MCP marketplace flows from the prompt library flows, so the agent knows when to use different actions and when to avoid installing an MCP.
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 declare readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds useful reproduction-related context (conversation array), but does not disclose side effects, destination, or confirmation behavior.
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, front-loaded with the core purpose, and every sentence adds value. No filler or redundant restatement.
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 output schema and 0% parameter description coverage, the description leaves message/context semantics and expected return behavior unstated. It covers the basic purpose but is not fully complete for autonomous 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%, so the description must compensate. It only explains the conversation parameter; the required message parameter and optional context parameter are left undescribed, leaving agents without enough meaning for all inputs.
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 ('Report') and identifies the exact resource: bugs, missing features, and feedback. It clearly distinguishes this tool from siblings 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?
It provides clear contexts for use: reporting a bug, missing feature, or feedback, and instructs to include the conversation array for reproduction. It does not mention explicit alternatives, but no sibling tool serves this function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sefaz_es_nfce_consultarARead-onlyIdempotentInspect
SEFAZ ES: 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).
| Name | Required | Description | Default |
|---|---|---|---|
| nfce | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds valuable context: the data is not confidential, it is the same available to citizens, and the client is responsible for LGPD compliance. It also explains the payment mechanism (prepaid credits). These details go beyond the annotations and provide useful behavioral insight.
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 front-loaded with the core purpose ('SEFAZ ES: NFC-e, consulta em fonte oficial') and then adds practical details. It is a single paragraph of about 50 words, with no redundant filler. It is concise and well-structured, though the legal and payment notes could be trimmed without losing essential information.
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 read-only tool with one parameter, the description covers the data source and legal aspects but does not specify what the response contains or any required input format. Since there is no output schema, the description should at least hint at the expected return value (e.g., the NFC-e details). The absence of this information leaves a gap for the agent.
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 only parameter 'nfce' is a string with zero schema description coverage. The description mentions 'NFC-e' in the purpose but does not explain the expected format (e.g., a key, a number, a URL). It gives a hint that the parameter is likely the NFC-e identifier, but this is not explicit enough for an agent to construct correct input. The description fails to compensate for the lack of schema documentation.
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 this tool consults NFC-e data from the official SEFAZ ES source. It uses the specific verb 'consulta' and identifies the resource (NFC-e), distinguishing it from sibling tools like authenticate or marketplace, which have different purposes.
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 context on when to use the tool (for NFC-e consultation from official sources) and mentions the payment model, but does not explicitly discuss alternatives or when not to use it. Since there are no closely related sibling tools, the absence of explicit exclusions is acceptable, but the guidance is not fully explicit.
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 and idempotentHint=true, so the safe read behavior is covered. The description adds that it displays both platform and adapter versions, which provides some context beyond annotations, but there's no mention of output format or any potential prerequisites.
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 wasted words. It front-loads the purpose effectively and is appropriately concise for a zero-parameter 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?
For a simple read-only version tool, the description is adequate: it states what is displayed and the annotations cover safety. It doesn't explain the return format, but given the simplicity and lack of output schema, this is not a major gap. It could mention that it's a quick informational tool, but overall it's minimally complete.
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 schema coverage is 100% by default. The description doesn't need to explain parameters, hence baseline 3 is appropriate, as there's no additional parameter meaning to add.
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 states the tool shows current MCP platform and adapter versions, which is specific enough for a version display tool. It doesn't explicitly distinguish from siblings like toolkit_info, but the scope is clear without being a tautology.
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 for checking version information, but no explicit guidance on when to use this versus sibling tools like toolkit_info. Given the simple nature and zero parameters, the implied usage is adequate but could name an alternative.
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 safe, non-mutating behavior is known. The description adds useful content details (MCPs, status, accounts, tool counts) but doesn't disclose additional behaviors such as whether the state is real-time or if errors occur with no MCPs installed. With annotations covering the safety profile, this 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 a single sentence that front-loads the action and resource, then enumerates key data points. Every part adds value, with 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 zero-parameter read-only tool with no output schema, the description fully conveys what the tool does and what it returns. Annotations provide safety context. No critical information is missing.
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. The description doesn't need to add parameter details since there are none, and the schema is empty.
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') and clearly names the resource ('current toolkit state') with enumerated details: installed MCPs, connection status, connected accounts, and catalog tool counts. This distinguishes it from sibling tools like authenticate/connect (which are actions) and show_version (likely version info only).
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 makes its use case clear by listing the state information it provides, implying when to call it (e.g., to assess toolkit connectivity or MCP inventory). However, it does not explicitly mention when not to use it or point to alternative tools, so it stops short of full guidance.
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-qualityCmaintenanceEnables read-only consultation of SINTEGRA ES tax data from official sources via a hosted MCP server, with pay-per-use credits.MIT
- Alicense-qualityCmaintenanceProvides a single read-only tool to consult NFC-e (electronic invoice) data from SEFAZ Amazonas via MCP over HTTP, with prepaid credits.MIT
- Alicense-qualityCmaintenanceEnables consultation of Brazilian NFC-e (electronic invoice) data from the official SEFAZ BA source via a read-only MCP server, with pay-per-use credits.MIT
- Alicense-qualityCmaintenanceEnables querying SEFAZ's centralized taxpayer registration (CCC) from the official source via a read-only tool. Pay-per-use with prepaid credits.MIT
Your Connectors
Sign in to create a connector for this server.