KO

kousen/osquerymcpserver

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

15 stars 14 forks 품질 67 트렌드 25MIT

MCP wrapper and Claude Code Skill for osquery

개요

A complete implementation for integrating Osquery with AI assistants, providing three approaches: an MCP server for Claude Desktop, a Spring AI client, and a Claude Code skill for direct CLI usage. This project enables AI assistants to answer system diagnostic questions like "Why is my fan running so hot?" or "What's using all my memory?" by translating natural language into Osquery SQL queries. The stack was upgraded to the latest Spring ecosystem with GraalVM native image support: : The MCP server compiles to a ~62MB native binary that starts and responds to MCP requests in ~36ms. This is critical for the voice interface use case — when a JavaFX voice client launches the server, it needs to respond instantly. : getSystemHealthSummary() now runs all 5 diagnostic queries (CPU, memory, disk, network, temperature) in parallel using Executors.newVirtualThreadPerTaskExecutor() with CompletableFuture.supplyAsync().

README

원문 README의 일부입니다. 원문 보기.

Osquery MCP Server, Client & Skill

A complete implementation for integrating Osquery with AI assistants, providing three approaches: an MCP server for Claude Desktop, a Spring AI client, and a Claude Code skill for direct CLI usage.

Overview

This project enables AI assistants to answer system diagnostic questions like “Why is my fan running so hot?” or “What’s using all my memory?” by translating natural language into Osquery SQL queries.

Three ways to use osquery with AI:

Approach Best For How It Works
MCP Server Claude Desktop Spring Boot server communicates via MCP protocol
Spring AI Client Programmatic access CLI client using Spring AI’s MCP auto-configuration
Claude Code Skill Claude Code CLI Direct osqueryi execution via Bash, no server needed

What’s New

The stack was upgraded to the latest Spring ecosystem with GraalVM native image support:

Component Previous Current
Spring Boot 3.5.0 4.0.3
Spring AI 1.0.0 2.0.0
Java 21 25 (GraalVM CE)
Jackson 2.x (com.fasterxml) 3.x (tools.jackson)
Dependency mgmt io.spring.dependency-management plugin Gradle platform() BOMs
Native image Not supported GraalVM native binary (~36ms startup)
System health Sequential (5 queries) Parallel via virtual threads

Key Upgrade Details

GraalVM Native Image: The MCP server compiles to a ~62MB native binary that starts and responds to MCP requests in ~36ms. This is critical for the voice interface use case — when a JavaFX voice client launches the server, it needs to respond instantly.

Virtual Threads: getSystemHealthSummary() now runs all 5 diagnostic queries (CPU, memory, disk, network, temperature) in parallel using Executors.newVirtualThreadPerTaskExecutor() with CompletableFuture.supplyAsync(). This reduces response time from the sum of all queries to the duration of the slowest single query.

Jackson 3 Migration (client only): Spring Boot 4 ships Jackson 3 with new Maven coordinates (tools.jackson.core instead of com.fasterxml.jackson.core), immutable builders (JsonMapper.builder().build() instead of new ObjectMapper()), and unchecked exceptions (JacksonException instead of JsonProcessingException).

Gradle Build Changes: Spring Boot 4 drops the io.spring.dependency-management plugin. Dependencies are now managed with Gradle-native platform() BOMs. Spring AI 2.0.0 is GA on Maven Central, so no milestone repository is required.

Features

MCP Server

  • Natural Language System Diagnostics: Ask questions like “What’s using my CPU?” and get intelligent answers
  • 11 Specialized Tools for common diagnostic scenarios:
    • Execute custom Osquery SQL queries
    • Get table schemas and available columns
    • Find high CPU/memory/disk I/O usage processes
GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "osquery": { "command": "java", "args": ["-jar", "path/to/osquery-mcp-server.jar"] } } }