SEFAZ PR: NFC-e
Server Details
SEFAZ PR: 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_pr_nfce-mcp
- GitHub Stars
- 0
- Server Listing
- SEFAZ PR: 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.
Tool names and purposes are mostly distinct, though 'show_version' and 'toolkit_info' could be confused; descriptions clarify their different roles.
Naming is inconsistent: mixes English and Portuguese (e.g., 'sefaz_pr_nfce_consultar') and uses both underscores and no underscores (e.g., 'authenticate' vs 'report_bug').
7 tools is reasonable, but many are generic (authenticate, connect, marketplace) rather than domain-specific, slightly inflating the count for a simple NFC-e consultation service.
Only one NFC-e specific tool exists; lacks other potentially useful operations (e.g., listing documents, validation). Generic tools do not fill domain gaps.
Available Tools
7 toolsauthenticateAIdempotentInspect
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.
| Name | Required | Description | Default |
|---|---|---|---|
| token | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by explaining the authentication flow: calling with no args returns a link, passing a JWT token establishes a session. It also distinguishes between permanent and session-only authentication. Annotations already indicate idempotence and non-destructiveness, and the description adds relevant auth context without contradiction.
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 run-on sentence but is front-loaded with purpose and covers both usage modes. Every clause adds value, though it could be better structured with separate sentences or bullet points for clarity.
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 single-parameter authentication tool with annotations and no output schema, the description covers purpose, usage, and parameter meaning. It does not detail the exact return payload, but that is not critical given the simple use case and the presence of annotations. It adequately equips an agent to decide when and how to call.
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 only declares an optional 'token' string with no description. The description compensates by clarifying that the token is a JWT access token obtained from browser login and that omitting it yields a login link. This adds meaningful semantics beyond the raw 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 the purpose: authenticating an MCP.AI server for IDE agents via browser login and token. It uses specific verbs (log in, authenticate) and references the resource (MCP.AI). It does not explicitly contrast with sibling tools like 'connect', but the authentication focus is unmistakable.
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 usage scenarios: permanent configuration via an Authorization header and session-only login via a token, including instructions to call with no arguments to receive a login link. It does not mention alternative tools, but the two distinct usage modes are clearly described.
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, and the description adds concrete return behavior (authenticated state, pending[], connect_url) that goes beyond the annotations. It does not contradict 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?
Two sentences, each earning its place. Front-loaded with the core purpose, followed by concrete scenarios. No redundant words or restating of the name.
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 low complexity and strong annotations, the description covers the main return scenarios. However, it does not mention what happens when some providers are connected and others are missing, which is a plausible edge case for a status 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 schema coverage is 100%, so there is no parameter information to add. The description contributes no parameter semantics, but the baseline for 0 params is 4.
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 returns connection status and URLs, which distinguishes it from sibling tools like 'authenticate' which performs an action. The two scenarios (all connected vs. missing credentials) make the purpose unambiguous.
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 clear context by describing when it returns authenticated:true and empty pending[] vs when it returns connect_url, but it does not explicitly state when to use this tool instead of alternatives or exclude cases like partial connectivity.
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 provide only readOnlyHint false and getOnly false hints; the description carries the behavioral burden and succeeds. It discloses side effects: invoke runs a tool without installing it and without bloating the list, credentials cause a connect link, an empty wallet yields a checkout link, and writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require owner/admin. It also mentions how spec states are flagged (installed in toolkit vs workspace). This is exactly the kind of out-of-band context an agent needs.
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 ~400-word wall of text with no bullets or headers, forcing the model to parse the whole paragraph up front. Most sentences are information-dense and relevant, but the front-loading is undermined by rambling digressions like naming the prompt library and the 'pontualmente' control word. A short structured flow would be much easier to act upon.
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 23 parameters, multiple actions, no output schema, and false annotations, the description makes a strong effort to provide the situational semantics: install vs invoke decision, required permissions, auth/billing exceptions, and prompt-library workflows. It falls short only because it does not define output shapes for search/describe/list_tools and most parameter semantics remain unstated, so an agent still has to guess parameter-to-action mappings.
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 text must explain 23 parameters, but it only associates meaning with a few: action (via the described flow), query (search intent), the tool_id/being picked from a describe result, plus the prompt-library slubs. Most parameters (limit, immediate, tier_slug, cancel_reason, conversation, prompt_targets, prompt_body, request_details, etc.) appear only in the schema with types/defaults, no description explains them. This is a significant gap for an agent selecting proper parameter values.
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 establishes the tool as the mcp.ai marketplace performing multiple functions: discovering MCPs (search), inspecting them (describe), running them one-off (invoke), and managing installs/billing. It gives a distinct core flow ('action=search discovers MCPs by intent → describe returns the full profile → invoke RUNS that tool') which distinguishes it from the sibling tools like authenticate or show_version. It loses the fifth point because it is not a specific verb+resource but a multi-action hub, and the appended prompt-library section adds a second, distinct purpose that makes the scope feel wider.
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?
Usage guidance is explicit: 'prefer invoke for a single/occasional use', 'Use install only to make an MCP permanent in the active toolkit', 'list_tools lists what is callable right now', and 'report_bug/request_mcp' are listed as escalation paths when something does not fit. It also states when invoke returns a connect link and when it returns a payment/retry flow. This covers not just what the tool does but when to invoke each sub-capability.
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 useful behavioral guidance beyond the annotations by instructing the agent to include the conversation array for reproduction. However, it does not say what happens after reporting, whether any confirmation is returned, or what side effects might occur, so the behavioral disclosure is only partially complete.
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 clearly states the tool's purpose and contains a relevant usage instruction for the key reproduction field. There is no wasted verbiage or irrelevant 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?
This is a simple three-string-parameter tool with no output schema, and the description covers its main purpose and the most important invocation note about the conversation array. However, it does not describe what type of response to expect, how to format the message, or when to omit `context`, leaving the description slightly incomplete.
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 provides property names and defaults but no descriptions, and the description only explicitly explains the semantics of `conversation` ('recent messages for reporting'). It also lightly implies what `message` is used for, but `context` is left under-explained. Since schema description coverage is 0%, this is helpful but not fully compensatory.
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 explicitly says the tool is used to 'report a bug, missing feature, or send feedback,' which gives a specific verb and clear resource/action pairing. None of the sibling tools cover bug reporting or feedback, so it is easy to distinguish from the alternatives.
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 is clear about when to invoke the tool: when reporting a bug, requesting a missing feature, or sending feedback. It does not name explicit alternatives or exclusions, but the sibling tools do not overlap with this function, so the usage context is reasonably strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sefaz_pr_nfce_consultarARead-onlyIdempotentInspect
SEFAZ PR: 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, idempotentHint, and non-destructive behavior. The description adds valuable context about platform hosting, lack of platform credentials, prepaid credit per query, and LGPD data-controller responsibilities, going beyond the annotation signals.
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 purpose is front-loaded in the first sentence, and subsequent sentences provide necessary business and legal context. It is relatively concise, though the multiple clauses about hosting, payment, and LGPD make it slightly dense.
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 covers the official source, payment model, credential requirements, and data-responsibility aspects. However, it does not describe what the returned data looks like or any error behavior, and there is no output schema to compensate.
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, but neither the schema nor the description specifies its expected format (e.g., a 44-character access key). With schema description coverage at 0%, the description must compensate, but it only mentions 'NFC-e' vaguely without detailing the exact input value.
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 opening phrase 'SEFAZ PR: NFC-e, consulta em fonte oficial' clearly states a specific action (consultar) on a specific resource (NFC-e) from a specific source (SEFAZ PR). It is easily distinguishable from the general sibling tools like authenticate, connect, and marketplace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving official Brazilian NFC-e information when a citizen-accessible source is acceptable. It does not explicitly state when not to use the tool or mention alternative tools, but the official/payment context gives reasonable guidance.
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 the tool is read-only and idempotent, so the description doesn't need to restate that. The description adds minor value by specifying 'MCP platform and adapter' versions, but it doesn't disclose any runtime behavior (e.g., network calls, caching) beyond the obvious. 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?
The description is a single, concise sentence that front-loads the action. Every word earns its place, and it's appropriately sized for a trivial version-check 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?
Given zero parameters, no output schema, and a straightforward purpose, the description is complete. It covers exactly what versions are reported and requires no additional context.
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 doesn't need to explain parameter meaning. With no params, a baseline of 4 is appropriate per the rubric, and the description is clear that it takes no input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('show') and resource ('MCP platform and adapter versions') that clearly identifies the tool's function. It distinguishes itself from sibling tools like 'authenticate' or 'connect' by being solely about version information.
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 its clarity (checking version numbers), but it doesn't explicitly state when to use it versus alternatives or provide any 'when not to use' guidance. It's adequate but relies on the user inferring the context from the tool name and siblings.
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, idempotentHint, and destructiveHint=false, so the description does not carry the full burden. The description's 'Returns' matches this non-mutating behavior but adds no additional behavioral caveats such as whether state is cached, whether it triggers a refresh, or whether it requires prior authentication. This is acceptable for a simple read tool but adds no extra transparency 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, front-loaded sentence that begins with the action 'Returns' and immediately names the key subject. Every phrase in the enumerated list adds distinct, useful information without repetition 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?
The tool is simple (no parameters, no output schema), and the description enumerates the key output categories: installed MCPs, connection status, accounts, and catalog tool counts. It does not explain return format or empty-state behavior, but those are not necessary for this straightforward state-inspection 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 is an empty object with 100% coverage, so there is nothing for the description to add about parameter meaning. The baseline of 4 is appropriate because no parameter documentation is needed.
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 identifies the resource ('current toolkit state') plus the exact contents: installed MCPs, connection status, connected accounts, and catalog tool counts. This level of detail distinguishes it from siblings like show_version or connect, 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 implies that this is the tool for inspecting toolkit state, but it does not explicitly state when to use it over alternatives or mention sibling tools like show_version. No exclusions or prerequisites (e.g., 'run after authenticate/connect') are provided, so guidance is only implied.
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-qualityCmaintenanceProvides read-only consultation of official SEFAZ SC NFC-e tax data via a single tool, with prepaid per-query credits and works with any MCP client.MIT
- Alicense-qualityCmaintenanceEnables querying Brazilian SEFAZ NFC-e electronic invoice data from official sources via a read-only MCP server, with pay-per-use prepaid credits and compatibility with any MCP client.MIT
- Alicense-qualityCmaintenanceProvides read-only consultation of Rio Grande do Sul NFC-e (electronic invoice) data from the official SEFAZ RS source via a hosted MCP server with pay-per-query credits.MIT
Your Connectors
Sign in to create a connector for this server.