SchedCP
STDIOMCP server for intelligent Linux kernel scheduler management through sched-ext framework
MCP server for intelligent Linux kernel scheduler management through sched-ext framework
WIP: We are building a benchmark for evaluating the optimizations for OS!
SchedCP is an experimental project that enables AI optimization of Linux kernel schedulers using the sched-ext framework. It provides e2e automatic scheduler selection/synthesis, workload profiling, and performance optimization without any human intervention or guidance.
Paper: SchedCP: Towards Agentic OS
The future is not just about letting AI write code for you; the AI agent should act as your system administrator, able to optimize anything for you automatically, without requiring any manual intervention!
It includes the following tools:
Start optimize any workload with AI by simply run:
autotune/target/release/autotune cc "<your workload command>" # example for linux build autotune/target/release/autotune cc "make -C workloads/linux-build-bench/linux clean -j && make -C workloads/linux-build-bench/linux -j" # example for schbench autotune/target/release/autotune cc workloads/basic/schbench/schbench
Allow LLM Agent to auto select and config the best scheduler:

Allow LLM Agents to write new schedulers:

The current MCP tools include:
The major dependencies are the dependencies for the sched-ext framework. You can check the github.com/sched-ext/scx for more details.
You also need to install the deps for the workloads you want to optimize.
# Clone with submodules git clone https://github.com/eunomia-bpf/schedcp cd schedcp git submodule update --init --recursive scheduler/scx # Build schedulers cd scheduler && make && make install && cd .. # Build autotune cd autotune && cargo build --release && cd .. # Build MCP server cd mcp && cargo build --release && cd ..
You should run the claude-code on project root directory.
# Set sudo password export SCHEDCP_SUDO_PASSWORD="your_password" # Optimize any workload ./autotune/target/release/autotune cc "<your workload command>"
check the .mcp.json for more details. You can just open the claude-code on the
export SCHEDCP_SUDO_PASSWORD="your_password" # List schedulers ./mcp/target/release/schedcp-cli list # Run a scheduler ./mcp/target/release/schedcp-cli run scx_rusty --sudo # Check status ./mcp/target/release/schedcp-cli status
Artifact for reproducing results from "Towards Agentic OS: An LLM Agent Framework for Linux Schedulers" (arXiv:2509.01245).
workloads/linux-build-bench/autotune/target/release/autotune cc "make -C workloads/linux-build-bench/linux -j"workloads/basic/schbench_test/autotune/target/release/autotune cc "workloads/basic/schbench/schbench"workloads/processing/workloads/processing/README.md. The schedulers there are already generated by Claude Code. The original version was letting Claude Code generate them first and run the workloads with benchmarks mannually.
See LICENSE for details.