kond-royalties-agent
MCP server for querying artist royalty performance in Brazilian Portuguese, using natural language, charts, and PDF reports from a Postgres database.
README
KOND Royalties Agent
V1 simplificada do agente analitico da KOND.
Arquitetura alvo:
- agente customizado
- servidor MCP
- Postgres (multiplos schemas) como fonte principal
- catalogo semantico em PT-BR
- relatorios em PDF como artefatos
Objetivo
Responder perguntas de performance de royalties de artistas com:
- linguagem natural em portugues do Brasil
- metricas semanticas consistentes (streams, unidades, receita, royalties)
- graficos e tabelas como artefatos
- relatorios PDF sob demanda
Escopo da V1
- Postgres direto (uma conexao, varios schemas via
search_path) - sem frontend proprio
- foco em MCP + prompts + artefatos
Estrutura
docs/: visao de arquitetura e decisoesmcp_server/: servidor MCP e ferramentasprompts/: instrucoes do agente e exemplosreporting/: geracao de artefatos e PDFsemantic_catalog/: metricas, dimensoes e fontes aprovadasconfig/: conexao Postgres e dicionario de colunastests/: testes unitarios iniciais
Status do schema de dados
Validado em 2026-07-01 contra o Postgres de producao. O agente consulta
public.vw_ft_dados_analiticos_union, uma view que unifica a performance de
royalties/receita de todas as origens/distribuidoras (DSU, Omie, Orchard,
Universal, Warner Chappell, Warner Music) por artista e periodo (mes). Ver
config/postgres_sources.yml e config/column_dictionary.yml para o
detalhe completo (incluindo notas de qualidade de dados) e TODO.md para
pendencias de investigacao (ex.: significado de quantity por
origem/tipo de receita).
Proximos passos
- Investigar pendencias de qualidade de dados listadas em
TODO.md - Avaliar enriquecimento via schemas de detalhe (
universal,warner_chappell) epublic.dim_artistas - Implementar geracao de relatorios em PDF
- Configurar o agente customizado
Setup para colaboradores
Pre-requisito: Python 3.12+ e acesso a um Postgres com os schemas de royalties.
git clone https://github.com/machado000/kond-royalties-agent
cd kond-royalties-agent
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
# preencher .env com sua OPENAI_API_KEY, DATABASE_URL e POSTGRES_SCHEMAS
Validar a instalacao:
pytest -m "not slow"
python -m mcp_server.server diagnose-postgres
Use
python -m mcp_server.server <comando>(executado a partir da raiz do repositorio, com o venv ativo) como forma principal de validar e rodar o agente — nao depende do entry point instalado. O comandokond-royalties-mcp(instalado viapip install -e .) tambem deve funcionar como atalho; se ele falhar comModuleNotFoundError: No module named 'mcp_server', rodepip install -e . --force-reinstall --no-depspara regenerar a instalacao editable.
Usando como servidor MCP
O servidor expoe o comando serve-mcp (stdio). Os segredos nao
precisam ser declarados na configuracao do MCP — o servidor carrega o
arquivo .env do repositorio automaticamente.
Claude Code
O repositorio ja inclui um .mcp.json na raiz, detectado automaticamente
ao abrir o projeto no Claude Code. Ele aponta para .venv/bin/python
(caminho relativo ao repositorio), entao basta ter o ambiente virtual
criado conforme o setup acima — nenhuma edicao e necessaria.
Caminho relativo
.venv/bin/pythone especifico de macOS/Linux. Em Windows, ajuste para.venv\Scripts\python.exelocalmente.
OpenAI Codex CLI
O Codex le configuracao de MCP do seu arquivo global
(~/.codex/config.toml), nao de um arquivo do repositorio. Copie o
template em docs/codex-mcp-config.example.toml
para o seu ~/.codex/config.toml, ajustando o caminho absoluto do seu
clone local.
Google Antigravity
Antigravity le configuracao de MCP do arquivo global
~/.gemini/config/mcp_config.json (formato mcpServers, com cwd
suportado). Template em
docs/antigravity-mcp-config.example.json.
Em vez de editar o JSON a mao, rode (com o venv ja criado):
python scripts/install_mcp_config.py --client antigravity
O script faz merge da entrada kond_royalties na configuracao existente
(sem apagar outros servidores ja configurados) usando o caminho absoluto
deste clone e do seu .venv. Depois, na IDE, va em Manage MCP Servers
e clique em refresh (ou reinicie a Antigravity).
Claude Desktop
O Claude Desktop le configuracao de MCP do arquivo global
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) —
formato mcpServers, sem suporte a cwd. Template em
docs/claude-desktop-mcp-config.example.json.
Mesmo instalador:
python scripts/install_mcp_config.py --client claude-desktop
Depois, feche completamente o Claude Desktop (Cmd+Q, nao so a janela) e reabra — diferente da Antigravity, ele so recarrega a configuracao de MCP na inicializacao.
Use
--dry-runem qualquer um dos dois comandos acima para ver o resultado sem escrever o arquivo.
Distribuicao
Para instalar a partir do GitHub sem clonar manualmente:
pip install "git+https://github.com/machado000/kond-royalties-agent"
Isso expoe o comando kond-royalties-mcp globalmente no ambiente Python
ativo — util para apontar o command da configuracao MCP diretamente para
o binario instalado (kond-royalties-mcp serve-mcp) em vez do caminho do
venv, caso prefira instalacao isolada via pipx.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。