About
MCP Server for Linux Scheduler Management and Auto optimization
README
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:
- autotune - AI Agent-powered automatic OS optimization
- schedcp - MCP server for scheduler management and generation
Demo
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:
Features & design
- Automatic workload profiling
- Automatic scheduler selection based on workload characteristics
- Performance tracking across different schedulers
- Real-time scheduler management and generation

The current MCP tools include:
- list_schedulers - Get detailed information about all available schedulers
- run_scheduler - Start schedulers with custom configurations
- stop_scheduler - Stop running scheduler instances
- get_execution_status - Monitor scheduler performance and output
- create_and_verify_scheduler - Create custom BPF schedulers from source code
- system_monitor - Collect real-time CPU, memory, and scheduler metrics
- workload - Manage workload profiles and execution history
Installation
Requirements
- Linux kernel 6.12+ with sched-ext support
- Rust toolchain
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.
Build
# 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 ..
Documentation
User Guides
USAGE_GUIDE.md - Complete guide on how to use schedulers
- Installation and setup
- Using schedulers with CLI, MCP server, and autotune
- Understanding scheduler selection
- Troubleshooting
PROJECT_STRUCTURE.md - Detailed project organization
- Component overview and responsibilities
- Directory structure and file locations
- Data flow and integration points
- Build system architecture
AI_AGENTS.md - AI agent implementation
- How observation, planning, execution, and learning agents work
- MCP tools and agent capabilities
- Example optimization workflows
- Integration with Claude and other AI systems
Design Documents
- sched-agent-design.md - Multi-agent framework design
- schedcp-design.md - System control plane architecture
- Research Paper: SchedCP: Towards Agentic OS
Quick Start
You should run the claude-code on project root directory.
Autotune (Recommended)
# Set sudo password
export SCHEDCP_SUDO_PASSWORD="your_password"
# Optimize any workload
./autotune/target/release/autotune cc "<your workload command>"
MCP Server
check the .mcp.json for more details. You can just open the claude-code on the
CLI Tool
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
# Monitor system metrics
./mcp/target/release/schedcp-cli monitor
For detailed usage instructions, see USAGE_GUIDE.md.
Artifact from Paper
Artifact for reproducing results from "Towards Agentic OS: An LLM Agent Framework for Linux Schedulers" (arXiv:2509.01245).
Evaluation Workloads
1. Linux Kernel Build
- Location: workloads/linux-build-bench/
- Run:
autotune/target/release/autotune cc "make -C workloads/linux-build-bench/linux -j"
2. schbench
- Location: workloads/basic/schbench_test/
- Run:
autotune/target/release/autotune cc "workloads/basic/schbench/schbench"
3. Batch Workloads
- Location: workloads/processing/
- Run: See 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.
- Workloads: workloads/processing/assets
- Prompt and testcases: workloads/processing/scripts
- Generated schedulers: workloads/processing/schedulers
Related Projects
- sched-ext - Linux kernel BPF scheduler framework
- Model Context Protocol - AI-application integration protocol
License
See LICENSE for details.
Installing Schedcp
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/eunomia-bpf/schedcpFAQ
Is Schedcp MCP free?
Yes, Schedcp MCP is free — one-click install via Unyly at no cost.
Does Schedcp need an API key?
No, Schedcp runs without API keys or environment variables.
Is Schedcp hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Schedcp in Claude Desktop, Claude Code or Cursor?
Open Schedcp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Schedcp with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
