executeOsqueryLABSCO SUMMARY
Schema discovery is what stops the SQL from being guesswork.
Osquery has a wide table surface and a model writing queries blind will invent columns. Pairing listOsqueryTables and getTableSchema with a set of worked examples means it checks first and composes second. The native image is worth building if a voice or desktop client launches the server on demand — the JVM start is the part that makes that feel slow. Temperature and fan readings are macOS-only.
What it is
An Osquery server for system diagnostics. It runs osqueryi under the hood and adds ready-made queries for the questions people actually ask, plus schema discovery so the model can compose its own.
What you get
- Eleven tools. Core:
executeOsqueryruns any valid Osquery SQL,listOsqueryTableslists what your system exposes,getTableSchemareturns the columns and types for one table - Diagnostics:
getHighCpuProcesses,getHighMemoryProcesses,getHighDiskIOProcesses,getNetworkConnectionswith process info,getTemperatureInfofor temperatures and fan speeds on macOS, andgetSuspiciousProcesses - Helpers:
getCommonQueriesreturns worked examples for common problems so the model composes better SQL getSystemHealthSummaryruns five diagnostic queries — CPU, memory, disk, network, temperature — concurrently on virtual threads, so it costs the slowest query rather than the sum- Queries time out at 30 seconds and version checks at 5, with the process destroyed rather than left hanging
Requirements
Java 25 or newer — GraalVM CE 25 if you want the native image — and osquery installed with osqueryi on your PATH. Build with ./gradlew bootJar and run it over stdio, or ./gradlew nativeCompile for a native binary. The repository also ships a Spring AI client and a Claude Code skill that runs osqueryi directly through Bash with no server process at all.
Setup effort
Build from source — clone the repository and build it, then point your client at the binary
USE CASES
Finding out why the machine is slow
Read the top CPU and memory consumers and get an explanation rather than a table.
Seeing what is talking to the internet
List active connections with the process behind each one.
Taking one overall reading
Get CPU, memory, disk, network and temperature in a single call that runs them in parallel.
Asking something nobody wrapped
Discover the table, read its schema, and run the SQL the model composes from it.
11 tools
Listed in project docs. Your client may show a different list.
listOsqueryTablesgetTableSchemagetHighCpuProcessesgetHighMemoryProcessesgetHighDiskIOProcessesgetNetworkConnectionsgetTemperatureInfogetSuspiciousProcessesgetCommonQueriesgetSystemHealthSummaryBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- java on PATH
- Gradle Build Changes Spring Boot 4
- Spring Boot 4.0.3
- Java 25+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
java -jar <YOUR_JAR>MCP Clients
Claude Desktop
{
"mcpServers": {
"osquery": {
"command": "java",
"args": [
"-jar",
"<YOUR_JAR>"
]
}
}
}