cvm-mcp
cvm-mcp
Server MCP, der Finanzdaten direkt vom CVM Open Data Portal (dados.cvm.gov.br) abruft und verarbeitet, ohne auf Dritte angewiesen zu sein. Es stellt Tools für einen LLM-Client (Claude Desktop, Claude Code etc.) bereit, um die von börsennotierten Unternehmen veröffentlichten Finanzberichte abzufragen.
Die Standardansicht ist vierteljährlich: Die Tools gehen vom letzten von einem Unternehmen veröffentlichten Quartal aus und geben die vorherigen 12 Monate, Quartal für Quartal, mit den von der CVM veröffentlichten Konten – ohne berechnete Kennzahlen.
Funktionen
Tool | Wann verwenden |
| Name/CNPJ/CVM-Code vor einer Analyse auflösen |
| Allgemeine Anfrage ("Analysiere Unternehmen X") – DRE der letzten 4 Quartale |
| Andere Aufstellung (Bilanz, Kapitalflussrechnung) oder mehr als 4 Quartale |
| Wenn der Benutzer explizit das abgeschlossene Geschäftsjahr (DFP) anfordert |
Alle Geldbeträge werden auf Millionen R$ normalisiert. Siehe Einschränkungen unten – die KI erhält immer Hinweise, wenn ein Wert abgeleitet oder nicht ermittelbar ist.
Related MCP server: FinancialReports MCP Server
Wie das Quartal zusammengestellt wird
Das ITR der CVM veröffentlicht nur Q1, Q2 und Q3 und führt jedes Quartal sowohl isoliert als auch als kumulierten Wert des Geschäftsjahres auf – daher wird ein Quartal durch Filtern des Zeitraums ermittelt, nicht durch Subtraktion.
Q4 existiert im ITR nicht. Es wird als vollständiges Geschäftsjahr (DFP) − bis Q3 kumuliert (ITR) abgeleitet, Konto für Konto über den Kontocode abgeglichen. Jeder so ermittelte Zeitraum wird in der Antwort mit derivado: true und einem expliziten Hinweis gekennzeichnet.
Zwei daraus resultierende Konsequenzen, die es zu verstehen gilt:
Bestandskonten werden nie abgeleitet. BPA und BPP sind Salden zu einem Stichtag, daher ist der Jahresabschluss bereits der Wert für Q4. Nur Flusskonten (DRE, DFC, DVA, DRA, DMPL) werden durch Subtraktion ermittelt.
Das "letzte Quartal" ist unternehmensspezifisch, nicht global. Geschäftsjahre, die nicht dem Kalenderjahr entsprechen, enden in anderen Monaten – bei Camil beispielsweise sind die Quartale Mär–Mai, Jun–Aug, Sep–Nov und Dez–Feb. Der Server löst dies anhand der Daten des jeweiligen Unternehmens, und die Kennzeichnung (
2T26) wird stets voninicioundfimbegleitet.
Installation
Erfordert Python 3.10+. Funktioniert gleichermaßen unter Windows, macOS und Linux.
Option 1 — pipx (empfohlen, isolierte Umgebung)
pipx install .Läuft danach von jedem Ordner aus als Befehl cvm-mcp.
Option 2 — pip in einer virtuellen Umgebung
python -m venv .venv
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
# macOS / Linux
source .venv/bin/activate
pip install -e .Option 3 — Direkt aus dem Quellcode, ohne Installation
pip install -r requirements.txt # ou: pip install mcp[cli] httpx pandas platformdirs
python -m cvm_mcpKonfiguration in Claude Desktop
Bearbeiten Sie claude_desktop_config.json (Windows:
%APPDATA%\Claude\claude_desktop_config.json; macOS:
~/Library/Application Support/Claude/claude_desktop_config.json) und fügen Sie Folgendes hinzu:
{
"mcpServers": {
"cvm": {
"command": "cvm-mcp"
}
}
}Wenn Sie die Installation mit pipx bevorzugen (Option 3), verwenden Sie:
{
"mcpServers": {
"cvm": {
"command": "python",
"args": ["-m", "cvm_mcp"]
}
}
}Lokaler Cache
Die von der CVM heruntergeladenen Dateien (Register + jährliche ZIPs von ITR und DFP) werden lokal zwischengespeichert, um sie nicht bei jeder Abfrage erneut herunterladen zu müssen – die Überprüfung erfolgt über ETag/Last-Modified, sodass Aktualisierungen im CVM-Portal automatisch erkannt werden.
Zur Dimensionierung: Die Pakete kommen komprimiert (~20–30 MB pro Jahr), werden aber zur Nutzung entpackt, und jeder Jahr-Typ belegt einige hundert MB auf der Festplatte. Die vierteljährliche Ansicht betrifft in der Regel zwei Jahre ITR plus ein Jahr DFP.
Standardspeicherort (über platformdirs, ohne hardcodiertes Betriebssystem):
Windows:
%LOCALAPPDATA%\cvm-mcpmacOS:
~/Library/Caches/cvm-mcpLinux:
~/.cache/cvm-mcp
Um ein anderes Verzeichnis zu verwenden (z. B. in eingeschränkten/CI-Umgebungen), setzen Sie CVM_MCP_CACHE_DIR vor dem Start des Servers.
Wichtige Einschränkungen
Q4 ist abgeleitet, nicht veröffentlicht. Die CVM veröffentlicht das 4. Quartal nicht separat; der Wert stammt aus
Gesamtjahr − kumuliert 9 Monate. Es stimmt konstruktionsbedingt mit dem Geschäftsjahr überein, ist aber keine vom Unternehmen gemeldete Zahl.Keine berechneten Kennzahlen. Diese Version gibt veröffentlichte Kontosalden zurück, keine Margen, ROE oder EBITDA. Der Code für Kennzahlen bleibt im Repository (
indicators.py,accounts.py), ist aber mit keinem Tool verbunden, um später an die vierteljährliche Basis angepasst zu werden.Keine Marktdaten: Die CVM veröffentlicht keine Kurse, Marktwerte oder Multiplikatoren (KGV, EV/EBITDA). Derartige Anfragen liegen außerhalb des Rahmens dieser Datenquelle.
Bestandskonten werden nicht summiert. BPA und BPP sind Salden: Die 4 Quartale des Eigenkapitals zu addieren ergibt nichts Sinnvolles. Nur Flusskonten können über 12 Monate kumuliert werden.
Nicht jedes Unternehmen hat 4 Quartale (kürzlicher Börsengang, Aussetzung, Löschung der Registrierung, verspätete ITR-Einreichung). Das Fenster gibt die vorhandenen Zeiträume zurück, ohne Lücken mit Nullen zu füllen.
Unternehmen des Finanzsektors verwenden einen anderen DRE-Kontenplan, sodass die Kontocodes nicht zeilenweise mit denen von Nicht-Finanzunternehmen vergleichbar sind.
Entwicklung
python -m venv .venv
.venv\Scripts\Activate.ps1 # ou source .venv/bin/activate
pip install -e .
python -m cvm_mcp # roda o servidor via stdioProjektstruktur:
src/cvm_mcp/
config.py # constantes e diretório de cache (cross-platform)
cache.py # download HTTP com cache condicional + extração de ZIP
parsers.py # leitura dos CSVs (encoding/separador da CVM)
cvm_client.py # busca de empresas e carregamento dos demonstrativos
quarters.py # montagem da janela trimestral e derivação do 4T
models.py # estruturas de dados (Company, Quarter)
server.py # servidor MCP (FastMCP) e definição das tools
accounts.py # (inativo) mapa do plano de contas -> itens financeiros
indicators.py # (inativo) cálculo de indicadores em base anualaccounts.py und indicators.py werden in dieser Version von keinem Tool importiert – sie verbleiben im Repository als Grundlage für die spätere Wiedereinführung von Kennzahlen auf vierteljährlicher Basis.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP Server for accessing 36 Brazilian public data sources and 1 agent, enabling AI agents to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.MIT
- AlicenseNot gradedqualityBmaintenanceOfficial MCP server for the FinancialReports API. Provides direct access to regulatory filings, financial data, and corporate information from listed companies worldwide via 15 curated tools.2MIT
- AlicenseBqualityCmaintenanceMCP server for B3 (Brazilian stock exchange) data, offering tools for real-time quotes, historical prices, dividends, FIIs, fundamental analysis, options, and indices via natural language.9MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that exposes real-time financial data tools for stock search, company info, historical prices, and financial metrics from Yahoo Finance, enabling AI agents to answer natural-language questions about stocks and financial markets.MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/IgormCarvalho/cvm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server