[PATCH 00/23] rteval: Add MCP server for result analysis

John Kacur <[email protected]>
Newsgroups org.kernel.vger.linux-rt-users
Message-ID <[email protected]>
This patch series adds an MCP (Model Context Protocol) server for querying
and analyzing rteval test results. The server enables AI assistants and other
MCP clients to programmatically access rteval data for multi-run analysis,
regression detection, and performance trend analysis.

The MCP server provides tools to:
- List and parse rteval XML result files
- Compare multiple test runs side-by-side
- Filter results by kernel version, date range, and latency thresholds
- Extract histogram data and calculate latency percentiles
- Analyze per-CPU latency statistics to identify problematic cores
- Access log files with grep/head/tail filtering
- Compare results against baselines and detect regressions

Target users:
- System administrators running rteval for real-time kernel validation
- QE engineers performing performance regression testing
- CI/CD pipelines requiring automated rteval result analysis
- Developers analyzing system behavior under load

Key features:
- Standards-based MCP protocol implementation
- Comprehensive test suite with integration tests
- Support for both cyclictest and timerlat histogram formats
- Handles overflow buckets and varying histogram sizes
- GPL-2.0-or-later licensed

Dependencies:
- python3-mcp (Fedora package available)
- python3-lxml (standard XML parsing)

Testing:
All tests pass via 'make test' in rteval_mcp/ directory. The server has
been tested with Claude Code as an MCP client.

Installation:
The server can be run from git checkout (./rteval_mcp/rteval-mcp-server)
or installed system-wide. An example MCP configuration file is provided
in mcp.json.example for packagers.

John Kacur (23):
  rteval: Add prototype MCP server for result analysis
  rteval: Implement compare_results functionality in MCP server
  rteval: Add log file access tools to MCP server
  rteval: mcp-server: Add Claude Code plugin configuration
  rteval: Add .mcp.json for project-level MCP server configuration
  rteval: mcp-server: Add rtla command line parser
  rteval: mcp-server: Add batch analysis tool
  rteval: mcp-server: Add query and filter capabilities
  rteval MCP: Add histogram extraction and percentile analysis
  rteval MCP: Reorganize tests into tests/ subdirectory
  rteval MCP: Fix test_new_tools.py to find rteval result files
  rteval MCP: Fix glob patterns to find rteval result files
  rteval MCP: Add integration tests and remove hardcoded examples
  rteval MCP: Add per-CPU latency statistics breakdown
  mcp-server: Add overflow bucket support and cyclictest compatibility
  mcp-server: Make tests generic and add Makefile integration
  mcp-server: Add load information extraction and filtering
  mcp-server: Rename server from rteval to rteval-mcp
  mcp-server: Add GPL-2.0-or-later license headers to all files
  mcp-server: Add Makefile for running tests
  mcp-server: Add demo guide with example queries
  mcp-server: Restructure as Python package with dynamic paths
  mcp-server: Use relative path in .mcp.json and add example for
    installation

 .mcp.json                                |    7 +
 Makefile                                 |   10 +-
 mcp.json.example                         |   11 +
 rteval_mcp/.claude-plugin/plugin.json    |   18 +
 rteval_mcp/DEMO.md                       |  462 +++++
 rteval_mcp/DEPENDENCIES.md               |   33 +
 rteval_mcp/Makefile                      |   51 +
 rteval_mcp/README.md                     |  490 ++++++
 rteval_mcp/__init__.py                   |   13 +
 rteval_mcp/__main__.py                   |   33 +
 rteval_mcp/manifest.json                 |   18 +
 rteval_mcp/rteval-mcp-server             |   21 +
 rteval_mcp/rteval_server.py              | 2019 ++++++++++++++++++++++
 rteval_mcp/tests/test_histogram.py       |   82 +
 rteval_mcp/tests/test_mcp_integration.py |  220 +++
 rteval_mcp/tests/test_new_tools.py       |  142 ++
 rteval_mcp/tests/test_per_cpu_stats.py   |  134 ++
 17 files changed, 3763 insertions(+), 1 deletion(-)
 create mode 100644 .mcp.json
 create mode 100644 mcp.json.example
 create mode 100644 rteval_mcp/.claude-plugin/plugin.json
 create mode 100644 rteval_mcp/DEMO.md
 create mode 100644 rteval_mcp/DEPENDENCIES.md
 create mode 100644 rteval_mcp/Makefile
 create mode 100644 rteval_mcp/README.md
 create mode 100644 rteval_mcp/__init__.py
 create mode 100644 rteval_mcp/__main__.py
 create mode 100644 rteval_mcp/manifest.json
 create mode 100755 rteval_mcp/rteval-mcp-server
 create mode 100755 rteval_mcp/rteval_server.py
 create mode 100644 rteval_mcp/tests/test_histogram.py
 create mode 100644 rteval_mcp/tests/test_mcp_integration.py
 create mode 100644 rteval_mcp/tests/test_new_tools.py
 create mode 100644 rteval_mcp/tests/test_per_cpu_stats.py

-- 
2.55.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.