Multi-Agent Monitoring LangFuse MCP Server
Un servidor del Protocolo de Contexto de Modelo (MCP) para la monitorización y observabilidad integral de sistemas multiagente utilizando Langfuse.
Documentación
Servidor MCP de monitoreo y observabilidad
Un servidor de Protocolo de Contexto de Modelo (MCP) para monitoreo y observabilidad integral de sistemas que utilizan Langfuse.
🎯 Qué hace esto
Este servidor MCP te permite:
- Monitorear todos tus agentes en tiempo real
- Rastrear métricas de rendimiento (latencia, costo, uso de tokens)
- Depurar ejecuciones fallidas con trazas detalladas
- Analizar el rendimiento de los agentes en períodos de tiempo
- Comparar diferentes versiones de agentes mediante filtros de metadatos
- Gestionar costos y configurar alertas de presupuesto
- Visualizar flujos de trabajo de agentes
Inicio rápido
1. Requisitos previos
- Python 3.11 o superior
- Una cuenta de Langfuse (regístrate aquí)
- Agentes instrumentados con Langfuse
2. Instalación
# 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. Configuración
Crea un archivo .env con tus credenciales de Langfuse:
cp .env.example .env
# Edit .env and add your credentials
Tu .env debería verse así:
LANGFUSE_PUBLIC_KEY=pk-lf-xxxxx
LANGFUSE_SECRET_KEY=sk-lf-xxxxx
LANGFUSE_HOST=https://cloud.langfuse.com
4. Ejecutar como HTTP Streamable (URL)
Si deseas una URL HTTP Streamable que funcione con todas las herramientas, ejecuta el servidor con el transporte HTTP Streamable:
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
Luego puedes conectar cualquier cliente MCP compatible con HTTP Streamable a:
http://127.0.0.1:8000/mcp
Si estás usando Claude Desktop o Cursor, mantén el transporte stdio predeterminado en sus configuraciones.
4b. Configurar el cliente MCP
Para Claude Desktop
Agrega 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
Agrega 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. Instrumenta tus agentes
Asegúrate de que tus agentes envíen trazas a 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"
}
}
)
Estructura del proyecto
src/langfuse_mcp_python/server.pyPunto de entrada CLI y transporte stdiosrc/langfuse_mcp_python/http_server.pyTransporte HTTP Streamable y SSEsrc/langfuse_mcp_python/utils/tool_registry.pyConfiguración y registro de herramientassrc/langfuse_mcp_python/tools/Implementaciones y especificaciones de herramientassrc/langfuse_mcp_python/integrations/langfuse_client.pyCliente de API de Langfusesrc/langfuse_mcp_python/core/base_tool.pyCaché y métricas compartidas
Herramientas disponibles
Monitoreo y análisis
watch_agentsMonitorear agentes activosget_traceObtener una traza por IDanalyze_performanceAgregar rendimiento a lo largo del tiempoget_metricsAgregar métricas (latencia, costo, tokens)
Puntuaciones y evaluación
get_scoresObtener puntuacionessubmit_scoreCrear una puntuaciónget_score_configsListar configuraciones de puntuación
Prompts
get_promptsListar promptscreate_promptCrear un promptdelete_promptEliminar un prompt
Sesiones
get_sessionsListar sesiones
Conjuntos de datos
get_datasetsListar conjuntos de datoscreate_datasetCrear un conjunto de datoscreate_dataset_itemAgregar un elemento a un conjunto de datos
Modelos
get_modelsListar modeloscreate_modelCrear un modelodelete_modelEliminar un modelo
Comentarios
get_commentsListar comentariosadd_commentAgregar un comentario
Trazas
delete_traceEliminar una traza
Colas de anotación
get_annotation_queuesListar colas de anotacióncreate_annotation_queueCrear una colaget_queue_itemsListar elementos de la colaresolve_queue_itemResolver un elemento de la cola
Integraciones de almacenamiento de blobs
get_blob_storage_integrationsListar integracionesupsert_blob_storage_integrationCrear o actualizar una integraciónget_blob_storage_integration_statusObtener el estado de la integracióndelete_blob_storage_integrationEliminar una integración
Conexiones LLM
get_llm_connectionsListar conexionesupsert_llm_connectionCrear o actualizar una conexión
Proyectos
get_projectsListar proyectoscreate_projectCrear un proyectoupdate_projectActualizar un proyectodelete_projectEliminar un proyecto
Ejemplo: watch_agents
Monitorea todos los agentes activos en tiempo real.
Ejemplo:
Show me all active agents from the last hour
Respuesta:
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 avanzado
Filtrado de agentes
Watch only my research_agent and planner_agent from the last 24 hours
Análisis de rendimiento
Analyze performance of my planner_agent over the last 24 hours
Monitoreo de costos
Show cost breakdown by agent for the last week
Depuración profunda
Show trace details for trace-abc123
Arquitectura
MCP Client (Claude, Cursor, etc.)
-> Langfuse MCP Server (stdio/HTTP)
-> Langfuse API
-> Langfuse Platform
-> Your Langfuse Agents
Mejores prácticas de seguridad
- Nunca confirmes credenciales - Usa variables de entorno
- Rota las claves de API regularmente
- Usa claves de solo lectura cuando sea posible
- Habilita la limitación de velocidad en producción
- Enmascara datos sensibles en las trazas
Ejemplo de flujo de trabajo de monitoreo
Verificación diaria de salud de agentes
- Verifica agentes activos:
watch_agents - Revisa el rendimiento:
analyze_performance - Verifica costos:
get_metrics - Investiga fallos:
get_trace
Ciclo de optimización de agentes
- Establece una línea base:
analyze_performancepara los metadatos de la versión actual - Implementa una nueva versión con metadatos diferentes
- Compara versiones ejecutando
analyze_performancecon filtros de versión - Toma decisiones de implementación basadas en datos
Control de costos
- Rastrea costos:
get_metricsagrupados por agente - Identifica agentes costosos
- Optimiza operaciones de alto costo
- Rastrea ahorros a lo largo del tiempo
Solución de problemas
El servidor MCP no se conecta
- Verifica que las variables de entorno estén configuradas correctamente
- Verifica que las claves de API de Langfuse sean válidas
- Asegúrate de que Python 3.11+ esté instalado
- Revisa los registros:
tail -f ~/.mcp/logs/langfuse-monitor.log
No se encontraron trazas
- Verifica que los agentes estén instrumentados con Langfuse
- Verifica que
langfuse_handlerse pase a las invocaciones de agentes - Asegúrate de que los metadatos incluyan
agent_name - Verifica que la ventana de tiempo sea apropiada
Alta latencia
- Reduce el número de trazas obtenidas (usa filtros)
- Habilita el almacenamiento en caché:
CACHE_ENABLED=true - Usa profundidad "mínima" para los detalles de las trazas
- Considera el procesamiento por lotes para conjuntos de datos grandes
Contribuciones
¡Las contribuciones son bienvenidas! Por favor:
- Haz un fork del repositorio
- Crea una rama de características
- Agrega pruebas para la nueva funcionalidad
- Envía una solicitud de extracción (pull request)
Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles
Agradecimientos
- Langfuse - Observabilidad de LLM de código abierto
- LangGraph - Marco de trabajo para agentes
- Model Context Protocol - Especificación de MCP
Hoja de ruta
- Herramientas de monitoreo principales
- Análisis de rendimiento
- Seguimiento de costos
- Utilidades de depuración
- Actualizaciones de transmisión en tiempo real
- Sistema de alertas personalizado
- Análisis predictivo
- Soporte para pruebas A/B
- Soporte para múltiples proyectos
- Exportación a almacenes de datos
Versión: 1.0.0
Última actualización: 23 de marzo de 2026
Estado: Listo para producción