Brazilian Sanctions MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Brazilian Sanctions MCP ServerCheck if CNPJ 30.477.220/0001-71 has any sanctions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Brazilian Sanctions MCP Server
An MCP (Model Context Protocol) server that provides access to Brazilian sanctions databases through the Porta da Transparência API.
Components
mcp_server.py - MCP server exposing Brazilian sanctions search tools
main.py - AI chatbot using LangChain with Ollama for natural language queries
Related MCP server: mcp-brasil
Features
Search across 5 Brazilian sanctions registers
Extract specific fields from API responses (names, sanctioning authorities, dates, locations)
Check if sanctions are still active based on end dates
Get comprehensive overview with maximum information from all registers
A simple Natural language interface via AI chatbot (only for tests)
Search by CNPJ, CPF, or company name
Detailed sanction information including reasons, dates, and agencies
Secure API key authentication
Async-compatible tool execution
Sanctions Registers Supported
Register | Purpose | Search By |
CNEP | National Register of Punishments | CNPJ, CPF, Agency, Date Range |
CEPIM | Register of Sanctioned Public Employees | CNPJ, CPF, Superior Agency |
CEIS | Register of Ineligible Entities | CNPJ, CPF, Agency, Date Range |
CEAF | Ineligibility Register of Public Servants | CPF, Agency, Date Range |
Leniency Agreements | Leniency Agreement Records | Name, CNPJ, Status, Date Range |
Important: Name search is only available for Leniency Agreements. The other registers (CNEP, CEIS, CEPIM, CEAF) only support CNPJ/CPF searches due to API limitations.
API Key Configuration
An API key is REQUIRED to use this system.
Get your API key:
Visit: https://www.portaldatransparencia.gov.br/ (Brazilian CPF is required)
Login or create an account
Go to "Minha Conta" → "API Keys" or "Desenvolvedor"
Generate a new API key
Copy the key (format:
abcd1234efgh5678ijkl9012)
Setup:
Create .env file in project root:
PORTAL_TRANSPARENCIA_API_KEY=your_key_hereSECURITY: Never commit your API key to version control!
Usage
Running the MCP Server
The MCP server can be run standalone or used by MCP clients:
python mcp_server.pyOR
To use in Claude or Desktop/Code directly use
\BrazillianSanctions.jsonRunning the Chatbot (The chatbot it's just for test, make sure to setup the MCP server into a real AML Agentic AI enviroment to proper use)
The chatbot provides a natural language interface to query sanctions databases:
python main.pyExample queries:
"Need to know if 30.477.220/0001-71 is sanctioned by Brazil and if yes why?"
"Search for Petrobras in leniency agreements"
"Check if company with CNPJ 11222333000181 has any sanctions"
MCP Server Tools
The MCP server exposes the following tools:
Search Tools
search_cnep - Search CNEP (National Register of Punishments) by CNPJ, CPF, agency, or date range
search_cepim - Search CEPIM (Register of Sanctioned Public Employees) by CNPJ, CPF, or superior agency
search_ceis - Search CEIS (Register of Ineligible Entities) by CNPJ, CPF, agency, or date range
search_ceaf - Search CEAF (Ineligibility Register of Public Servants) by CPF, agency, or date range
search_acordos_leniencia - Search Leniency Agreements by name, CNPJ, status, or date range
search_all_registers - Search all registers for a given CNPJ or CPF
Analysis Tools
check_sanction_status - Check if an entity is still sanctioned across all registers based on end dates
get_sanctioning_authorities - Get information about who sanctioned the entity (sanctioning agencies)
get_location_info - Get location/state information (UF, agency location) for sanctioned entities
get_comprehensive_overview - Get comprehensive overview with maximum information from all registers including names, authorities, dates, location, and status
Utility Tools
get_sanction_details - Get detailed information about a specific sanction register type
check_entity_sanctions - Complete sanctions check for an entity across all registers
batch_search - Search multiple documents (CNPJs or CPFs) in one operation
generate_sanctions_report - Generate a formatted text report from multiple search results
Chatbot Demo
I'm testing with a local chatbot based in Ollama but the MCP as you know can be plugged to any Agentic AI:
LLM: Ollama with qwen3:8b model
Agent: LangChain create_agent with tool calling
Tools: Custom LangChain tools wrapping the sanctions API
Architecture
User Query (Natural Language)
↓
LangChain Agent (Ollama)
↓
Tool Selection & Execution
↓
MCP Tools / Direct API Calls
↓
Brazilian Sanctions API
↓
Detailed Sanction Information
↓
Natural Language ResponseDocument Formatting
The system automatically cleans document numbers(Brazilian CPNJ or CPF). Both formatted and unformatted documents work:
# These are equivalent:
"12.345.678/0001-00"
"123456780001000"
"123.456.789-66"
"12345678966"Error Handling
The system includes comprehensive error handling:
API connection errors
Invalid document formats
Missing API keys
Rate limiting
Malformed responses
Troubleshooting
Issue | Solution |
API key not found | Set PORTAL_TRANSPARENCIA_API_KEY in .env file |
Ollama not running | Start Ollama service: |
Model not found | Pull model: |
Connection timeout | Check internet connection and API status |
No records found | Verify CNPJ/CPF format and check if entity exists |
References
API Documentation: https://api.portaldatransparencia.gov.br/swagger-ui/index.html
Porta da Transparência: https://www.portaldatransparencia.gov.br/
MCP Protocol: https://modelcontextprotocol.io/
LangChain: https://python.langchain.com/
Ollama: https://ollama.ai/
Last Updated: June 2026 API Base URL: https://api.portaldatransparencia.gov.br/api-de-dados
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/williamoliv/BrazilianSanctionsMCPserver'
If you have feedback or need assistance with the MCP directory API, please join our Discord server