Multi-Agent Monitoring LangFuse MCP Server
Um servidor Model Context Protocol (MCP) para monitoramento e observabilidade abrangentes de sistemas multiagentes usando Langfuse.
Documentação
Servidor MCP de Monitoramento e Observabilidade
Um servidor Model Context Protocol (MCP) para monitoramento e observabilidade abrangentes de sistemas usando Langfuse.
🎯 O Que Isso Faz
Este servidor MCP permite que você:
- Monitore todos os seus agentes em tempo real
- Acompanhe métricas de desempenho (latência, custo, uso de tokens)
- Depure execuções com falha com traces detalhados
- Analise o desempenho dos agentes ao longo de períodos de tempo
- Compare diferentes versões de agentes por meio de filtros de metadados
- Gerencie custos e defina alertas de orçamento
- Visualize fluxos de trabalho dos agentes
Início Rápido
1. Pré-requisitos
- Python 3.11 ou superior
- Uma conta Langfuse (cadastre-se aqui)
- Agentes instrumentados com Langfuse
2. Instalação
# Install via pip
pip install -r requirements.txt
# Or install from source
git clone https://github.com/yourusername/langfuse-mcp-python.git
cd langfuse-mcp-python
pip install -e .
3. Configuração
Crie um arquivo .env com suas credenciais Langfuse:
cp .env.example .env
# Edit .env and add your credentials
Seu .env deve ser assim:
LANGFUSE_PUBLIC_KEY=pk-lf-xxxxx
LANGFUSE_SECRET_KEY=sk-lf-xxxxx
LANGFUSE_HOST=https://cloud.langfuse.com
4. Executar como Streamable HTTP (URL)
Se você quiser uma URL Streamable HTTP que funcione em todas as ferramentas, execute o servidor com o transporte Streamable HTTP:
python -m langfuse_mcp_python --transport streamable-http --host 127.0.0.1 --port 8000 --path /mcp
python -m langfuse_mcp_python --transport sse --host 127.0.0.1 --port 8000
Você pode então conectar qualquer cliente MCP compatível com Streamable HTTP a:
http://127.0.0.1:8000/mcp
Se você estiver usando Claude Desktop ou Cursor, mantenha o transporte padrão stdio nas configurações deles.
4b. Configurar o Cliente MCP
Para Claude Desktop
Adicione a claude_desktop_config.json:
{
"mcpServers": {
"langfuse-monitor": {
"command": "uvx",
"args": ["--python", "3.11", "langfuse-mcp-python"],
"env": {
"LANGFUSE_PUBLIC_KEY": "pk-lf-xxxxx",
"LANGFUSE_SECRET_KEY": "sk-lf-xxxxx",
"LANGFUSE_HOST": "https://cloud.langfuse.com"
}
}
}
}
Para Cursor
Adicione a .cursor/mcp.json:
{
"mcpServers": {
"langfuse-monitor": {
"command": "python",
"args": ["-m", "langfuse_mcp_python"],
"env": {
"LANGFUSE_PUBLIC_KEY": "pk-lf-xxxxx",
"LANGFUSE_SECRET_KEY": "sk-lf-xxxxx"
}
}
}
}
5. Instrumente Seus Agentes
Certifique-se de que seus agentes enviem traces para Langfuse:
from langfuse.langchain import CallbackHandler
from langgraph.graph import StateGraph
# Create Langfuse callback handler
langfuse_handler = CallbackHandler(
public_key="pk-lf-xxxxx",
secret_key="sk-lf-xxxxx",
host="https://cloud.langfuse.com"
)
# Create your agent
workflow = StateGraph(AgentState)
workflow.add_node("planner", planner_node)
workflow.add_node("executor", executor_node)
app = workflow.compile()
# Run with Langfuse monitoring
result = app.invoke(
{"input": "user query"},
config={
"callbacks": [langfuse_handler],
"metadata": {
"agent_name": "my_planner_agent",
"version": "v1.0"
}
}
)
Estrutura do Projeto
src/langfuse_mcp_python/server.pyponto de entrada CLI e transporte stdiosrc/langfuse_mcp_python/http_server.pytransporte Streamable HTTP e SSEsrc/langfuse_mcp_python/utils/tool_registry.pyconfiguração e registro de ferramentassrc/langfuse_mcp_python/tools/implementações e especificações de ferramentassrc/langfuse_mcp_python/integrations/langfuse_client.pycliente da API Langfusesrc/langfuse_mcp_python/core/base_tool.pycache e métricas compartilhados
Ferramentas Disponíveis
Monitoramento e Análise
watch_agentsMonitore agentes ativosget_traceBusque um trace por IDanalyze_performanceAgregue desempenho ao longo do tempoget_metricsAgregue métricas (latência, custo, tokens)
Pontuações e Avaliação
get_scoresBusque pontuaçõessubmit_scoreCrie uma pontuaçãoget_score_configsListe configurações de pontuação
Prompts
get_promptsListe promptscreate_promptCrie um promptdelete_promptExclua um prompt
Sessões
get_sessionsListe sessões
Datasets
get_datasetsListe datasetscreate_datasetCrie um datasetcreate_dataset_itemAdicione um item a um dataset
Modelos
get_modelsListe modeloscreate_modelCrie um modelodelete_modelExclua um modelo
Comentários
get_commentsListe comentáriosadd_commentAdicione um comentário
Traces
delete_traceExclua um trace
Filas de Anotação
get_annotation_queuesListe filas de anotaçãocreate_annotation_queueCrie uma filaget_queue_itemsListe itens da filaresolve_queue_itemResolva um item da fila
Integrações de Armazenamento de Blobs
get_blob_storage_integrationsListe integraçõesupsert_blob_storage_integrationCrie ou atualize uma integraçãoget_blob_storage_integration_statusBusque o status da integraçãodelete_blob_storage_integrationExclua uma integração
Conexões LLM
get_llm_connectionsListe conexõesupsert_llm_connectionCrie ou atualize uma conexão
Projetos
get_projectsListe projetoscreate_projectCrie um projetoupdate_projectAtualize um projetodelete_projectExclua um projeto
Exemplo: watch_agents
Monitore todos os agentes ativos em tempo real.
Exemplo:
Show me all active agents from the last hour
Resposta:
Active Agent Monitoring (last_1h)
Total Traces Found: 15
Showing: Top 10 traces
1. research_agent (Trace: trace-abc12...)
- Status: completed
- Session: session-xyz
- Started: 2026-03-19T10:25:00Z
- Latency: 1250ms
- Tokens: 3420
- Cost: $0.0234
Uso Avançado
Filtrando Agentes
Watch only my research_agent and planner_agent from the last 24 hours
Análise de Desempenho
Analyze performance of my planner_agent over the last 24 hours
Monitoramento de Custos
Show cost breakdown by agent for the last week
Depuração Avançada
Show trace details for trace-abc123
Arquitetura
MCP Client (Claude, Cursor, etc.)
-> Langfuse MCP Server (stdio/HTTP)
-> Langfuse API
-> Langfuse Platform
-> Your Langfuse Agents
Boas Práticas de Segurança
- Nunca faça commit de credenciais - Use variáveis de ambiente
- Rotacione chaves de API regularmente
- Use chaves somente leitura quando possível
- Ative a limitação de taxa em produção
- Mascare dados sensíveis nos traces
Exemplo de Fluxo de Monitoramento
Verificação Diária de Saúde dos Agentes
- Verifique agentes ativos:
watch_agents - Revise o desempenho:
analyze_performance - Verifique custos:
get_metrics - Investigue falhas:
get_trace
Ciclo de Otimização de Agentes
- Estabeleça uma linha de base:
analyze_performancepara os metadados da versão atual - Implante uma nova versão com metadados diferentes
- Compare versões executando
analyze_performancecom filtros de versão - Tome decisões de implantação baseadas em dados
Controle de Custos
- Acompanhe custos:
get_metricsagrupados por agente - Identifique agentes caros
- Otimize operações de alto custo
- Acompanhe as economias ao longo do tempo
Solução de Problemas
Servidor MCP Não Está Conectando
- Verifique se as variáveis de ambiente estão definidas corretamente
- Verifique se as chaves de API Langfuse são válidas
- Certifique-se de que o Python 3.11+ esteja instalado
- Verifique os logs:
tail -f ~/.mcp/logs/langfuse-monitor.log
Nenhum Trace Encontrado
- Verifique se os agentes estão instrumentados com Langfuse
- Verifique se
langfuse_handleré passado para as invocações dos agentes - Certifique-se de que os metadados incluam
agent_name - Verifique se a janela de tempo é apropriada
Alta Latência
- Reduza o número de traces buscados (use filtros)
- Ative o cache:
CACHE_ENABLED=true - Use profundidade "mínima" para detalhes de traces
- Considere o processamento em lote para grandes datasets
Contribuindo
Contribuições são bem-vindas! Por favor:
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Adicione testes para novas funcionalidades
- Envie um pull request
Licença
Licença MIT - consulte o arquivo LICENSE para obter detalhes
Agradecimentos
- Langfuse - Observabilidade de LLM de código aberto
- LangGraph - Framework de agentes
- Model Context Protocol - Especificação MCP
Roadmap
- Ferramentas principais de monitoramento
- Análise de desempenho
- Acompanhamento de custos
- Utilitários de depuração
- Atualizações de streaming em tempo real
- Sistema de alertas personalizado
- Análise preditiva
- Suporte a testes A/B
- Suporte a múltiplos projetos
- Exportação para data warehouses
Versão: 1.0.0
Última Atualização: 23 de março de 2026
Status: Pronto para Produção