Benchmark runner MCP server wrapping hyperfine with SQLite result history.
Status: 🚧 Work in progress
benchpilot runs command benchmarks via hyperfine, stores every result in a local SQLite database, and exposes tools for running, comparing, and reviewing historical benchmark data.
Requires: hyperfine on PATH.
| Tool | Description |
|---|---|
bench |
Benchmark a shell command and store the result |
compare |
Run two or more commands head-to-head and report the winner |
history |
Retrieve past benchmark results from the database |
Requires: Python 3.12+, uv
Note:
hyperfinemust be installed and available on yourPATH.
uv tool install git+https://github.com/ossirytk/benchpilotVerify:
benchpilot --helpTo update later:
uv tool upgrade benchpilotgit clone https://github.com/ossirytk/benchpilot
cd benchpilot
uv syncAdd to ~/.copilot/mcp-config.json:
Option A (installed tool):
{
"mcpServers": {
"benchpilot": {
"type": "stdio",
"command": "benchpilot"
}
}
}Option B (local clone):
{
"mcpServers": {
"benchpilot": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/benchpilot", "benchpilot"]
}
}
}Add to your user-level MCP config file:
- Linux:
~/.config/Code/User/mcp.json - macOS:
~/Library/Application Support/Code/User/mcp.json - Windows:
%APPDATA%\Code\User\mcp.json
Option A:
{
"servers": {
"benchpilot": {
"type": "stdio",
"command": "benchpilot"
}
}
}Option B:
{
"servers": {
"benchpilot": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/benchpilot", "benchpilot"]
}
}
}# Install dependencies
uv sync
# Run the server
uv run benchpilot
# Lint
uv run ruff check .
# Format
uv run ruff format .
# Run tests
uv run pytest