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?

  • Consultar el rendimiento de aplicaciones — Solicite métricas de aplicaciones, alertas o detalles de catálogo utilizando herramientas de la categoría app como get_app_metrics o get_app_alerts.
  • Monitorear el estado de la infraestructura — Recupere recursos de infraestructura, topología y métricas mediante herramientas de infra como get_infra_metrics o get_infra_topology.
  • Rastrear eventos e incidentes — Acceda a eventos de Kubernetes o datos de monitoreo de agentes con herramientas de events como get_k8s_events o get_agent_status.
  • Analizar el monitoreo de sitios web — Obtenga métricas de sitios web, información de catálogo o configuración usando herramientas de website como get_website_metrics o get_website_config.
  • Filtrar herramientas por categoría — Habilite solo las categorías de herramientas necesarias al iniciar con la bandera --tools (por ejemplo, --tools infra,events) para optimizar el rendimiento.

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 de Instana, permitiéndote acceder a datos de observabilidad en tiempo real directamente dentro de tu flujo de trabajo de desarrollo.

Actúa como un puente entre 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ácilmente consumibles.

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

Resumen 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

Considera un ejemplo simple: Estás usando un Host MCP (como Claude Desktop, VS Code u otro cliente) conectado al Servidor MCP de Instana. Cuando solicitas 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. Tu 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) seleccionada(s) a través del servidor MCP de Instana
  5. Los resultados (alertas más recientes) se devuelven al LLM
  6. El LLM formula una respuesta en lenguaje natural
  7. La respuesta se muestra para ti
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, puedes ejecutar el servidor usando el comando mcp-instana directamente.

Opción 2: Instalación de Desarrollo

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

Instalando uv

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

Usando pip:

pip install uv

Usando Homebrew (macOS):

brew install uv

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

Configurando el Entorno

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

uv sync

Autenticación Basada en Cabeceras para el Modo HTTP Transmisible

Cuando uses el modo HTTP Transmisible, debes 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 tanto la autenticación basada en token de API como 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 tu instancia de Instana
  • instana-api-token: Tu 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 UI)

Cabeceras Requeridas:

  • instana-base-url: La URL de tu instancia de Instana
  • instana-auth-token: Token de autenticación de sesión del backend de la UI
  • instana-csrf-token: Token CSRF del backend de la UI
  • 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 la Plataforma IBM)

Cabeceras Requeridas:

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

Configuración de Ejemplo:

{
  "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 UI a través de WebSocket → Coordinador → Servidor MCP.

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

Iniciando el Servidor MCP Local

Antes de configurar cualquier cliente MCP (Claude Desktop, GitHub Copilot o clientes MCP personalizados), necesitas 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 desde PyPI)

Si instalaste mcp-instana desde PyPI, usa el comando mcp-instana:

mcp-instana [OPTIONS]

Usando la Instalación de Desarrollo

Para desarrollo local, usa 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 infraestructura y todos los prompts relacionados con infraestructura.
  • --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)
  • --verify-ssl: Habilitar la verificación de certificados SSL para llamadas salientes a la API de Instana. Equivalente a establecer INSTANA_SSL_VERIFY=true. La verificación SSL está deshabilitada por defecto.
  • --help: Mostrar mensaje de ayuda y salir

Iniciando 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 la CLI (Instalación desde 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 la Instalación de 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 la autenticación (no se necesitan variables de entorno)
  • Soporta diferentes credenciales por solicitud
  • Mejor adaptado para entornos compartidos
  • Puerto por defecto del servidor MCP: 8080
  • Endpoint MCP: http://0.0.0.0:8080/mcp/

Iniciando 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 la CLI (Instalación desde 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 la Instalación de 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 la 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

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

Usando la CLI (Instalación desde 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 la Instalación de 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)

Verificación de Certificados SSL

La verificación de certificados SSL para llamadas salientes a la API de Instana está deshabilitada por defecto. Esto aplica tanto para los modos de transporte HTTP Transmisible como Stdio.

Para habilitar la verificación de certificados SSL, usa la opción de CLI --verify-ssl o la variable de entorno INSTANA_SSL_VERIFY.

Uso de la opción CLI

uv run src/core/server.py --verify-ssl

La opción --verify-ssl es equivalente a configurar:

export INSTANA_SSL_VERIFY=true

Uso de la variable de entorno

export INSTANA_SSL_VERIFY=true
uv run src/core/server.py

La verificación SSL está deshabilitada cuando INSTANA_SSL_VERIFY está configurado como 0, false o no (sin distinción de mayúsculas y minúsculas), o si se deja sin configurar. Cualquier otro valor habilita la verificación; use true, 1 o yes como opciones convencionales.

Uso de un paquete de CA personalizado

Cuando la verificación SSL está habilitada, se utiliza el paquete de CA del sistema de forma predeterminada. Para usar un paquete de certificados CA personalizado, configure INSTANA_CA_BUNDLE:

export INSTANA_SSL_VERIFY=true
export INSTANA_CA_BUNDLE=/path/to/ca-bundle.crt
uv run src/core/server.py

INSTANA_CA_BUNDLE solo se utiliza cuando la verificación de certificados SSL está habilitada.

El servidor registra el estado efectivo de verificación SSL al iniciarse, por lo que puede confirmar de inmediato si su variable de entorno o indicador CLI fue detectado.

Verificación del estado del servidor

Una vez iniciado, puede verificar que el servidor esté en ejecución:

Para el modo HTTP Streamable:

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

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

Para el modo Stdio: El servidor se iniciará y esperará la entrada estándar (stdin) de los clientes MCP.

Problemas comunes de inicio

Problemas de SSL / Certificados: Consulte la sección Verificación de certificados SSL anterior para conocer las opciones de configuración. Si encuentra errores SSL con la verificación habilitada y está usando macOS, asegúrese de que su entorno de 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 impulsado por IA de IBM que admite integración MCP de forma nativa. Bob ofrece una experiencia de desarrollo fluida con asistencia de IA integrada y herramientas de observabilidad.

Modo HTTP Streamable

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

Paso 1: Inicie el servidor MCP en modo HTTP Streamable

Antes de configurar Bob, debe iniciar el servidor MCP en modo HTTP Streamable. Consulte la sección Inicio del servidor MCP local para obtener instrucciones detalladas.

Paso 2: Configure Bob

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

Al seleccionarlo, debería poder ver la opción de 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, lo que le permite elegir el ámbito que mejor se adapte a su caso de uso:

1. Configuración global (nivel de usuario)

La configuración global aplica los servidores MCP en todos los proyectos del usuario actual. Esto es ideal cuando desea que los mismos servidores MCP estén disponibles en todos los proyectos en los que trabaja.

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 desea compartir la configuración de MCP con su equipo mediante el control de versiones.

Ubicación del archivo:

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

Elección entre configuración global y de proyecto:

  • Use la configuración global para los servidores MCP que desea tener disponibles en todos sus proyectos
  • Use la configuración de proyecto para servidores MCP específicos del proyecto o para compartir configuraciones con su 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 obtener más información sobre Bob y la configuración de MCP, visite: https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob

Configuración local:

Configure Bob para conectarse a su 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:

Configure Bob para conectarse a un servidor MCP de Instana remoto (por ejemplo, implementado 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: Pruebe la conexión

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

Ahora puede ejecutar consultas en Bob IDE:

get me all applications from Instana in the last 24 hours

Modo Stdio

Configuración mediante CLI (instalación PyPI - recomendada):

Opción 1: Uso de 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: Uso del indicador --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 encuentra errores de "comando no encontrado", use la ruta completa a mcp-instana. Encuéntrela con which mcp-instana y use esa ruta en su lugar.

Configuración mediante instalación de desarrollo:

Opción 1: Uso de 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: Uso del indicador --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 los modos HTTP Streamable y Stdio para la integración MCP.

Configure 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 Streamable

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

Paso 1: Inicie el servidor MCP en modo HTTP Streamable

Antes de configurar Claude Desktop, debe iniciar el servidor MCP en modo HTTP Streamable. Consulte la sección Inicio del servidor MCP local para obtener instrucciones detalladas.

Paso 2: Configure Claude Desktop

Configure Claude Desktop para pasar las credenciales de Instana mediante encabezados:

{
  "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: Pruebe la conexión

Reinicie Claude Desktop. Ahora debería ver Instana MCP Server en la interfaz de Claude Desktop como se muestra a continuación:

Ahora puede ejecutar consultas en Claude Desktop:

get me all endpoints from Instana

Modo Stdio

Configuración mediante CLI (instalación PyPI - recomendada):

Opción 1: Uso de 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: Uso del indicador --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 encuentra errores de "comando no encontrado", use la ruta completa a mcp-instana. Encuéntrela con which mcp-instana y use esa ruta en su lugar.

Configuración mediante instalación de desarrollo:

Opción 1: Uso de 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: Uso del indicador --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: Descargue e instale Kiro para su sistema operativo desde https://kiro.dev/.

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

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

Paso 4: Seleccione el ícono Editar configuración en la esquina superior derecha de la sección Servidores MCP. alt text

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

Modo HTTP Streamable (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úrese 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: Uso de 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: Uso del indicador --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, haga clic en el botón Habilitar MCP y verá su servidor MCP y sus herramientas disponibles en la sección inferior izquierda de Kiro. alt text

Paso 7: Vaya al panel de Chat de IA, ingrese un mensaje relacionado con su servidor MCP y vea la respuesta directamente en Kiro. alt text

GitHub Copilot

GitHub Copilot admite la integración MCP mediante la configuración de VS Code. Para la integración de GitHub Copilot con VS Code, consulte esta guía de configuración.

Modo HTTP Streamable

Paso 1: Inicie el servidor MCP en modo HTTP Streamable

Antes de configurar VS Code, debe iniciar el servidor MCP en modo HTTP Streamable. Consulte la sección Inicio del servidor MCP local para obtener instrucciones detalladas.

Paso 2: Configure VS Code

Consulte Uso de servidores MCP en VS Code para obtener una configuración detallada.

Puede 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: Reemplace los siguientes valores con su configuración real:

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

Modo Stdio

Paso 1: Cree la configuración MCP de VS Code

Uso de CLI (instalación PyPI - recomendada):

Cree .vscode/mcp.json en la raíz de su proyecto:

Opción 1: Uso de 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: Uso del indicador --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"
      ]
    }
  }
}

Uso de instalación de desarrollo:

Cree .vscode/mcp.json en la raíz de su proyecto:

Opción 1: Uso de 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: Uso del indicador --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: Reemplace los siguientes valores con su configuración real:

  • Para instalación CLI: asegúrese de que mcp-instana esté en su PATH
  • Para instalación de desarrollo:
    • command: Actualice la ruta de uv para que coincida con la instalación de uv de su sistema (por ejemplo, /path/to/your/uv/bin/uv o /usr/local/bin/uv)
    • --directory: Actualice con la ruta absoluta al directorio de su proyecto mcp-instana
  • INSTANA_BASE_URL: La URL de su instancia de Instana
  • INSTANA_API_TOKEN: Su token de API de Instana

Paso 2: Administre el servidor en VS Code

  1. Abra .vscode/mcp.json - verá los controles de administración del servidor en la parte superior
  2. Haga 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á en ejecución

Paso 3: Pruebe la integración

Cambie al modo Agente en GitHub Copilot y recargue las herramientas. Aquí hay un ejemplo de una respuesta de GitHub Copilot:

GitHub Copilot Response

Mistral AI

Mistral AI admite la integración MCP exclusivamente mediante el modo HTTP Streamable.

Paso 1: Inicie el servidor MCP en modo HTTP Streamable

Inicie el servidor MCP en modo HTTP Streamable proporcionando sus credenciales de Instana. Ejecute 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: Configure el reenvío de puertos con Ngrok

Configure el reenvío de puertos para exponer su servidor local. Siga la documentación de configuración de Ngrok para obtener instrucciones detalladas.

Paso 3: Configure Mistral AI

  1. Navegue a la pestaña Intelligence en la barra lateral izquierda y seleccione Connectors Mistral HomePage

  2. Haga clic en Add Connector Connector

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

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

Conexión a múltiples servidores MCP de Instana

Puede configurar su cliente MCP para conectarse a múltiples instancias. A continuación se muestra una configuración de ejemplo:

{
  "mcpServers": {
    "Instana MCP Server1": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header",
        "instana-base-url: ENV1_INSTANA_URL",
        "--header",
        "instana-api-token: ENV1_INSTANA_API_TOKEN"
      ]
    },
    "Instana MCP Server2": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://0.0.0.0:8080/mcp/",
        "--allow-http",
        "--header",
        "instana-base-url: ENV2_INSTANA_URL",
        "--header",
        "instana-api-token: ENV2_INSTANA_API_TOKEN"
      ]
    }
  }
}

Para apuntar a un servidor específico, asegúrese de que:

  • El servidor esté configurado con el nombre de entorno apropiado en la configuración de MCP (por ejemplo, Instana MCP Server1)
  • El mensaje mencione explícitamente el nombre del servidor/entorno. La solicitud se enrutará entonces al servidor configurado correspondiente. Si no se menciona explícitamente ningún servidor/entorno en el prompt, MCP utiliza el primer servidor definido en la configuración como servidor predeterminado.

Nota: Si el servidor solicitado está caído o es inaccesible, MCP se comporta como se espera y reenvía el fallo de la API. El usuario recibirá el error correspondiente devuelto por la API, indicando que el servidor no está disponible. MCP depende de la disponibilidad de la API subyacente y no realiza conmutación por error automática.

Funciones compatibles

  • Gestión unificada de aplicaciones e infraestructura (manage_instana_resources)
    • Métricas de aplicaciones
      • Consultar métricas de aplicaciones con filtrado flexible
      • Listar servicios y endpoints
      • Agrupar por etiquetas y agregar métricas
    • Configuración de alertas de aplicaciones
      • Buscar configuraciones de alertas activas
      • Obtener versiones de configuraciones 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 aplicaciones
      • Gestionar configuraciones de alertas globales
      • Control de versiones para alertas globales
    • Configuración de aplicaciones
      • Gestionar perspectivas de aplicaciones
      • Configurar endpoints y servicios
      • Gestionar servicios manuales
    • Catálogo de aplicaciones
      • Obtener catálogo de etiquetas de aplicaciones
      • Obtener catálogo de métricas de aplicaciones
  • Gestión de infraestructura (manage_infrastructure)
    • Enrutador inteligente unificado que reemplaza a analyze_infrastructure — una sola herramienta para analizar, catalogar y obtener instantáneas de recursos
    • get_plugin_schema — obtiene métricas y etiquetas para un plugin en una sola llamada a la API (reemplaza dos llamadas separadas)
    • Soporte dinámico para todos los tipos de entidades del catálogo de API de Instana (JVM, Kubernetes, Docker, hosts, bases de datos, colas de mensajes y más)
    • Archivos de esquema estáticos eliminados — todo el esquema se obtiene en vivo desde la API de Instana
    • Operaciones de instantáneas de recursos: get_snapshot, get_snapshots
    • Agregación flexible de métricas (máx., media, suma, etc.)
    • Filtrado avanzado por etiquetas y propiedades
    • Capacidades de agrupación y ordenación
    • Consultas por rango de tiempo
  • Gestión unificada de eventos (manage_events)
    • Monitoreo de eventos
      • Obtener evento por ID (operation="get_event")
      • Obtener eventos por IDs (operation="get_events_by_ids")
      • Obtener eventos de monitoreo 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 de tiempo, max_events)
    • Soporte para rangos de tiempo en lenguaje natural ("últimas 24 horas", "últimos 2 días")
    • Filtrado y optimización de eventos
  • Monitoreo de aplicaciones móviles (manage_mobile_apps)
    • Reproducción de sesiones — nuevo (resource_type="session_replay")
      • get_session_replay_action_beacons — recuperación paginada de balizas de acción por ID de aplicación móvil e ID de sesión
      • Paginación basada en cursor (cursor, page_size, hasMore)
    • Análisis de balizas, métricas de rendimiento, análisis geográfico y de dispositivos, gestión de alertas (existente)
  • Gestión unificada de sitios web (manage_website_resources)
    • Análisis de sitios web (resource_type="analyze")
      • Obtener grupos de balizas de sitios web — datos de balizas agrupados/agregados (operation="get_beacon_groups")
      • Obtener balizas de sitios web — datos de balizas 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 respuestas (reducción de carga útil del 70-80%)
      • Soporte para múltiples tipos de balizas: PAGELOAD, PAGECHANGE, RESOURCELOAD, CUSTOM, HTTPREQUEST, ERROR
    • Catálogo de sitios web (resource_type="catalog")
      • Obtener catálogo de métricas de sitios web (operation="get_metrics")
      • Obtener catálogo de etiquetas de sitios web por tipo de baliza y caso de uso (operation="get_tag_catalog")
    • Configuración de sitios 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 nombres (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 instantánea y ventana de tiempo (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")
  • Monitoreo sintético unificado (manage_synthetics)
    • Catálogo sintético (resource_type="catalog")
      • Obtener métricas disponibles con agregaciones compatibles para la planificación de consultas (operation="get_synthetic_catalog_metrics")
      • Obtener nombres de etiquetas válidos para filtrado, agrupación y alertas inteligentes (operation="get_synthetic_tag_catalog")
    • Métricas sintéticas (resource_type="metrics")
      • Recuperar métricas sintéticas agregadas agrupadas por ubicación o nombre de prueba (operation="get_metrics_result")
    • Configuración sintética (resource_type="settings")
      • Obtener la configuración completa de una prueba sintética por ID o nombre (operation="get_synthetic_test")
      • Listar pruebas sintéticas con filtrado opcional por aplicación, ubicación o credencial (operation="get_synthetic_tests")
      • Listar todas las ubicaciones de monitoreo con metadatos de tipo, geo y capacidad (operation="get_locations")
      • Obtener una sola ubicación por ID o nombre con resolución automática de nombres (operation="get_location_by_id")
      • Obtener todas las ubicaciones de centro de datos (Gestionadas) con recuento en línea (operation="get_all_datacenters")
    • Reproducción de pruebas sintéticas (resource_type="test_playback")
      • Obtener métricas de reproducción agregadas por prueba (operation="get_synthetic_result")
      • Obtener el resultado más reciente por prueba usando el análisis LAST_VALUE (operation="get_synthetic_result_analytic")
      • Obtener resultados individuales de ejecuciones de prueba con estado bruto, errores y marcas de tiempo (operation="get_synthetic_result_list")
      • Obtener metadatos de resumen a nivel de ubicación, incluida la hora de última ejecución y la versión de PoP (operation="get_location_summary_list")
      • Obtener tasas de éxito por prueba con desglose por ubicación (operation="get_test_summary_list")
      • Obtener tipos de datos de detalle disponibles para un resultado de prueba específico (operation="get_synthetic_result_metadata")
      • Obtener contenidos de archivos de datos de detalle como registros, HAR o capturas de pantalla (operation="get_synthetic_result_detail_data")
  • 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 panel
    • Obtener tokens de API compartibles para panel

Herramientas disponibles

HerramientaCategoríaDescripción
manage_applicationsAplicación e infraestructuraHerramienta unificada para gestionar métricas de aplicaciones, configuraciones de alertas, ajustes y catálogo
manage_websitesMonitoreo 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
manage_infrastructureInfraestructuraEnrutador inteligente unificado para análisis de infraestructura, catálogo (get_plugin_schema) y operaciones de instantáneas de recursos
manage_automationAutomatizaciónEnrutador inteligente unificado para automatización: explorar catálogo de acciones y ver historial de ejecuciones
manage_eventsEventosEnrutador inteligente unificado para monitoreo de eventos: obtener evento por ID, obtener eventos por IDs, eventos de Kubernetes, eventos de monitoreo 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 versionesEnrutador inteligente unificado para seguimiento de versiones: listar versiones con paginación y filtrado por nombre, obtener detalles de versión, crear/actualizar/eliminar versiones con soporte de zonas horarias
manage_maintenance_windowsVentanas de mantenimientoEnrutador inteligente unificado para la 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_appsMonitoreo de aplicaciones móvilesEnrutador inteligente unificado para monitoreo de aplicaciones móviles: analizar balizas, métricas de rendimiento, reproducción de sesiones, configuración y gestión de alertas
manage_syntheticsMonitoreo sintéticoEnrutador inteligente unificado para monitoreo sintético: catálogo, métricas, configuración (solo lectura) y resultados de reproducción de pruebas

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

Filtrado de herramientas

El servidor MCP admite carga selectiva de herramientas para optimizar el rendimiento y reducir el uso de recursos. Puede habilitar solo las categorías de herramientas que necesite para su 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 aplicaciones, configuraciones de alertas, ajustes y catálogo
    • Admite perspectivas de aplicaciones, endpoints, servicios y servicios manuales
    • Gestiona configuraciones de alertas tanto específicas de aplicaciones como globales
    • Proporciona acceso al catálogo de etiquetas de aplicaciones y al catálogo de métricas
  • dashboard: Gestión de paneles personalizados

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

    • manage_infrastructure: Enrutador inteligente unificado para análisis de infraestructura, catálogo y operaciones de instantáneas de recursos
    • get_plugin_schema combina get_metrics + get_tag_catalog en una sola llamada a la API
    • Admite dinámicamente todos los tipos de entidades disponibles en su instalación de Instana (cargados automáticamente desde el catálogo de API)
    • Incluye JVM, Kubernetes, Docker, hosts, bases de datos, colas de mensajes y cualquier tipo de entidad personalizado o recién agregado
    • Agregación flexible de métricas, filtrado, agrupación y consultas por rango de tiempo
  • automation: Herramientas de acciones de automatización

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

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

    • Métricas de sitios web: medición de rendimiento para sitios web
    • Catálogo de sitios web: metadatos y definiciones de sitios web
    • Análisis de sitios web: análisis de rendimiento de sitios web
    • Configuración de sitios 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 integrales de SLO
    • Gestión de configuración: Crear, leer, actualizar, eliminar configuraciones de SLO con soporte para indicadores basados en tiempo y eventos
    • Generación de informes: Generar informes detallados de SLO con valores de SLI, presupuestos de error, tasas de consumo y gráficos de series temporales
    • Configuración de alertas: Gestionar configuraciones de alertas de SLO para monitoreo de presupuesto de error y seguimiento de tasa de consumo
    • Ventanas de corrección: Crear y gestionar ventanas de mantenimiento para excluir 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 y hora para garantizar 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 versiones y gestión de despliegues

    • manage_releases: Enrutador inteligente unificado para operaciones de versiones
    • Listar versiones: Obtener todas las versiones con paginación eficiente (page_number, page_size) y filtrado por nombre
    • Detalles de versión: Recuperar información específica de una versión por ID, incluyendo aplicaciones, servicios y ámbitos
    • Crear/Actualizar/Eliminar: Operaciones CRUD completas para la gestión de versiones
    • Manejo inteligente de zonas horarias: Obtención automática de zona horaria para horas de inicio de versiones
    • Paginación eficiente: Evitar la obtención redundante de datos con una navegación adecuada basada en páginas
    • Filtrado por nombre: Coincidencia de subcadenas sin distinción de mayúsculas y minúsculas para encontrar versiones 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 (despliegue, migración_de_base_de_datos, actualización_de_infraestructura, emergencia, rutina)
    • 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: Monitoreo de aplicaciones móviles

    • manage_mobile_apps: Enrutador inteligente unificado para operaciones de monitoreo de aplicaciones móviles
    • Reproducción de sesión: Recuperar balizas de reproducción de sesión paginadas por ID de aplicación móvil e ID de sesión (resource_type="session_replay")
    • Análisis de balizas: Consultar datos de balizas de aplicaciones móviles con agrupación y filtrado
    • Métricas de rendimiento: Rastrear duración de sesión, tasas de fallos y rendimiento de solicitudes HTTP
    • Análisis geográfico: Analizar distribución de usuarios por país, ciudad y región
    • Análisis de dispositivos: Monitorear rendimiento en diferentes dispositivos, plataformas y versiones de sistema operativo
    • Gestión de configuración: Gestionar configuraciones de aplicaciones móviles, geolocalización y ajustes de enmascaramiento de IP
    • Gestión de alertas: Configurar y gestionar configuraciones de alertas de aplicaciones móviles
  • synthetics: Gestión de monitoreo sintético

    • manage_synthetics: Enrutador inteligente unificado para todas las operaciones de monitoreo sintético
    • Catálogo: Descubrir IDs de métricas válidos y nombres de etiquetas antes de construir consultas
    • Métricas: Recuperar tiempos de respuesta agregados y tasas de éxito agrupadas por ubicación o nombre de prueba
    • Configuración: Listar y buscar pruebas y ubicaciones con resolución automática de nombres; identificar centros de datos (Gestionados) vs. PoPs autoalojados (Privados)
    • Reproducción de pruebas: Resultados brutos por ejecución, análisis LAST_VALUE, resúmenes de tasa de éxito por ubicación y descargas de archivos de detalle (LOGS, HAR, capturas de pantalla)

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: Limitar la exposición solo a las API necesarias
  • Claridad: Enfocarse en casos de uso específicos (por ejemplo, solo monitoreo de infraestructura)
  • Eficiencia de recursos: Menor uso de CPU y red

👉 Para ejemplos de uso y prompts, consulte Ejemplos de prompts

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.

Construcción de la imagen Docker

Requisitos previos

  • Docker instalado y en ejecución
  • Acceso al código fuente del proyecto

Construir y ejecutar

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

# Build with a specific tag
docker build -t mcp-instana:<image_tag> .
# Run the container (credentials are supplied via HTTP headers at request time)
docker run -p 8080:8080 mcp-instana

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

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

Solución de problemas

Problemas con Docker

El contenedor no se 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 (expects 406 from a bare GET — means server is up)
curl http://localhost:8080/mcp
# 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 encuentra problemas con GitHub Copilot, intente iniciar/detener/reiniciar el servidor en el archivo mcp.json y mantenga solo un servidor en ejecución a la vez.
  • Problemas de certificados

    • Si encuentra problemas de certificados, como [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate:
      • Verifique que puede alcanzar el endpoint de la API de Instana usando curl o wget con verificación SSL.
        • Si eso funciona, su entorno de Python puede no ser capaz de verificar el certificado y podría no tener acceso a los mismos certificados que su shell o sistema. Asegúrese de que su entorno de Python use los certificados del sistema (macOS). Puede hacerlo instalando certificados en Python: /Applications/Python\ 3.13/Install\ Certificates.command
      • Si no puede alcanzar el endpoint con verificación SSL, intente sin ella. Si eso funciona, verifique los certificados CA de su sistema y asegúrese de que estén actualizados.