{"id":29782060,"url":"https://github.com/jupiterone/jupiterone-mcp-server","last_synced_at":"2026-03-11T15:12:35.369Z","repository":{"id":297266425,"uuid":"988700996","full_name":"JupiterOne/jupiterone-mcp-server","owner":"JupiterOne","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-05T19:01:31.000Z","size":384,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-09T07:52:42.275Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JupiterOne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-23T00:22:14.000Z","updated_at":"2025-12-05T19:01:33.000Z","dependencies_parsed_at":"2025-06-04T22:36:11.225Z","dependency_job_id":"cb0ccc65-ec46-483c-aac3-82fa11a73875","html_url":"https://github.com/JupiterOne/jupiterone-mcp-server","commit_stats":null,"previous_names":["jupiterone/jupiterone-mcp-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JupiterOne/jupiterone-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JupiterOne%2Fjupiterone-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JupiterOne%2Fjupiterone-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JupiterOne%2Fjupiterone-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JupiterOne%2Fjupiterone-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JupiterOne","download_url":"https://codeload.github.com/JupiterOne/jupiterone-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JupiterOne%2Fjupiterone-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30385337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T14:10:17.325Z","status":"ssl_error","status_checked_at":"2026-03-11T14:09:37.934Z","response_time":84,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-27T14:11:30.481Z","updated_at":"2026-03-11T15:12:35.352Z","avatar_url":"https://github.com/JupiterOne.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JupiterOne MCP Server\n\nA Model Context Protocol (MCP) server that provides access to JupiterOne tools. This server enables AI assistants and other MCP clients to interact with JupiterOne's data.\n\n## Configuration\n\n### Prerequisites\n\n1. **JupiterOne Account**: You need an active JupiterOne account\n2. **API Key**: Generate an API key from your JupiterOne account settings\n3. **Account ID**: Your JupiterOne account identifier\n4. Working node installation with a version \u003e= 18 (See https://nodejs.org/en/download and click one of the green buttons)\n\n### Installation with Claude Desktop\n\nTo use this MCP server with Claude Desktop, you need to add it to your Claude configuration file.\n\n#### Option 1: Using npx (Recommended)\n\nAdd the following configuration to your Claude Desktop configuration file:\n\n```json\n{\n  \"mcpServers\": {\n    \"jupiterone\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@jupiterone/jupiterone-mcp\"],\n      \"env\": {\n        \"JUPITERONE_API_KEY\": \"your-api-key-here\",\n        \"JUPITERONE_ACCOUNT_ID\": \"your-account-id-here\",\n        \"JUPITERONE_BASE_URL\": \"https://graphql.us.jupiterone.io\"\n      }\n    }\n  }\n}\n```\n\n#### Option 2: Global Installation (For nvm users or troubleshooting)\n\nIf you're using nvm or experiencing issues with Option 1, first install the package globally:\n\n```bash\nnpm install -g @jupiterone/jupiterone-mcp\n```\n\nThen add this configuration to your Claude Desktop config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"jupiterone\": {\n      \"command\": \"/usr/local/bin/node\",\n      \"args\": [\"/usr/local/bin/jupiterone-mcp\"],\n      \"env\": {\n        \"JUPITERONE_API_KEY\": \"your-api-key-here\",\n        \"JUPITERONE_ACCOUNT_ID\": \"your-account-id-here\",\n        \"JUPITERONE_BASE_URL\": \"https://graphql.us.jupiterone.io\"\n      }\n    }\n  }\n}\n```\n\n**Note**: You may need to adjust the paths in Option 2 based on your Node.js installation:\n- For Homebrew Node.js: `/usr/local/bin/node` and `/usr/local/bin/jupiterone-mcp`\n- For nvm: `~/.nvm/versions/node/v[version]/bin/node` and `~/.nvm/versions/node/v[version]/bin/jupiterone-mcp`\n\n### Installation with Cursor\n\nFor Cursor IDE, add the same configuration to your Cursor settings:\n\n1. Open Cursor Settings\n2. Navigate to \"Features\" → \"Model Context Protocol\"\n3. Add the server configuration using either Option 1 or Option 2 from above\n\n### Environment Variables\n\nReplace the placeholder values with your actual JupiterOne credentials:\n\n- **JUPITERONE_API_KEY**: Your JupiterOne API key (required)\n- **JUPITERONE_ACCOUNT_ID**: Your JupiterOne account ID (required).\n- **JUPITERONE_BASE_URL**: JupiterOne GraphQL endpoint (optional, defaults to `https://graphql.us.jupiterone.io`)\n\n### Getting Your JupiterOne Credentials\n\n1. **API Key**:\n   - Log into your JupiterOne account\n   - Go to Settings → API Keys\n   - Create a new API key or use an existing one\n\n2. **Account ID**:\n   -  This can be retrieved by either of the following:\n    - Navigating to `https://j1dev.apps.us.jupiterone.io/settings/account-management`\n    - Run the following query in your JupiterOne account: `find jupiterone_account as x return x.accountId`\n\n## Features\n\n### Rules Management\n- **list-rules** - List all rules with optional limit parameter\n- **get-rule-details** - Get detailed information about a specific rule by ID\n- **create-inline-question-rule** - Create new inline question-based rules with operations and actions\n- **update-inline-question-rule** - Update existing inline question rule instances\n- **evaluate-rule** - Trigger on-demand evaluation of a specific rule\n\n### Rule Evaluations\n- **list-rule-evaluations** - Get historical evaluation data for a rule with optional time filtering\n- **get-rule-evaluation-details** - Get detailed evaluation information including query, condition, and action results\n- **get-raw-data-download-url** - Get download URL for raw evaluation data\n- **get-rule-evaluation-query-results** - Get the actual query results from a rule evaluation\n\n### Alert Monitoring\n- **get-active-alerts** - Get all currently active alerts with optional limit parameter\n\n### Dashboard Management\n- **get-dashboards** - List all dashboards in your account\n- **create-dashboard** - Create new dashboards\n- **get-dashboard-details** - Get detailed dashboard information including widgets and layouts\n- **update-dashboard** - Update an existing dashboard layout\n\n### Integration Management\n- **get-integration-definitions** - List available integration definitions with optional configuration details\n- **get-integration-instances** - Get integration instances with optional filtering by definition ID\n- **get-integration-jobs** - List integration jobs with optional filtering by status, instance, or definition\n- **get-integration-job** - Get details for a specific integration job\n- **get-integration-events** - Get events for a specific integration job with pagination support\n\n### Account Management\n- **test-connection** - Test connection to JupiterOne API and get account information\n\n### Query Execution\n- **execute-j1ql-query** - Execute a J1QL query\n\n## Available Tools\n\n### Rules Management\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `list-rules` | List all rules in the account | `limit` (optional): Number of rules to return (1-1000) |\n| `get-rule-details` | Get detailed rule information | `ruleId`: ID of the rule |\n| `create-inline-question-rule` | Create new inline question rule | Complex object: `name`, `description`, `notifyOnFailure` (optional), `triggerActionsOnNewEntitiesOnly` (optional), `ignorePreviousResults` (optional), `pollingInterval`, `outputs`, `specVersion` (optional), `tags` (optional), `templates` (optional), `queries`, `operations` |\n| `update-inline-question-rule` | Update existing rule | `id`, `name`, `description`, `notifyOnFailure`, `triggerActionsOnNewEntitiesOnly`, `ignorePreviousResults`, `pollingInterval`, `outputs`, `specVersion`, `version`, `tags`, `templates`, `labels`, `resourceGroupId`, `remediationSteps`, `question`, `operations` |\n| `evaluate-rule` | Trigger rule evaluation | `ruleId`: ID of the rule to evaluate |\n\n### Rule Evaluations\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `list-rule-evaluations` | Get rule evaluation history | `ruleId`, `beginTimestamp` (optional), `endTimestamp` (optional), `limit` (optional), `tag` (optional) |\n| `get-rule-evaluation-details` | Get detailed evaluation results | `ruleId`, `timestamp` |\n| `get-raw-data-download-url` | Get download URL for raw data | `rawDataKey` |\n| `get-rule-evaluation-query-results` | Get query results from evaluation | `rawDataKey` |\n\n### Alert Monitoring\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `get-active-alerts` | List active alerts | `limit` (optional): Number of alerts to return (1-1000) |\n\n### Dashboard Management\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `get-dashboards` | List all dashboards | None |\n| `create-dashboard` | Create new dashboard | `name`, `type` |\n| `get-dashboard-details` | Get dashboard details | `dashboardId` |\n| `update-dashboard` | Update an existing dashboard layout | `dashboardId`, `layouts` |\n| `create-dashboard-widget` | Create a widget on a dashboard | `dashboardId`, `input` |\n\n### Integration Management\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `get-integration-definitions` | List integration definitions | `includeConfig` (optional): Include configuration fields |\n| `get-integration-instances` | Get integration instances | `definitionId` (optional), `limit` (optional) |\n| `get-integration-jobs` | List integration jobs | `status` (optional), `integrationInstanceId` (optional), `integrationDefinitionId` (optional), `integrationInstanceIds` (optional), `size` (optional) |\n| `get-integration-job` | Get details for a specific integration job | `integrationJobId`, `integrationInstanceId` |\n| `get-integration-events` | Get events for a specific integration job | `jobId`, `integrationInstanceId`, `cursor` (optional), `size` (optional) |\n\n### Account Management\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `test-connection` | Test connection to JupiterOne API and get account information | None |\n\n### Query Execution\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `execute-j1ql-query` | Execute a J1QL query | `query`, `variables` (optional), `cursor` (optional), `includeDeleted` (optional), `deferredResponse` (optional), `flags` (optional), `scopeFilters` (optional) |\n\n## Deployment\n\nThis package is automatically published to npm when changes are merged to the main branch. The JupiterOne Remote MCP server is configured to automatically deploy when patch versions (e.g., 0.0.8 → 0.0.9) are published.\n\n**Note**: Minor and major version updates (e.g., 0.0.x → 0.1.0 or 0.x.x → 1.0.0) require manual updates to the Remote MCP server's dependencies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupiterone%2Fjupiterone-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjupiterone%2Fjupiterone-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupiterone%2Fjupiterone-mcp-server/lists"}