IBM Instana MCP Server

oficial

El servidor MCP de IBM Instana permite una interacción fluida con la plataforma de observabilidad IBM Instana, permitiéndole acceder a datos de observabilidad en tiempo real directamente dentro de su flujo de trabajo de desarrollo.

¿Qué puedes hacer con IBM Instana MCP?

  • Recuperar instantáneas de infraestructura — Solicite una instantánea de un host, proceso o contenedor específico usando get_infra_snapshot.
  • Analizar métricas de aplicaciones o servicios — Solicite métricas de series temporales para llamadas, errores o latencia con get_app_metrics o get_service_metrics.
  • Listar alertas e incidentes activos — Obtenga alertas, incidentes o alertas inteligentes globales actuales mediante get_alerts y get_incidents.
  • Inspeccionar eventos de Kubernetes — Obtenga eventos recientes de Kubernetes para un clúster o espacio de nombres con get_k8s_events.
  • Consultar datos de monitoreo de sitios web — Obtenga métricas de rendimiento del sitio web o resultados de baliza a través de get_website_metrics.

Documentación

Tabla de Contenidos

Servidor MCP para IBM Instana

📚 Enlaces Rápidos


El servidor MCP de Instana permite una interacción fluida con la plataforma de observabilidad Instana, lo que le permite acceder a datos de observabilidad en tiempo real directamente dentro de su flujo de trabajo de desarrollo.

Sirve como un puente entre los clientes (como agentes de IA o herramientas personalizadas) y las API REST de Instana, convirtiendo las consultas de los usuarios en solicitudes a la API de Instana y formateando las respuestas en formatos estructurados y fáciles de consumir.

El servidor soporta los modos de transporte HTTP Transmisible y Stdio para una máxima compatibilidad con diferentes clientes MCP. Para más detalles, consulte la especificación de Modos de Transporte MCP.

Descripción General de la Arquitectura

graph LR
    subgraph "Application Host Process"
        MH[MCP Host]
        MSI[Instana MCP Server]
        MST[ProductA MCP Server]
        MSC[ProductB MCP Server]

        MH <--> MSI
        MH <--> MSC
        MH <--> MST
    end

    subgraph "Remote Service"
        II[Instana Instance]
        TI[ProductA Instance]
        CI[ProductB Instance]

        MSI <--> II
        MST <--> TI
        MSC <--> CI
    end

    subgraph "LLM"
        L[LLM]
        MH <--> L
    end

Flujo de Trabajo

Considere un ejemplo simple: Está usando un Host MCP (como Claude Desktop, VS Code u otro cliente) conectado al Servidor MCP de Instana. Cuando solicita información sobre alertas de Instana, ocurre el siguiente proceso:

  1. El cliente MCP recupera la lista de herramientas disponibles del servidor MCP de Instana
  2. Su consulta se envía al LLM junto con las descripciones de las herramientas
  3. El LLM analiza las herramientas disponibles y selecciona la(s) apropiada(s) para recuperar alertas de Instana
  4. El cliente ejecuta la(s) herramienta(s) elegida(s) a través del servidor MCP de Instana
  5. Los resultados (últimas alertas) se devuelven al LLM
  6. El LLM formula una respuesta en lenguaje natural
  7. La respuesta se le muestra a usted
sequenceDiagram
    participant User
    participant ChatBot as MCP Host
    participant MCPClient as MCP Client
    participant MCPServer as Instana MCP Server
    participant LLM
    participant Instana as Instana Instance

    ChatBot->>MCPClient: Load available tools from MCP Server
    MCPClient->>MCPServer: Request available tool list
    MCPServer->>MCPClient: Return list of available tools
    User->>ChatBot: Ask "Show me the latest alerts from Instana for application robot-shop"
    ChatBot->>MCPClient: Forward query
    MCPClient->>LLM: Send query and tool description
    LLM->>MCPClient: Select appropriate tool(s) for Instana alert query
    MCPClient->>MCPServer: Execute selected tool(s)
    MCPServer->>Instana: Retrieve alerts for application robot-shop
    MCPServer->>MCPClient: Send alerts of Instana result
    MCPClient->>LLM: Forward alerts of Instana
    LLM->>ChatBot: Generate natural language response for Instana alerts
    ChatBot->>User: Show Instana alert response

Requisitos Previos

Opción 1: Instalar desde PyPI (Recomendado)

La forma más fácil de usar mcp-instana es instalarlo directamente desde PyPI:

pip install mcp-instana

Después de la instalación, puede ejecutar el servidor usando el comando mcp-instana directamente.

Opción 2: Instalación para Desarrollo

Para desarrollo o personalización local, puede clonar y configurar el proyecto localmente.

Instalación de uv

Este proyecto usa uv, un instalador y resolvedor de paquetes Python rápido. Para instalar uv, tiene varias opciones:

Usando pip:

pip install uv

Usando Homebrew (macOS):

brew install uv

Para más opciones de instalación e instrucciones detalladas, visite la documentación de uv.

Configuración del Entorno

Después de instalar uv, configure el entorno del proyecto ejecutando:

uv sync

Autenticación Basada en Cabeceras para Modo HTTP Transmisible

Al usar el modo HTTP Transmisible, debe pasar las credenciales de Instana a través de cabeceras HTTP. Este enfoque mejora la seguridad y flexibilidad al:

  • Evitar el almacenamiento de credenciales en variables de entorno
  • Permitir el uso de diferentes credenciales para diferentes solicitudes
  • Soportar entornos compartidos donde la modificación de variables de entorno está restringida
  • Soportar autenticación tanto por token de API como basada en sesión

Modos de Autenticación Soportados:

1. Autenticación con Token de API (Llamadas Directas a la API)

Cabeceras Requeridas:

  • instana-base-url: La URL de su instancia de Instana
  • instana-api-token: Su token de API de Instana

Ejemplo:

--header "instana-base-url: https://your-instance.instana.io"
--header "instana-api-token: your-api-token"

2. Autenticación con Token de Sesión (Llamadas Iniciadas desde la IU)

Cabeceras Requeridas:

  • instana-base-url: La URL de su instancia de Instana
  • instana-auth-token: Token de autenticación de sesión del backend de la IU
  • instana-csrf-token: Token CSRF del backend de la IU
  • instana-cookie-name: (Opcional) Nombre de la cookie para autenticación de sesión (por defecto: instanaAuthToken)

Ejemplo:

--header "instana-base-url: https://your-instance.instana.io"
--header "instana-auth-token: your-session-token"
--header "instana-csrf-token: your-csrf-token"
--header "instana-cookie-name: in-token"

3. Autenticación con Token JWT (Integración con Plataforma IBM)

Cabeceras Requeridas:

  • instana-base-url: La URL de su instancia de Instana
  • instana-jwt-token: Token JWT de la Plataforma IBM
  • instana-csrf-token: Token CSRF para validación de solicitud

Ejemplo de Configuración:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8080/mcp",
        "--allow-http",
        "--header",
        "instana-base-url: https://your-instana-instance.instana.io",
        "--header",
        "instana-jwt-token: your_jwt_token_here",
        "--header",
        "instana-csrf-token: your_csrf_token_here"
      ]
    }
  }
}

Prioridad de Autenticación:

  1. Token JWT (si se proporciona con token CSRF) - Tiene prioridad para la integración con la Plataforma IBM
  2. Tokens de Sesión (si se proporcionan tanto auth_token como csrf_token)
  3. Token de API (si se proporciona) - Autenticación estándar
  4. Variable de Entorno (INSTANA_API_TOKEN) - Respaldo

Flujo de Autenticación:

  1. Las cabeceras HTTP deben estar presentes en cada solicitud
  2. El servidor valida las credenciales según el orden de prioridad
  3. Las solicitudes sin autenticación válida fallarán

Este diseño asegura la transmisión segura de credenciales y soporta múltiples flujos de autenticación, incluyendo llamadas iniciadas desde la IU a través de WebSocket → Coordinador → Servidor MCP.

Asegúrese de que el token utilizado tenga los permisos necesarios para invocar las herramientas MCP. Consulte aquí para más información.

Iniciar el Servidor MCP Local

Antes de configurar cualquier cliente MCP (Claude Desktop, GitHub Copilot o clientes MCP personalizados), necesita iniciar el servidor MCP local. El servidor soporta dos modos de transporte: HTTP Transmisible y Stdio.

Opciones de Comando del Servidor

Usando la CLI (Instalación PyPI)

Si instaló mcp-instana desde PyPI, use el comando mcp-instana:

mcp-instana [OPTIONS]

Usando Instalación para Desarrollo

Para desarrollo local, use el comando uv run:

uv run src/core/server.py [OPTIONS]

Opciones Disponibles:

  • --transport <mode>: Modo de transporte (opciones: streamable-http, stdio)
  • --env KEY=VALUE: Establecer variable de entorno (se puede repetir para múltiples variables, ej., --env INSTANA_BASE_URL=https://... --env INSTANA_API_TOKEN=...)
  • --debug: Habilitar modo de depuración con registro adicional
  • --log-level <level>: Establecer el nivel de registro (opciones: DEBUG, INFO, WARNING, ERROR, CRITICAL)
  • --tools <categories>: Lista separada por comas de categorías de herramientas a habilitar (ej., infra,app,events,website). Habilitar una categoría también habilitará sus prompts relacionados. Por ejemplo: --tools infra habilita las herramientas de infra y todos los prompts relacionados con infra.
  • --list-tools: Listar todas las categorías de herramientas disponibles y salir
  • --port <port>: Puerto del servidor MCP (por defecto: 8080, se puede sobrescribir con la variable de entorno PORT)
  • --help: Mostrar mensaje de ayuda y salir

Iniciar en Modo HTTP Transmisible

El modo HTTP Transmisible proporciona una interfaz de API REST y se recomienda para la mayoría de los casos de uso.

Usando CLI (Instalación PyPI)

# Start with all tools enabled (default)
mcp-instana --transport streamable-http

# Start with debug logging
mcp-instana --transport streamable-http --debug

# Start with a specific log level
mcp-instana --transport streamable-http --log-level WARNING

# Start with specific tool categories only
mcp-instana --transport streamable-http --tools infra,events

# Combine options (specific log level, custom tools)
mcp-instana --transport streamable-http --log-level DEBUG --tools app,events

Usando Instalación para Desarrollo

# Start with all tools enabled (default)
uv run src/core/server.py --transport streamable-http

# Start with debug logging
uv run src/core/server.py --transport streamable-http --debug

# Start with a specific log level
uv run src/core/server.py --transport streamable-http --log-level WARNING

# Start with specific tool and prompts categories only
uv run src/core/server.py --transport streamable-http --tools infra,events

# Start with custom port
uv run src/core/server.py --transport streamable-http --port 9000

# Combine options (specific log level, custom tools and prompts)
uv run src/core/server.py --transport streamable-http --log-level DEBUG --tools app,events

Características Clave del Modo HTTP Transmisible:

  • Usa cabeceras HTTP para autenticación (no se necesitan variables de entorno)
  • Soporta diferentes credenciales por solicitud
  • Más adecuado para entornos compartidos
  • Puerto por defecto del servidor MCP: 8080
  • Endpoint MCP: http://0.0.0.0:8080/mcp/

Iniciar en Modo Stdio

El modo Stdio usa entrada/salida estándar para la comunicación y requiere variables de entorno para la autenticación.

Usando CLI (Instalación PyPI)

# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"

# Start the server (stdio is the default if no transport specified)
mcp-instana

# Or explicitly specify stdio mode
mcp-instana --transport stdio

# Option 2: Use --env flag to set environment variables directly
mcp-instana --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

# Or with explicit stdio mode
mcp-instana --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

Usando Instalación para Desarrollo

# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"

# Start the server (stdio is the default if no transport specified)
uv run src/core/server.py

# Or explicitly specify stdio mode
uv run src/core/server.py --transport stdio

# Option 2: Use --env flag to set environment variables directly
uv run src/core/server.py --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

# Or with explicit stdio mode
uv run src/core/server.py --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token

Características Clave del Modo Stdio:

  • Usa variables de entorno para autenticación (se pueden establecer mediante export o la bandera --env)
  • Comunicación directa a través de stdin/stdout
  • Requerido para ciertas configuraciones de clientes MCP
  • La bandera --env proporciona una forma conveniente de establecer credenciales sin modificar el entorno del shell

Categorías de Herramientas

Puede optimizar el rendimiento del servidor habilitando solo las categorías de herramientas y prompts que necesite:

Usando CLI (Instalación PyPI)

# List all available categories
mcp-instana --list-tools

# Enable specific categories
mcp-instana --transport streamable-http --tools infra,app
mcp-instana --transport streamable-http --tools events

Usando Instalación para Desarrollo

# List all available categories
uv run src/core/server.py --list-tools

# Enable specific categories
uv run src/core/server.py --transport streamable-http --tools infra,app
uv run src/core/server.py --transport streamable-http --tools events

Categorías Disponibles:

  • infra: Herramientas y prompts de monitoreo de infraestructura (recursos, catálogo, topología, análisis, métricas)
  • app: Herramientas y prompts de rendimiento de aplicaciones (recursos, métricas, alertas, catálogo, topología, análisis, configuración, alertas globales)
  • events: Herramientas y prompts de monitoreo de eventos (eventos de Kubernetes, monitoreo de agentes)
  • website: Herramientas y prompts de monitoreo de sitios web (métricas, catálogo, análisis, configuración)

Verificar el Estado del Servidor

Una vez iniciado, puede verificar que el servidor está funcionando:

Para modo HTTP Transmisible:

# Check MCP server
curl http://0.0.0.0:8080/mcp/

# Or with custom port
curl http://0.0.0.0:9000/mcp/

Para modo Stdio: El servidor se iniciará y esperará entrada stdin de los clientes MCP.

Problemas Comunes de Inicio

Problemas de Certificados: Si encuentra errores de certificado SSL, asegúrese de que su entorno Python tenga acceso a los certificados del sistema:

# macOS - Install certificates for Python
/Applications/Python\ 3.13/Install\ Certificates.command

Puerto Ya en Uso: Si el puerto 8080 ya está en uso, especifique un puerto diferente:

uv run src/core/server.py --transport streamable-http --port 9000

Dependencias Faltantes: Asegúrese de que todas las dependencias estén instaladas:

uv sync

Configuración y Uso

Bob IDE

Bob es el IDE de IBM impulsado por IA que soporta de forma nativa la integración MCP. Bob proporciona una experiencia de desarrollo fluida con asistencia de IA incorporada y herramientas de observabilidad.

Modo HTTP Transmisible

El modo HTTP Transmisible proporciona una interfaz de API REST para la comunicación MCP usando JSON-RPC sobre HTTP.

Paso 1: Iniciar el Servidor MCP en Modo HTTP Transmisible

Antes de configurar Bob, necesitas iniciar el servidor MCP en modo HTTP Transmisible. Consulta la sección Iniciar el Servidor MCP Local para obtener instrucciones detalladas.

Paso 2: Configurar Bob

En la esquina superior derecha del panel de Bob, verás un menú desplegable con servidores MCP:

Al seleccionarlo, deberías ver la opción para configurar MCP a nivel de proyecto o a nivel global.

Ámbitos de Configuración de MCP

Bob admite dos niveles de configuración de MCP, permitiéndote elegir el ámbito que mejor se adapte a tu caso de uso:

1. Configuración Global (Nivel de Usuario)

La configuración global aplica los servidores MCP a todos los proyectos para el usuario actual. Esto es ideal cuando quieres que los mismos servidores MCP estén disponibles en cada proyecto en el que trabajes.

Ubicaciones de Archivos:

  • macOS: ~/Library/Application Support/Bob/bob_config.json
  • Windows: %APPDATA%\Bob\bob_config.json
  • Linux: ~/.config/Bob/bob_config.json

2. Configuración de Proyecto (Nivel de Proyecto)

La configuración de proyecto aplica los servidores MCP solo a un proyecto específico. Esto es útil cuando diferentes proyectos requieren diferentes configuraciones de servidores MCP o cuando quieres compartir la configuración de MCP con tu equipo a través del control de versiones.

Ubicación del Archivo:

  • .bob/bob_config.json en el directorio raíz de tu proyecto

Elegir entre Configuración Global y de Proyecto:

  • Usa la configuración global para los servidores MCP que quieras tener disponibles en todos tus proyectos
  • Usa la configuración de proyecto para servidores MCP específicos del proyecto o para compartir configuraciones con tu equipo
  • Ambas configuraciones pueden coexistir: la configuración a nivel de proyecto tiene prioridad sobre la configuración global para el mismo nombre de servidor

Para más información sobre Bob y la configuración de MCP, visita: https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob

Configuración Local:

Configura Bob para conectarse a tu servidor MCP de Instana local:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Configuración Remota:

Configura Bob para conectarse a un servidor MCP de Instana remoto (por ejemplo, desplegado en IBM Code Engine):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "https://app-instana-750.1zetetanw8ul.us-east.codeengine.appdomain.cloud/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Nota: Para usar npx, recomendamos instalar primero NVM (Node Version Manager) y luego usarlo para instalar Node.js. Las instrucciones de instalación están disponibles en: https://nodejs.org/en/download

Paso 3: Probar la Conexión

Una vez que configures MCP, el servidor MCP recién configurado debería aparecer como habilitado. Un punto verde indica que el servidor se está ejecutando correctamente.

Ahora puedes ejecutar consultas en el IDE de Bob:

get me all applications from Instana in the last 24 hours

Modo Stdio

Configuración usando CLI (Instalación PyPI - Recomendada):

Opción 1: Usando variables de entorno en la configuración:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opción 2: Usando el flag --env (método alternativo):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Nota: Si encuentras errores de "comando no encontrado", usa la ruta completa a mcp-instana. Encuéntrala con which mcp-instana y usa esa ruta en su lugar.

Configuración usando Instalación de Desarrollo:

Opción 1: Usando variables de entorno en la configuración:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opción 2: Usando el flag --env (método alternativo):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Claude Desktop

Claude Desktop admite tanto el modo HTTP Transmisible como el modo Stdio para la integración con MCP.

Configura Claude Desktop editando el archivo de configuración:

Ubicaciones de Archivos:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Modo HTTP Transmisible

El modo HTTP Transmisible proporciona una interfaz de API REST para la comunicación MCP usando JSON-RPC sobre HTTP.

Paso 1: Iniciar el Servidor MCP en Modo HTTP Transmisible

Antes de configurar Claude Desktop, necesitas iniciar el servidor MCP en modo HTTP Transmisible. Consulta la sección Iniciar el Servidor MCP Local para obtener instrucciones detalladas.

Paso 2: Configurar Claude Desktop

Configura Claude Desktop para pasar las credenciales de Instana a través de cabeceras:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Nota: Para usar npx, recomendamos instalar primero NVM (Node Version Manager) y luego usarlo para instalar Node.js. Las instrucciones de instalación están disponibles en: https://nodejs.org/en/download

Paso 3: Probar la Conexión

Reinicia Claude Desktop. Ahora deberías ver el Servidor MCP de Instana en la interfaz de Claude Desktop como se muestra a continuación:

Ahora puedes ejecutar consultas en Claude Desktop:

get me all endpoints from Instana

Modo Stdio

Configuración usando CLI (Instalación PyPI - Recomendada):

Opción 1: Usando variables de entorno en la configuración:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opción 2: Usando el flag --env (método alternativo):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Nota: Si encuentras errores de "comando no encontrado", usa la ruta completa a mcp-instana. Encuéntrala con which mcp-instana y usa esa ruta en su lugar.

Configuración usando Instalación de Desarrollo:

Opción 1: Usando variables de entorno en la configuración:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opción 2: Usando el flag --env (método alternativo):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "<path-to-mcp-instana-folder>",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Configuración de Kiro

Kiro es un IDE agéntico, no una extensión que se pueda descargar en VS Code u otro IDE.

Paso 1: Descarga e instala Kiro para tu sistema operativo desde https://kiro.dev/.

Paso 2: Después de la instalación, inicia Kiro y abre cualquier proyecto en el IDE. alt text

Paso 3: Haz clic en el icono de Kiro (Fantasma) en la barra lateral izquierda para acceder a las funciones de Kiro. alt text

Paso 4: Selecciona el icono de Editar Configuración en la esquina superior derecha de la sección de Servidores MCP. alt text

Paso 5: Abre el archivo de configuración del servidor MCP (mcp.json) y configúralo según tu modo de transporte preferido:

Modo HTTP Transmisible (Recomendado para Kiro)

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ]
    }
  }
}

Nota: Asegúrate de iniciar el servidor MCP en modo streamable-http antes de usar esta configuración:

mcp-instana --transport streamable-http

Modo Stdio

Opción 1: Usando variables de entorno en la configuración:

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opción 2: Usando el flag --env (método alternativo):

{
  "mcpServers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Paso 6: Después de guardar el archivo, haz clic en el botón Habilitar MCP y verás tu servidor MCP y sus herramientas disponibles aparecer en la sección inferior izquierda de Kiro. alt text

Paso 7: Ve al panel de Chat de IA, introduce un prompt relacionado con tu servidor MCP y visualiza la respuesta directamente dentro de Kiro. alt text

GitHub Copilot

GitHub Copilot admite la integración con MCP a través de la configuración de VS Code. Para la integración de GitHub Copilot con VS Code, consulta esta guía de configuración.

Modo HTTP Transmisible

Paso 1: Iniciar el Servidor MCP en Modo HTTP Transmisible

Antes de configurar VS Code, necesitas iniciar el servidor MCP en modo HTTP Transmisible. Consulta la sección Iniciar el Servidor MCP Local para obtener instrucciones detalladas.

Paso 2: Configurar VS Code

Consulta Usar servidores MCP en VS Code para una configuración detallada.

Puedes crear o actualizar directamente .vscode/mcp.json con la siguiente configuración:

{
  "servers": {
    "Instana MCP Server": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header", "instana-base-url: https://your-instana-instance.instana.io",
        "--header", "instana-api-token: your_instana_api_token"
      ],
      "env": {
        "PATH": "/usr/local/bin:/bin:/usr/bin",
        "SHELL": "/bin/sh"
      }
    }
  }
}

Nota: Reemplaza los siguientes valores con tu configuración real:

  • instana-base-url: Tu URL de instancia de Instana
  • instana-api-token: Tu token de API de Instana
  • command: Actualiza la ruta de npx para que coincida con la instalación de Node.js de tu sistema (por ejemplo, /path/to/your/node/bin/npx)
  • Variables de entorno: Ajusta PATH y otras variables de entorno según sea necesario para tu sistema

Modo Stdio

Paso 1: Crear la Configuración de MCP en VS Code

Usando CLI (Instalación PyPI - Recomendada):

Crea .vscode/mcp.json en la raíz de tu proyecto:

Opción 1: Usando variables de entorno en la configuración:

{
  "servers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": ["--transport", "stdio"],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opción 2: Usando el flag --env (método alternativo):

{
  "servers": {
    "Instana MCP Server": {
      "command": "mcp-instana",
      "args": [
        "--transport", "stdio",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Usando Instalación de Desarrollo:

Crea .vscode/mcp.json en la raíz de tu proyecto:

Opción 1: Usando variables de entorno en la configuración:

{
  "servers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/project/mcp-instana",
        "run",
        "src/core/server.py"
      ],
      "env": {
        "INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
        "INSTANA_API_TOKEN": "your_instana_api_token"
      }
    }
  }
}

Opción 2: Usando el flag --env (método alternativo):

{
  "servers": {
    "Instana MCP Server": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/your/project/mcp-instana",
        "run",
        "src/core/server.py",
        "--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
        "--env", "INSTANA_API_TOKEN=your_instana_api_token"
      ]
    }
  }
}

Nota: Reemplaza los siguientes valores con tu configuración real:

  • Para instalación CLI: Asegúrate de que mcp-instana esté en tu PATH
  • Para instalación de desarrollo:
    • command: Actualiza la ruta de uv para que coincida con la instalación de uv de tu sistema (por ejemplo, /path/to/your/uv/bin/uv o /usr/local/bin/uv)
    • --directory: Actualiza con la ruta absoluta a tu directorio del proyecto mcp-instana
  • INSTANA_BASE_URL: Tu URL de instancia de Instana
  • INSTANA_API_TOKEN: Tu token de API de Instana

Paso 2: Gestionar el Servidor en VS Code

  1. Abre .vscode/mcp.json - verás los controles de gestión del servidor en la parte superior
  2. Haz clic en Start junto a Instana MCP Server para iniciar el servidor
  3. El estado de ejecución junto con el número de herramientas indica que el servidor está funcionando

Paso 3: Probar la Integración

Cambia al Modo Agente en GitHub Copilot y recarga las herramientas. Aquí hay un ejemplo de una respuesta de GitHub Copilot:

GitHub Copilot Response

Mistral AI

Mistral AI admite la integración con MCP exclusivamente a través del modo HTTP Transmisible.

Paso 1: Iniciar el Servidor MCP en Modo HTTP Transmisible

Inicia el servidor MCP en modo HTTP Transmisible proporcionando tus credenciales de Instana. Ejecuta el siguiente comando:

uv run src/core/server.py --transport streamable-http \
  --api-token "your_instana_api_token" \
  --base-url "https://your-instana-instance.instana.io" \
  --port 8080

Paso 2: Configurar el Reenvío de Puertos con Ngrok

Configura el reenvío de puertos para exponer tu servidor local. Sigue la documentación de configuración de Ngrok para obtener instrucciones detalladas.

Paso 3: Configurar Mistral AI

  1. Navega a la pestaña Inteligencia en la barra lateral izquierda y selecciona Conectores Mistral HomePage

  2. Haz clic en Añadir Conector Connector

  3. Crea un conector personalizado introduciendo un nombre de conector y la URL del servidor MCP reenviada por Ngrok Custom Connector

  4. Inicia una nueva sesión de chat y verifica que las herramientas MCP estén habilitadas. Puedes ver la respuesta aquí Testing MCP connection Response

Funciones Soportadas

  • Gestión Unificada de Aplicaciones e Infraestructura (manage_instana_resources)
    • Métricas de Aplicación
      • Consultar métricas de aplicación con filtrado flexible
      • Listar servicios y endpoints
      • Agrupar por etiquetas y agregar métricas
    • Configuración de Alertas de Aplicación
      • Encontrar configuraciones de alertas activas
      • Obtener versiones de configuración de alertas
      • Crear, actualizar y eliminar configuraciones de alertas
      • Habilitar, deshabilitar y restaurar configuraciones de alertas
      • Actualizar líneas base históricas
    • Configuración Global de Alertas de Aplicación
      • Gestionar configuraciones globales de alertas
      • Control de versiones para alertas globales
    • Configuración de Aplicación
      • Gestionar perspectivas de aplicación
      • Configurar endpoints y servicios
      • Gestionar servicios manuales
    • Catálogo de Aplicación
      • Obtener catálogo de etiquetas de aplicación
      • Obtener catálogo de métricas de aplicación
  • Análisis de Infraestructura (analyze_infrastructure)
    • Obtención en dos pasos para consultas de entidad/métrica
    • Soporte dinámico para todos los tipos de entidad del catálogo de la API de Instana (JVM, Kubernetes, Docker, hosts, bases de datos, colas de mensajes y más)
    • Sincronizado automáticamente con los plugins disponibles en tu instalación de Instana
    • Agregación flexible de métricas (max, mean, sum, etc.)
    • Filtrado avanzado por etiquetas y propiedades
    • Capacidades de agrupación y ordenación
    • Consultas de rango temporal
  • Gestión Unificada de Eventos (manage_events)
    • Monitorización de Eventos
      • Obtener Evento por ID (operation="get_event")
      • Obtener Eventos por IDs (operation="get_events_by_ids")
      • Obtener Eventos de Monitorización de Agentes (operation="get_agent_monitoring_events")
      • Obtener Eventos de Información de Kubernetes (operation="get_kubernetes_info_events")
      • Obtener Eventos (operation="get_events")
    • Enrutamiento inteligente a herramientas de eventos especializadas
    • Validación unificada de parámetros (rangos temporales, max_events)
    • Soporte para rangos temporales en lenguaje natural ("últimas 24 horas", "últimos 2 días")
    • Filtrado y optimización de eventos
  • Gestión Unificada de Sitios Web (manage_website_resources)
    • Análisis de Sitio Web (resource_type="analyze")
      • Obtener Grupos de Beacons de Sitio Web - datos de beacons agrupados/agregados (operation="get_beacon_groups")
      • Obtener Beacons de Sitio Web - datos de beacons individuales con paginación (operation="get_beacons")
      • Validación automática de etiquetas y flujo de trabajo de obtención basado en catálogo
      • Resumen de respuesta (reducción del 70-80% de la carga útil)
      • Soporte para múltiples tipos de beacon: PAGELOAD, PAGECHANGE, RESOURCELOAD, CUSTOM, HTTPREQUEST, ERROR
    • Catálogo de Sitio Web (resource_type="catalog")
      • Obtener Catálogo de Métricas de Sitio Web (operation="get_metrics")
      • Obtener Catálogo de Etiquetas de Sitio Web por tipo de beacon y caso de uso (operation="get_tag_catalog")
    • Configuración de Sitio Web (resource_type="configuration")
      • Obtener Todos los Sitios Web (operation="get_all")
      • Obtener Sitio Web por ID o nombre con resolución automática de nombre (operation="get")
    • Configuración Avanzada - SOLO LECTURA (resource_type="advanced_config")
      • Obtener Configuración de Geolocalización (operation="get_geo_config")
      • Obtener Configuración de Enmascaramiento de IP (operation="get_ip_masking")
      • Obtener Reglas de Mapeo Geográfico (operation="get_geo_rules")
  • Gestión Unificada de Automatización (manage_automation)
    • Catálogo de Acciones (resource_type="catalog")
      • Listar todas las acciones de automatización disponibles (operation="get_actions")
      • Obtener información detallada sobre una acción específica (operation="get_action_details")
      • Buscar acciones coincidentes por nombre/descripción (operation="get_action_matches")
      • Obtener coincidencias de acciones por ID de aplicación o snapshot y ventana temporal (operation="get_action_matches_by_id_and_time_window")
      • Obtener tipos de acciones disponibles (operation="get_action_types")
      • Obtener etiquetas de acciones disponibles (operation="get_action_tags")
    • Historial de Acciones (resource_type="history")
      • Listar instancias de ejecución de acciones con filtrado (operation="list")
      • Obtener detalles de una ejecución de acción específica (operation="get_details")
  • Paneles Personalizados (manage_custom_dashboards)
    • Obtener todos los paneles personalizados
    • Obtener panel específico por ID
    • Crear nuevo panel personalizado
    • Actualizar panel personalizado existente
    • Eliminar panel personalizado
    • Obtener usuarios compartibles para el panel
    • Obtener tokens de API compartibles para el panel

Herramientas Disponibles

HerramientaCategoríaDescripción
manage_applicationsAplicación e InfraestructuraHerramienta unificada para gestionar métricas de aplicación, configuraciones de alertas, ajustes y catálogo
manage_websitesMonitorización de Sitios WebEnrutador inteligente unificado para operaciones de análisis, catálogo, configuración y configuración avanzada de sitios web
manage_custom_dashboardsPaneles PersonalizadosHerramienta unificada para gestionar operaciones CRUD de paneles personalizados
analyze_infrastructureAnálisis de InfraestructuraAnálisis de infraestructura en dos pasos con obtención de entidad/métrica
manage_automationAutomatizaciónEnrutador inteligente unificado para automatización: explorar catálogo de acciones y ver historial de ejecución
manage_eventsEventosEnrutador inteligente unificado para monitorización de eventos: obtener evento por ID, obtener eventos por IDs, eventos de Kubernetes, eventos de monitorización de agentes y todos los eventos
manage_sloGestión de SLOEnrutador inteligente unificado para configuraciones de SLO, informes, alertas y ventanas de corrección con manejo inteligente de zonas horarias
manage_releasesGestión de ReleasesEnrutador inteligente unificado para seguimiento de releases: listar releases con paginación y filtrado por nombre, obtener detalles de release, crear/actualizar/eliminar releases con soporte de zona horaria
manage_maintenance_windowsVentanas de MantenimientoEnrutador inteligente unificado para gestión del ciclo de vida de ventanas de mantenimiento: crear, modificar, cerrar y listar ventanas de mantenimiento con soporte de plantillas e integración con ServiceNow
manage_mobile_appsMonitorización de Apps MóvilesEnrutador inteligente unificado para monitorización de apps móviles: analizar beacons, métricas de rendimiento, configuración y gestión de alertas

👉 Para documentación detallada de herramientas, capacidades y referencia técnica, consulta Herramientas y Ejemplos

Filtrado de Herramientas

El servidor MCP soporta carga selectiva de herramientas para optimizar el rendimiento y reducir el uso de recursos. Puedes habilitar solo las categorías de herramientas que necesites para tu caso de uso específico.

Categorías de Herramientas Disponibles

  • router: Gestión unificada de aplicaciones e infraestructura

    • manage_instana_resources: Herramienta única para métricas de aplicación, configuraciones de alertas, ajustes y catálogo
    • Soporta perspectivas de aplicación, endpoints, servicios y servicios manuales
    • Gestiona configuraciones de alertas tanto específicas de la aplicación como globales
    • Proporciona acceso al catálogo de etiquetas de aplicación y al catálogo de métricas
  • dashboard: Gestión de paneles personalizados

    • manage_custom_dashboards: Operaciones CRUD para paneles personalizados
    • Soporta creación, recuperación, actualización y eliminación de paneles
    • Gestiona usuarios compartibles y tokens de API para paneles
  • infra: Herramientas de análisis de infraestructura

    • analyze_infrastructure: Análisis de infraestructura en dos pasos con obtención de entidad/métrica
    • Soporta dinámicamente todos los tipos de entidad disponibles en tu instalación de Instana (cargados automáticamente desde el catálogo de la API)
    • Incluye JVM, Kubernetes, Docker, hosts, bases de datos, colas de mensajes y cualquier tipo de entidad personalizada o recién añadida
    • Agregación flexible de métricas, filtrado, agrupación y consultas de rango temporal
  • automation: Herramientas de acciones de automatización

    • manage_automation: Enrutador inteligente unificado para catálogo de automatización e historial de ejecución
    • Catálogo de Acciones: explorar acciones, obtener detalles, buscar por nombre/descripción, filtrar por ID de aplicación o snapshot
    • Historial de Acciones: listar instancias de ejecución con filtrado, obtener detalles de ejecución
  • events: Herramientas de monitorización de eventos

    • Eventos: eventos de Kubernetes, monitorización de agentes y seguimiento de eventos del sistema
  • website: Herramientas de monitorización de sitios web

    • Métricas de Sitio Web: Medición de rendimiento para sitios web
    • Catálogo de Sitio Web: Metadatos y definiciones de sitios web
    • Análisis de Sitio Web: Análisis de rendimiento de sitios web
    • Configuración de Sitio Web: Gestión de configuración de sitios web
  • slo: Gestión de Objetivos de Nivel de Servicio (SLO)

    • manage_slo: Enrutador inteligente unificado para operaciones completas de SLO
    • Gestión de Configuración: Crear, leer, actualizar, eliminar configuraciones de SLO con soporte para indicadores basados en tiempo y en eventos
    • Generación de Informes: Generar informes detallados de SLO con valores SLI, presupuestos de error, tasas de consumo y gráficos de series temporales
    • Configuración de Alertas: Gestionar configuraciones de alertas de SLO para monitorización de presupuesto de error y seguimiento de tasa de consumo
    • Ventanas de Corrección: Crear y gestionar ventanas de mantenimiento para excluir el tiempo de inactividad planificado de los cálculos de SLO
    • Manejo Inteligente de Zonas Horarias: Obtención automática de zona horaria para entradas de fecha/hora para asegurar un contexto temporal preciso
    • Obtención en Dos Pasos: Recopilación interactiva de parámetros para operaciones complejas que requieren múltiples entradas
  • releases: Seguimiento de releases y gestión de despliegues

    • manage_releases: Enrutador inteligente unificado para operaciones de release
    • Listar Releases: Obtener todos los releases con paginación eficiente (page_number, page_size) y filtrado por nombre
    • Detalles de Release: Recuperar información específica del release por ID, incluyendo aplicaciones, servicios y ámbitos
    • Crear/Actualizar/Eliminar: Operaciones CRUD completas para gestión de releases
    • Manejo Inteligente de Zonas Horarias: Obtención automática de zona horaria para horas de inicio de release
    • Paginación Eficiente: Evitar la obtención redundante de datos con navegación adecuada basada en páginas
    • Filtrado por Nombre: Coincidencia de subcadena insensible a mayúsculas/minúsculas para encontrar releases por nombre
  • maintenance_window: Gestión del ciclo de vida de ventanas de mantenimiento

    • manage_maintenance_windows: Enrutador inteligente unificado para operaciones de ventanas de mantenimiento
    • Operaciones de Ventana: Crear, modificar, cerrar y listar ventanas de mantenimiento (activas, programadas, todas, expiradas)
    • Operaciones Masivas: Crear ventanas de mantenimiento para múltiples aplicaciones simultáneamente
    • Soporte de Plantillas: Plantillas predefinidas para escenarios comunes (deployment, database_migration, infrastructure_upgrade, emergency, routine)
    • Ventanas Recurrentes: Soporte para ventanas de mantenimiento recurrentes usando formato RFC 5545 RRULE
    • Integración con ServiceNow: Integración opcional con solicitudes de cambio de ServiceNow
    • Validación: Validación de parámetros antes de la creación de la ventana
    • Duración Flexible: Especificar duración en minutos, horas o días
  • mobile_app: Monitorización de aplicaciones móviles

    • manage_mobile_apps: Enrutador inteligente unificado para operaciones de monitorización de aplicaciones móviles
    • Análisis de Beacons: Consulta datos de beacons de aplicaciones móviles con agrupación y filtrado
    • Métricas de Rendimiento: Seguimiento de la duración de sesiones, tasas de fallos y rendimiento de peticiones HTTP
    • Análisis Geográfico: Analiza la distribución de usuarios por país, ciudad y región
    • Análisis de Dispositivos: Monitoriza el rendimiento en diferentes dispositivos, plataformas y versiones de sistema operativo
    • Gestión de Configuración: Administra configuraciones de aplicaciones móviles, geolocalización y ajustes de enmascaramiento de IP
    • Gestión de Alertas: Configura y administra configuraciones de alertas para aplicaciones móviles

Ejemplos de Uso

Usando CLI (Instalación PyPI)

# Enable only router (unified app/infra management) and events tools
mcp-instana --tools router,events --transport streamable-http

# Enable only infrastructure analysis tools
mcp-instana --tools infra --transport streamable-http

# Enable router and infrastructure analysis
mcp-instana --tools router,infra --transport streamable-http

# Enable events and website tools
mcp-instana --tools events,website --transport streamable-http

# Enable dashboard and router tools
mcp-instana --tools dashboard,router --transport streamable-http

# Enable releases and events tools
mcp-instana --tools releases,events --transport streamable-http

# Enable maintenance window and events tools
mcp-instana --tools maintenance_window,events --transport streamable-http

# Enable all tools (default behavior)
mcp-instana --transport streamable-http

# List all available tool categories and their tools
mcp-instana --list-tools

Usando Instalación de Desarrollo

# Enable only router (unified app/infra management) and events tools
uv run src/core/server.py --tools router,events --transport streamable-http

# Enable only infrastructure analysis tools
uv run src/core/server.py --tools infra --transport streamable-http

# Enable router and infrastructure analysis
uv run src/core/server.py --tools router,infra --transport streamable-http

# Enable events and website tools
uv run src/core/server.py --tools events,website --transport streamable-http

# Enable dashboard and router tools
uv run src/core/server.py --tools dashboard,router --transport streamable-http

# Enable releases and events tools
uv run src/core/server.py --tools releases,events --transport streamable-http

# Enable maintenance window and events tools
uv run src/core/server.py --tools maintenance_window,events --transport streamable-http

# Enable all tools (default behavior)
uv run src/core/server.py --transport streamable-http

# List all available tool categories and their tools
uv run src/core/server.py --list-tools

Beneficios del Filtrado de Herramientas

  • Rendimiento: Reducción del tiempo de inicio y uso de memoria
  • Seguridad: Limita la exposición solo a las APIs necesarias
  • Claridad: Enfoque en casos de uso específicos (ej., solo monitorización de infraestructura)
  • Eficiencia de Recursos: Menor uso de CPU y red

👉 Para ejemplos de uso y prompts, consulta Prompts de Ejemplo

Despliegue con Docker

El servidor MCP Instana se puede desplegar usando Docker para entornos de producción. La configuración de Docker está optimizada para seguridad, rendimiento y uso mínimo de recursos.

Arquitectura Docker

El proyecto utiliza una estrategia de gestión de dependencias en dos archivos:

pyproject.toml

  • Propósito: Configuración unificada tanto para desarrollo como para producción
  • Dependencias: Todas las dependencias esenciales con dependencias opcionales de desarrollo
  • Uso: Desarrollo local, pruebas, CI/CD y compilaciones de producción con Docker
  • Beneficios: Fuente única de verdad para todas las dependencias, mantenimiento simplificado

Construcción de la Imagen Docker

Requisitos Previos

  • Docker instalado y en ejecución
  • Acceso al código fuente del proyecto
  • Docker BuildKit para compilaciones multiarquitectura (habilitado por defecto en versiones recientes de Docker)

Comando de Construcción

# Build the optimized production image
docker build -t mcp-instana:latest .

# Build with a specific tag
docker build -t mcp-instana:<image_tag> .

#### **Run Command**
# Run the container (no credentials needed in the container)
docker run -p 8080:8080 mcp-instana

# Run with custom port
docker run -p 8081:8080 mcp-instana

📖 Para documentación completa de Docker, incluyendo compilaciones multiarquitectura, configuración de Docker Compose, mejores prácticas de seguridad y ejemplos de despliegue en producción, consulta DOCKER.md.

Solución de Problemas

Problemas con Docker

El Contenedor No Inicia

# Check container logs
docker logs <container_id>
# Common issues:
# 1. Port already in use
# 2. Invalid container image
# 3. Missing dependencies
# Credentials are passed via HTTP headers from the MCP client

Problemas de Conexión

# Test container connectivity
docker exec -it <container_id> curl http://127.0.0.1:8080/health
# Check port mapping
docker port <container_id>

Problemas de Rendimiento

# Check container resource usage
docker stats <container_id>
# Monitor container health
docker inspect <container_id> | grep -A 10 Health

Problemas Generales

  • GitHub Copilot

    • Si encuentras problemas con GitHub Copilot, intenta iniciar/detener/reiniciar el servidor en el archivo mcp.json y mantén solo un servidor en ejecución a la vez.
  • Problemas de Certificados

    • Si encuentras problemas de certificados, como [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate:
      • Verifica que puedes alcanzar el endpoint de la API de Instana usando curl o wget con verificación SSL.
        • Si eso funciona, es posible que tu entorno Python no pueda verificar el certificado y no tenga acceso a los mismos certificados que tu shell o sistema. Asegúrate de que tu entorno Python use los certificados del sistema (macOS). Puedes hacerlo instalando certificados en Python: //Applications/Python\ 3.13/Install\ Certificates.command
      • Si no puedes alcanzar el endpoint con verificación SSL, inténtalo sin ella. Si eso funciona, revisa los certificados CA de tu sistema y asegúrate de que estén actualizados.