schedcp
MCP Server for Linux Scheduler Management and Auto optimization
claude mcp add --transport stdio eunomia-bpf-schedcp bash -lc ./mcp/target/release/schedcp \ --env SCHEDCP_SUDO_PASSWORD="sudo password if required for privileged operations"
How to use
SchedCP provides an MCP server that enables AI-assisted optimization of Linux scheduler behavior via the sched-ext framework. The server exposes a set of MCP tools for managing schedulers, profiling workloads, and measuring performance across different scheduling strategies. Typical tools include listing available schedulers, starting a scheduler with custom configuration, stopping running schedulers, monitoring execution status and system metrics, and creating or verifying custom BPF schedulers. You can interact with the server using the built MCP CLI (schedcp-cli) to list, run, monitor, and manage schedulers. The goal is to let an AI agent select and synthesize appropriate schedulers for a given workload and track performance in real time.
To use the MCP server, start it (the binary is produced in the mcp crate) and then interact with the CLI shipped alongside the project. Example commands include listing schedulers, running a chosen scheduler with elevated privileges when needed, and monitoring system metrics during workload execution. The included workload workflows and autotune integration enable end-to-end optimization where workloads are profiled, scheduler options are evaluated, and the best-performing scheduler is deployed and observed for ongoing performance data.
How to install
Prerequisites:
- Linux kernel 6.12+ with sched-ext support
- Rust toolchain (stable recommended)
- Git
Installation steps:
-
Clone the repository and fetch submodules git clone https://github.com/eunomia-bpf/schedcp cd schedcp git submodule update --init --recursive scheduler/scx
-
Build dependencies and components
Build schedulers
cd scheduler && make && make install && cd ..
Build autotune (optional for autotuning workflows)
cd autotune && cargo build --release && cd ..
Build MCP server (schedcp)
cd mcp && cargo build --release && cd ..
-
Run the MCP server
- Ensure prerequisites are running (as needed by your environment)
- Start the MCP server binary produced in the mcp crate ./mcp/target/release/schedcp
-
Optional: use MCP CLI to interact with the server ./mcp/target/release/schedcp-cli list ./mcp/target/release/schedcp-cli run <scheduler-name> --sudo ./mcp/target/release/schedcp-cli monitor
Additional notes
Tips and notes:
- The environment often requires a sudo password for privileged operations; you can set SCHEDCP_SUDO_PASSWORD in your environment to streamline prompts.
- The sched-ext framework and its workloads have separate dependencies; ensure you’ve pulled submodules and built the scheduler components before starting the MCP server.
- The README references a .mcp.json for details; check the repository for MCP configuration examples and integration guidance.
- If you encounter kernel or BPF compilation issues, verify kernel headers and BPF tooling are installed on your system.
- For workload optimization, you can use autotune to automatically profile workloads and generate scheduler configurations, feeding results into the MCP server workflow.
Related MCP Servers
Wax
Sub-Millisecond RAG on Apple Silicon. No Server. No API. One File. Pure Swift
paiml -agent-toolkit
Pragmatic AI Labs MCP Agent Toolkit - An MCP Server designed to make code with agents more deterministic
furi
CLI & API for MCP management
tuisic
First of its kind, A simple TUI online music streaming application written in c++ with easy vim motions, now with support for Model Context Protocol (MCP)
seekcode
A clean and efficient code snippet and clipboard management tool designed for developers
neurondb
PostgreSQL extension for vector search, embeddings, and ML, plus NeuronAgent runtime and NeuronMCP server.