Oráculo B2R
Server Details
Brazilian tax intelligence for AI agents. Calculates Fator R (Simples Nacional), validates CNAE codes, proportionalizes first-year companies, projects future tax scenarios, and provides export compliance rules.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: Fator R calculation, generic data retrieval, export rules, and Simples Nacional simulation. Despite slight topical overlap between calculate_fator_r and simulate_simples_nacional, their descriptions differentiate them effectively.
All tool names follow a verb_noun pattern with snake_case, but there is a mix of Portuguese and English (e.g., 'fator_r' vs 'oracle_data'). This is mostly consistent but not perfectly uniform.
With 4 tools, the server is slightly lean but still well-scoped for a specialized tax domain. Each tool covers a core aspect, and the count is appropriate for the server's purpose.
The tools cover key tax operations for Brazilian tech companies: Fator R, Simples Nacional simulation, and export rules. The generic fetch_oracle_data tool fills minor gaps, though some specific tax calculations are missing.
Available Tools
4 toolscalculate_fator_rCalcular Fator R (Simples Nacional)ARead-onlyIdempotentInspect
Calcula o Fator R do Simples Nacional (Art. 18, § 5º-J da LC 123/2006) com inteligência tributária avançada. Suporta validação automática de CNAE, proporcionalização de receitas/folha para empresas com menos de 12 meses de atividade, e projeções de cenários futuros de crescimento.
| Name | Required | Description | Default |
|---|---|---|---|
| cnae | No | Código CNAE principal da empresa (opcional, ex: "6201-5/01" para desenvolvimento de software) | |
| rbt12 | Yes | Receita Bruta Total acumulada nos últimos 12 meses em R$ (ex: 360000) | |
| folha12 | Yes | Folha de pagamento acumulada nos últimos 12 meses em R$ (inclui pró-labore dos sócios e salários + INSS) | |
| faturamento_mes | No | Faturamento em R$ do mês atual a ser tributado (opcional) | |
| meses_atividade | No | Quantidade de meses de atividade da empresa se tiver menos de 12 meses (opcional, ex: 6 para proporcionalizar RBT12/Folha12) | |
| projecao_crescimento_pct | No | Percentual estimado de crescimento do faturamento mensal nos próximos meses (opcional, ex: 20 para 20%) |
Output Schema
| Name | Required | Description |
|---|---|---|
| content | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral traits beyond annotations, such as automatic CNAE validation, proportionalization for companies with less than 12 months, and projection of future growth scenarios. These are useful context that annotations lack.
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 consists of two sentences. The first sentence states the purpose and legal reference, while the second lists key features. It is concise and front-loaded, but the features list could be more integrated. Overall, it earns its place without unnecessary verbosity.
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 complexity (6 parameters, 2 required, 100% schema coverage, and an output schema exists), the description covers the main aspects: purpose, legal basis, and advanced features. It does not explain return values, but the output schema presumably handles that. No major gaps for a calculator 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?
Schema description coverage is 100%, with each parameter clearly described (e.g., rbt12: 'Receita Bruta Total acumulada nos últimos 12 meses em R$'). The description does not add significant detail beyond the schema, only mentioning the tool's 'advanced tax intelligence' and listing features. No contradiction or missing semantics noted.
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 calculates the Fator R for Simples Nacional with a specific legal reference (Art. 18, § 5º-J da LC 123/2006) and mentions advanced features. It distinguishes itself from sibling tools like fetch_oracle_data, query_export_rules, and simulate_simples_nacional by focusing on calculation rather than data retrieval or simulation.
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 no explicit guidance on when to use this tool versus alternatives. It lists features but does not specify prerequisites, when it is appropriate, or when not to use it. Sibling tools are not compared or excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_oracle_dataConsultar Dados Estruturados do Oráculo B2RARead-onlyIdempotentInspect
Recupera dados estruturados do oráculo B2R. Retorna informações atualizadas sobre a categoria e chave especificadas. Use quando precisar de dados de mercado, pricing ou métricas atualizados.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Chave específica dentro da categoria (ex: "btc_usd", "saas_arpu") | |
| category | Yes | Categoria dos dados (ex: "market_data", "pricing", "metrics") |
Output Schema
| Name | Required | Description |
|---|---|---|
| content | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds minimal behavioral transparency beyond stating it returns 'informações atualizadas' (updated information). The description does not disclose any additional traits like authorization needs or rate limits. With strong annotations, the description's extra value is limited, meriting a 3.
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 long, front-loaded with the core action, and every sentence provides useful information. No extraneous text. It is 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 that an output schema exists, the description does not need to explain return values. It mentions structured data and updated information. The tool has 2 parameters (1 required) and the description covers the use case. It could be slightly improved by noting the finite set of categories/keys (implied by openWorldHint=false), but overall it is sufficiently 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?
Schema description coverage is 100%, meaning the input schema already fully documents both parameters (key and category). The description merely repeats the parameter roles ('categoria e chave especificadas') without adding new meaning or constraints. According to guidelines, baseline is 3 when coverage is high.
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 'Recupera dados estruturados do oráculo B2R' (retrieve structured data from the B2R oracle), specifying the resource (oracle data) and action (fetch). It differentiates from sibling tools (calculate_fator_r, query_export_rules, simulate_simples_nacional) which have distinct 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 explicitly says 'Use quando precisar de dados de mercado, pricing ou métricas atualizados' (use when needing market data, pricing, or updated metrics), providing clear context for use. However, it does not mention when not to use it or suggest alternatives, but given sibling tools cover different domains, this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_export_rulesRegras de Exportação de Serviços DigitaisARead-onlyIdempotentInspect
Consulta as regras brasileiras de exportação de serviços digitais. Retorna isenções fiscais (ISS, PIS, COFINS), instruções de emissão de NFS-e para exportação, regras cambiais do BCB (Resolução 561) e vedações ao uso de criptoativos no eFX. Use quando uma empresa brasileira precisa entender como tributar receitas de clientes/agentes no exterior.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | Yes | Tipo de consulta: "resumo" (visão geral rápida), "isencoes" (ISS/PIS/COFINS), "nfse" (como emitir NFS-e), "cambial" (BCB/eFX/cripto), "completo" (tudo) |
Output Schema
| Name | Required | Description |
|---|---|---|
| content | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds context about the specific information returned (exemptions, NFS-e, FX rules, crypto prohibitions), but does not disclose additional behavioral traits like response size, error conditions, or performance.
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: one stating the tool's purpose and returns, another for usage guidance. It is front-loaded with key information and contains no redundant or extra 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?
Given the low complexity (1 parameter, full schema coverage, output schema exists), the description adequately covers purpose, returns, and usage. It does not detail output structure, but the output schema handles that. Minor gap: could mention that queries are read-only and idempotent, but annotations already do.
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 100% for the single enum parameter 'tipo', which is well-documented with each option explained. The description does not add any new parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries Brazilian export rules for digital services, specifying the types of returns (tax exemptions, NFS-e instructions, FX rules, crypto restrictions). It distinguishes itself from sibling tools like calculate_fator_r and fetch_oracle_data by focusing on tax and regulatory compliance for foreign income.
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 an explicit use case: when a Brazilian company needs to understand how to tax revenues from foreign clients/agents. It does not mention when not to use it or alternatives, but the sibling tools are distinct enough to avoid confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_simples_nacionalSimulação do Simples Nacional (Anexo III vs V)ARead-onlyIdempotentInspect
Simulador completo do Simples Nacional para empresas de tecnologia. Compara Anexo III vs Anexo V, calcula alíquota efetiva, imposto mensal estimado, economia anual potencial e emite alertas de risco sobre o Fator R. Use para planejamento tributário de empresas no regime Simples Nacional.
| Name | Required | Description | Default |
|---|---|---|---|
| rbt12 | Yes | Receita Bruta Total acumulada nos últimos 12 meses em R$ (ex: 480000) | |
| folha12 | Yes | Folha de pagamento acumulada nos últimos 12 meses em R$ (inclui pró-labore + salários + INSS) | |
| faturamento_mes | Yes | Faturamento em R$ do mês atual a ser tributado |
Output Schema
| Name | Required | Description |
|---|---|---|
| content | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, idempotent, non-destructive. The description adds that it is a comprehensive simulation, includes comparisons, calculations, and risk alerts, providing behavioral context 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?
Single sentence, packs all key information, but could be more concise by splitting. Still efficient.
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 complexity, description covers tool purpose and outputs effectively. Output schema handles return values. Adequate for decision-making.
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 coverage is 100%, so baseline is 3. The description does not add additional meaning beyond the schema's parameter 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 explicitly states the tool simulates Simples Nacional for tech companies, compares Annex III vs V, calculates effective rate, monthly tax, potential annual savings, and issues risk alerts. It clearly distinguishes from siblings like calculate_fator_r.
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?
Directly states to use for tax planning of companies under Simples Nacional regime. While it doesn't explicitly mention when not to use, the context with siblings provides implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- Changed
calculate_fator_r1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "content": { + "items": { + "properties": { + "text": { + "description": "JSON serializado com o cálculo detalhado do Fator R", + "type": "string" + }, + "type": { + "description": "Tipo do conteúdo (ex: \"text\")", + "type": "string" + } + }, + "required": [ + "type", + "text" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "content" + ], + "type": "object" +}
- Changed
fetch_oracle_data1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "content": { + "items": { + "properties": { + "text": { + "description": "JSON serializado com os dados estruturados do oráculo", + "type": "string" + }, + "type": { + "description": "Tipo do conteúdo (ex: \"text\")", + "type": "string" + } + }, + "required": [ + "type", + "text" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "content" + ], + "type": "object" +}
- Changed
query_export_rules1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "content": { + "items": { + "properties": { + "text": { + "description": "JSON serializado com as regras de exportação consultadas", + "type": "string" + }, + "type": { + "description": "Tipo do conteúdo (ex: \"text\")", + "type": "string" + } + }, + "required": [ + "type", + "text" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "content" + ], + "type": "object" +}
- Changed
simulate_simples_nacional1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "content": { + "items": { + "properties": { + "text": { + "description": "JSON serializado com o resultado da simulação tributária", + "type": "string" + }, + "type": { + "description": "Tipo do conteúdo (ex: \"text\")", + "type": "string" + } + }, + "required": [ + "type", + "text" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "content" + ], + "type": "object" +}
4 tool updates
- First observed
calculate_fator_r - First observed
fetch_oracle_data - First observed
query_export_rules - First observed
simulate_simples_nacional
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT- AlicenseNot gradedqualityBmaintenanceAnalyze LinkedIn & email outreach campaigns, track pipeline performance, and review lead conversations for RevOps, Sales Managers, and SDR teams.Apache 2.0
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.11961MIT