Servidor MCP de JupiterOne
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a las herramientas de JupiterOne. Este servidor permite a los asistentes de IA y a otros clientes MCP interactuar con los datos de JupiterOne.
Configuración
Requisitos previos
- Cuenta JupiterOne: Necesitas una cuenta JupiterOne activa
- Clave API: Genera una clave API desde la configuración de tu cuenta JupiterOne
- ID de cuenta: El identificador de tu cuenta JupiterOne
- Instalación del nodo de trabajo con una versión >= 18 ( Ver https://nodejs.org/en/download y hacer clic en uno de los botones verdes)
Instalación con Claude Desktop
Para utilizar este servidor MCP con Claude Desktop, necesitas añadirlo a tu archivo de configuración de Claude.
Opción 1: Usando npx (Recomendado)
Añada la siguiente configuración a su archivo de configuración de Claude Desktop:
{ "mcpServers": { "jupiterone": { "command": "npx", "args": ["-y", "@jupiterone/jupiterone-mcp"], "env": {"JUPITERONE_API_KEY": "your-api-key-here", "JUPITERONE_ACCOUNT_ID": "your-account-id-here", "JUPITERONE_BASE_URL": "https://graphql.us.jupiterone.io" } } } }
Opción 2: Instalación global (Para usuarios de nvm o solución de problemas)
Si utiliza nvm o tiene problemas con la opción 1, instale primero el paquete de forma global:
npm install -g @jupiterone/jupiterone-mcp
A continuación, añada esta configuración a su archivo de configuración de Claude Desktop:
{ "mcpServers": { "jupiterone": { "command": "/usr/local/bin/node", "args": ["/usr/local/bin/jupiterone-mcp"], "env": {"JUPITERONE_API_KEY": "your-api-key-here", "JUPITERONE_ACCOUNT_ID": "your-account-id-here", "JUPITERONE_BASE_URL": "https://graphql.us.jupiterone.io" } } } }
Nota: Es posible que tenga que ajustar las rutas en la Opción 2 en función de su instalación de Node.js:
- Para Homebrew Node.js:
/usr/local/bin/node
y/usr/local/bin/jupiterone-mcp
- Para nvm:
~/.
nvm/versions/node/v
[version]/bin/node
y~/.nvm/versions/node/v[version]/bin/jupiterone-mcp
Instalación con Cursor
Para Cursor IDE, añada la misma configuración a sus ajustes de Cursor:
- Abra la configuración de Cursor
- Navegue hasta "Características" → "Protocolo de contexto de modelo"
- Añade la configuración del servidor usando la Opción 1 o la Opción 2 de arriba
Variables de entorno
Reemplace los valores del marcador de posición con sus credenciales reales de JupiterOne:
- JUPITERONE_API_KEY: Tu clave API de JupiterOne (obligatoria)
- JUPITERONE_ACCOUNT_ID: Tu ID de cuenta JupiterOne (obligatorio).
- JUPITERONE_BASE_URL: JupiterOne GraphQL endpoint (opcional, por defecto
https://graphql.us.jupiterone.io)
Cómo obtener las credenciales de JupiterOne
Clave API:
- Inicia sesión en tu cuenta JupiterOne
- Vaya a Configuración → Claves API
- Crea una nueva clave API o utiliza una ya existente
ID de cuenta:
- Esto puede ser recuperado por cualquiera de los siguientes:
- Navegando a
https://j1dev.apps.us.jupiterone.io/settings/account-management
- Ejecute la siguiente consulta en su cuenta JupiterOne:
find jupiterone_account as x return x.accountId
Características
Gestión de reglas
- list-rules - Lista todas las reglas con el parámetro opcional limit
- get-rule-details - Obtener información detallada sobre una regla específica por ID
- create-inline-question-rule - Crea nuevas reglas basadas en preguntas en línea con operaciones y acciones
- update-inline-question-rule - Actualizar instancias existentes de reglas basadas en preguntas en línea
- evaluate-rule - Activar la evaluación bajo demanda de una regla específica
Evaluaciones de reglas
- list-rule-evaluations - Obtener datos históricos de evaluación de una regla con filtrado temporal opcional
- get-rule-evaluation-details - Obtener información detallada de la evaluación, incluidos los resultados de la consulta, la condición y la acción
- get-raw-data-download-url - Obtener la URL de descarga de los datos de evaluación sin procesar
- get-rule-evaluation-query-results - Obtener los resultados reales de la consulta de una evaluación de regla
Supervisión de alertas
- get-active-alerts - Obtiene todas las alertas actualmente activas con un parámetro opcional de límite
Gestión de cuadros de mando
- get-dashboards - Lista todos los cuadros de mando de su cuenta
- create-dashboard - Crear nuevos cuadros de mando
- get-dashboard-details - Obtener información detallada del cuadro de mando incluyendo widgets y diseños
- update-dashboard - Actualizar el diseño de un cuadro de mando existente
Gestión de la integración
- get-integration-definitions - Lista las definiciones de integración disponibles con detalles de configuración opcionales
- get-integration-instances - Obtener instancias de integración con filtrado opcional por ID de definición
- get-integration-jobs - Lista de trabajos de integración con filtrado opcional por estado, instancia o definición
- get-integration-job - Obtener detalles de un trabajo de integración específico
- get-integration-events - Obtener eventos para un trabajo de integración específico con soporte de paginación
Gestión de cuentas
- test-connection - Probar la conexión a la API de JupiterOne y obtener información de la cuenta
Ejecución de Consultas
- execute-j1ql-query - Ejecuta una consulta J1QL
Herramientas disponibles
Gestión de Reglas
Herramienta | Descripción | Parámetros |
---|---|---|
list-rules | Lista todas las reglas de la cuenta | limit (opcional): Número de reglas a devolver (1-1000) |
get-rule-details | Obtener información detallada de las reglas | ruleId : ID de la regla |
create-inline-question-rule | Crear nueva regla de pregunta en línea | Objeto complejo: name , description , notifyOnFailure (opcional), triggerActionsOnNewEntitiesOnly (opcional), ignorePreviousResults (opcional), pollingInterval , outputs , specVersion (opcional), tags (opcional), templates (opcional), queries , operations |
update-inline-question-rule | Actualizar regla existente | id , name , description , notifyOnFailure , triggerActionsOnNewEntitiesOnly , ignorePreviousResults , pollingInterval , outputs , specVersion , version , tags , templates , labels , resourceGroupId , remediationSteps , question , operations |
evaluate-rule | Activar la evaluación de reglas | ruleId : ID de la regla a evaluar |
Evaluaciones de reglas
Herramienta | Descripción | Parámetros |
---|---|---|
list-rule-evaluations | Obtener el historial de evaluación de reglas | ruleId , beginTimestamp (opcional), endTimestamp (opcional), limit (opcional), tag (opcional) |
get-rule-evaluation-details | Obtener resultados detallados de la evaluación | ruleId , marca de tiempo |
get-raw-data-download-url | Obtiene la URL de descarga de los datos brutos | rawDataKey |
get-rule-evaluation-query-results | Obtener los resultados de la consulta de evaluación | rawDataKey |
Supervisión de alertas
Herramienta | Descripción | Parámetros |
---|---|---|
get-active-alerts | Lista de alertas activas | límite (opcional): Número de alertas a devolver (1-1000) |
Gestión del panel de control
Herramienta | Descripción | Parámetros |
---|---|---|
get-tableros | Lista todos los cuadros de mando | Ninguno |
crear-tablero | Crea un nuevo cuadro de mando | nombre , tipo |
get-dashboard-details | Obtener detalles del cuadro de mando | dashboardId |
update-dashboard | Actualizar un diseño de cuadro de mando existente | dashboardId , diseños |
crear-widget-de-tablero | Crear un widget en un panel de control | dashboardId , entrada |
Gestión de la integración
Herramienta | Descripción | Parámetros |
---|---|---|
get-integration-definitions | Lista las definiciones de integración | includeConfig (opcional): Incluir campos de configuración |
get-integration-instances | Obtener instancias de integración | definitionId (opcional), limit (opcional) |
get-integration-jobs | Listar trabajos de integración | status (opcional), integrationInstanceId (opcional), integrationDefinitionId (opcional), integrationInstanceIds (opcional), size (opcional) |
obtener-trabajo-de-integración | Obtener detalles de un trabajo de integración específico | integrationJobId , integrationInstanceId |
get-integration-events | Obtener eventos de una tarea de integración específica | jobId , integrationInstanceId , cursor (opcional), tamaño (opcional) |
Gestión de cuentas
Herramienta | Descripción | Parámetros |
---|---|---|
conexión de prueba | Probar la conexión a la API de JupiterOne y obtener información de la cuenta | Ninguno |
Ejecución de la consulta
Herramienta | Descripción | Parámetros |
---|---|---|
ejecutar-consulta-j1ql | Ejecuta una consulta J1QL | query , variables (opcional), cursor (opcional), includeDeleted (opcional), deferredResponse (opcional), flags (opcional), scopeFilters (opcional) |
Despliegue
Este paquete se publica automáticamente en npm cuando los cambios se fusionan en la rama principal. El servidor JupiterOne Remote MCP está configurado para desplegarse automáticamente cuando se publican versiones de parches (por ejemplo, 0.0.8 → 0.0.9).
Nota: Las actualizaciones de versiones menores y mayores (por ejemplo, 0.0.x → 0.1.0 o 0.x.x → 1.0.0) requieren actualizaciones manuales de las dependencias del servidor MCP remoto.