Receita Federal: CTe
Server Details
Receita Federal: CTe, official-source lookup. Platform-hosted, pay per query with prepaid credit.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- mcp-dir/receita_federal_cte-mcp
- GitHub Stars
- 0
- Server Listing
- Receita Federal: CTe
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.2/5 across 7 of 7 tools scored.
Most tools have distinct roles, but the broad `marketplace` tool overlaps with functionality covered by the standalone `report_bug`, `toolkit_info`, and connection/auth tools, making it easy for an agent to pick the wrong path. The single CTE-specific tool is clear, but the platform tools blur the set's overall separation of concerns.
The names mix bare verbs (`authenticate`, `connect`), generic nouns (`marketplace`), noun-noun compounds (`toolkit_info`), English verb-noun pairs (`report_bug`, `show_version`), and a Portuguese noun-before-verb name (`receita_federal_cte_consultar`). There is no consistent verb_noun or noun_verb pattern that lets an agent predict tool names.
Seven tools is a reasonable raw count, but six are platform utilities and only one actual domain capability for Receita Federal CTe. As a set, the tools do not feel tightly scoped to the server's named purpose, though they are still small enough to browse.
For a simple CTe consultation, the single domain tool plus connection helpers may be enough, but the native surface lacks distinct capabilities like listing, downloading, or batch-checking CTE documents. The `marketplace` tool could fill gaps indirectly, but that is not the same as having a coherent, complete CTe-specific toolset.
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 discloses behavior: it initiates a browser login, returns a link, accepts a token, and notes the difference between permanent (config) and session-only (paste) authentications. It also mentions the token type (JWT). Annotations declare non-read-only but do not require more disclosure. The description adds valuable context about the two auth modes and the need for a user to paste the token, with no contradictions.
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 concise but includes necessary details about the two modes and the token format. It's not verbose, though it could be slightly more structured, but it's clear and to the point.
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, it explains the workflow (login, get token, use it) and the two methods. It lacks information about error handling or what the response looks like, but the lack of output schema may make that acceptable. Overall, it's fairly complete for its purpose.
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?
Despite 0% schema description coverage, the description fully explains the only parameter `token`: it expects a JWT string when the user pastes it, and its absence triggers a link. This carries the full burden of parameter semantics, making the tool invocable correctly.
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: to authenticate a user for MCP.AI, providing two methods (browser login with token config or session token) and a no-args mode to get the link. It uses a specific verb 'log in' and identifies the resource (MCP.AI for IDE agents). It distinguishes from siblings like 'connect' and 'marketplace' by focusing on 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 provides explicit guidance on when to use each mode: adding the token to the server config for a permanent connection, pasting a token for session-only, or calling with no args to get the login link. This clearly communicates usage contexts and alternatives, even though it doesn't mention when not to use the tool.
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 declare readOnlyHint=true and destructiveHint=false, so description's job is to add behavioral nuance. It does so by explaining the exact outputs (authenticated, pending[], connect_url) under different conditions, which goes beyond annotations. No contradiction found.
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 short sentences with the main purpose front-loaded itching the response. Covers both key scenarios without extraneous detail, making it concise and well-structured.
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 no output schema and no parameters, the description adequately explains return values and edge cases (all connected vs missing credentials). It is complete for a simple status tool with clear response structure.
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 input schema carries no burden. Description need not explain parameters; baseline for zero params is 4, and no additional clarification 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?
Clearly states it returns connection status and URLs, with specific verb 'returns' and resource 'connection status and URLs'. Distinguishes from siblings like 'authenticate' by focusing on status rather than the authentication action itself.
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?
Describes what happens in different connection states (all connected vs missing credentials) but does not explicitly state when to call this tool versus alternatives like 'authenticate'. Usage context is implied but not stated as direct guidance.
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 flags (readOnlyHint=false, openWorldHint=true) — the description carries substantial burden and exceeds it: it discloses that invoke runs one-off without bloating the toolkit, returns connect links for credentials and checkout/top-up links for empty wallets (then retry), requires workspace owner/admin for writes, and explains the prompt library's openable-without-login links. No contradiction with annotations; the content meaningfully supplements the flag-only annotation set.
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 dense, single-paragraph wall of text with run-on sentences, mixes Portuguese ('pontualmente'), and front-loads the core flow but buries the prompt-library section at the end without structural separation. Despite being information-rich, its lack of breaks or emphasis makes it hard to scan — the highest-value distinction (the four action sub-flows) is not visually or rhetorically isolated.
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 very high complexity (14 actions, 23 params, no output schema), the description covers a remarkable breadth: discovery flow, one-off vs permanent install semantics, billing/auth edge cases, permission requirements, and the separate prompt-library feature. Nearly all behavioral aspects an agent needs are present. The only deduction is structural — completeness of content is high, but the unorganized form risks the agent missing key clauses buried mid-paragraph.
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 for 23 undocumented parameters. The prose maps the core flow to the central params (action, mcp_id, tool_id, arguments, immediate, tier_slug) and lightly touches cancel_reason and prompt_* params, but leaves many (conversation, request_name, report_context, prompt_targets, request_details, prompt_category) unexplained. Partial compensation — the most important parametrization is clear, but the long tail is unaddressed.
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 identifies the tool as the mcp.ai marketplace — a discovery, execution, and management hub dispatching via the `action` parameter across search/describe/invoke/install/billing/prompt-library actions. It distinguishes itself from siblings (authenticate, connect, show_version) by framing itself as the in-platform catalog and execution path. However, the enormous scope (14 actions in one tool) makes the single-sentence purpose less crisp than a single-responsibility tool.
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 when-to-use guidance: 'Use install only to make an MCP PERMANENT in the active toolkit', 'prefer invoke for a single/occasional use', and documents the core flow (search → describe → invoke). It also names alternatives (list_tools for what is currently callable, request_mcp to build a NEW MCP). This is textbook-level usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receita_federal_cte_consultarARead-onlyIdempotentInspect
Receita Federal: CTe, 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 |
|---|---|---|---|
| cte | Yes | ||
| pkcs12_cert | No | ||
| pkcs12_pass | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds valuable context: it's a paid per-query service, uses prepaid credits, involves no confidential data, and clarifies data controller obligations. This goes well beyond the annotation safety profile.
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 moderately concise, but it contains some redundancy (mentions 'fonte oficial' twice) and includes legal boilerplate that isn't essential for invocation. Front-loads the core purpose effectively, but could be trimmed.
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?
While the purpose and payment model are clear, the description fails to explain the required input parameters or expected output. With no output schema, the agent has no guidance on what the response looks like, making it incomplete for practical 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?
The schema has 0% coverage, and the description provides no explanation of the parameters (cte, pkcs12_cert, pkcs12_pass). It doesn't clarify what 'cte' refers to, nor the purpose of the certificate and password – a critical omission for an agent to fill the arguments correctly.
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 a specific verb and resource: 'CTe, consulta em fonte oficial' – query CT-e from an official source. It distinguishes itself from sibling tools (authenticate, connect, etc.) by being domain-specific and not overlapping with generic platform utilities.
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 gives clear context: payment via prepaid credits, no platform credentials needed, and LGPD responsibilities. However, it doesn't explicitly compare to alternatives or state when not to use, though sibling tools are unrelated so this is acceptable.
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 behavioral context by instructing to include the conversation array for reproduction, hinting at the tool's purpose. However, it does not discuss side effects, idempotency, or destructive potential beyond what annotations imply. Annotations are present but the description does not elaborate further.
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 concise and front-loaded: the first sentence states the purpose, the second provides an additional instruction. No unnecessary words.
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 relatively simple; the description explains the purpose and important input details. It is complete enough for typical use, though it could benefit from an example or more explicit note about when to use it.
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 description adds meaning to the 'conversation' parameter by explaining its role for reproduction. However, it does not clarify 'context' or 'message' beyond the schema definitions. Coverage is partial.
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: reporting a bug, missing feature, or sending feedback. It also mentions including the conversation array for reproduction, adding specificity.
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 some guidance (include conversation array) but does not explicitly state when to use this tool over alternatives or any prerequisites. It implies usage for bug reporting or feedback but lacks explicit 'when not to use' or comparisons.
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, so the safety profile is clear. The description adds context by specifying 'current' versions and distinguishing between platform and adapter versions, which goes beyond the annotation-only information. There is no contradiction 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 sentence with no extraneous words. It is front-loaded and directly states the action and object. Every word earns its place.
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, no output schema, and clear annotations, the description is complete. It explains exactly what version information is shown (platform and adapter) and implies the read-only nature. There is no missing essential 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 and the schema coverage is 100% (empty object). With no params to document, the baseline is 4, and the description does not need to add parameter semantics. The description fully covers what the tool does with no 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 clearly states the tool's purpose: 'Show the current MCP platform and adapter versions.' It uses a specific verb ('show') and resource ('versions'), and the distinction from siblings like 'toolkit_info' or 'connect' is evident. It fully conveys what the tool does.
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 when to use the tool (to check version information) but does not explicitly compare it to alternatives or state when not to use it. For a simple version-checking tool, the usage is intuitive, but there is no explicit guidance on selecting it over other tools.
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 mark this as read-only, idempotent, and non-destructive. The description adds context about the return content (installed MCPs, statuses, accounts, catalog tool counts), which complements the safety hints 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?
The description is a single, well-structured sentence that lists the key information returned without redundancy. It is concise and front-loaded with the main purpose.
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 zero-parameter, read-only info tool, the description fully conveys what the tool does and what information it provides. No output schema is needed since the description enumerates the return details clearly.
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 baseline for 0 params is 4, and the description does not need to elaborate on parameter semantics.
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 the current toolkit state, enumerating specific components like installed MCPs, connection status, accounts, and catalog tool counts. This distinguishes it from sibling tools like authenticate or connect, which are action-oriented.
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 inspecting the toolkit's current state, but does not explicitly specify when to use this over alternatives or provide exclusions. While it is distinct from siblings, there is no explicit 'when-to-use' 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-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-qualityCmaintenanceQuery Brazilian Federal Revenue (Receita Federal) tax situation data from official sources via a single read-only tool, hosted and billed per use.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-qualityCmaintenanceProvides query access to official SINTEGRA SE data through a single read-only MCP tool, with pay-per-use credits and no platform credentials required.MIT
Your Connectors
Sign in to create a connector for this server.