Skip to main content

CBT Query MCP Server with cross-platform support

Project description

CBT Query MCP Server

A simple Model Context Protocol (MCP) server for querying TensorRT test coverage and case mapping data.

Features

  • Query all test cases and files
  • Get coverage mapping by case name
  • Query cases by files and/or functions
  • Simple HTTP client with proper error handling
  • Minimal logging and clean code structure

Installation

Prerequisites

  • Python 3.10 or later
  • pip package manager

Option 1: Using Installation Scripts

Windows

# Run the Windows installation script
install.bat

Unix/Linux/macOS

# Run the Unix installation script
chmod +x install.sh
./install.sh

Option 2: Manual Installation

Windows

# Create and activate virtual environment
python -m venv venv
venv\Scripts\activate.bat

# Install the package
pip install -e .

Unix/Linux/macOS

# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate

# Install the package
pip install -e .

Option 3: Using uv (if available)

# Initialize with uv
uv init
cd cbt-query

# Create virtual environment and activate it
uv venv
source .venv/bin/activate  # Unix
# or
.venv\Scripts\activate.bat  # Windows

# Install dependencies
uv add "mcp[cli]" httpx requests

Usage

Running the Server

After installation, you can run the server in several ways:

Method 1: Using the installed command

# Activate virtual environment first
source venv/bin/activate  # Unix
# or
venv\Scripts\activate.bat  # Windows

# Run the server
cbt-query

Method 2: Using Python module

python -m cbt_query

Method 3: Direct execution

python main.py

Configuration for Cursor

Add the following configuration to your ~/.cursor/mcp.json file:

Windows

export CBT_SERVER_URL="http://your_server_name:12345/"

{
    "mcpServers": {
        "cbt_query": {
            "command": "python",
            "args": [
                "-m", "cbt_query"
            ],
            "cwd": "C:\\path\\to\\your\\cbt-query\\installation"
        }
    }
}

Unix/Linux/macOS

{
    "mcpServers": {
        "cbt_query": {
            "command": "python3",
            "args": [
                "-m", "cbt_query"
            ],
            "cwd": "/path/to/your/cbt-query/installation"
        }
    }
}

Alternative configuration using uv

{
    "mcpServers": {
        "cbt_query": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/your/cbt-query",
                "run",
                "python",
                "-m", "cbt_query"
            ]
        }
    }
}

Available Tools

The MCP server provides the following tools:

  • query_all_cases: Get all test cases from the server
  • query_all_files: Get all files from the server
  • query_by_case: Get coverage mapping by case name
  • query: Query cases by files and/or functions

API Examples

# Get all cases
await query_all_cases()

# Get all files
await query_all_files()

# Get coverage by case
await query_by_case("test_case_name")

# Query by file
await query(file_name="example.cpp")

# Query by function
await query(funcs="example_function")

# Query by file and function
await query(file_name="example.cpp", funcs="example_function")

Development

uv init new_project cd new_project

Create virtual environment and activate it

uv venv source .venv/bin/activate

Install dependencies

uv add "mcp[cli]" httpx requests pip

cursor setup

# ~/.cursor/mcp.json
{
  "mcpServers": {
    "trt_query": {
      "command": "python",
      "args": [
        "-m",
        "cbt_query"
      ],
      "env": {
        "CBT_SERVER_URL": "http://your_server_name:12345/"
      }
    }
  }
}

Environment Setup

Make sure to set the CBT_SERVER_URL environment variable:

export CBT_SERVER_URL="http://your-server:12345"

Debug Mode

To enable debug mode with detailed logging, set the CBT_DEBUG environment variable:

export CBT_DEBUG=1
# or
export CBT_DEBUG=true

Troubleshooting

Common Issues

  1. CBT_SERVER_URL not set: Make sure the environment variable is set
  2. Import errors: Verify all dependencies are installed in the active environment
  3. Connection errors: Check that the CBT server is running and accessible

Logging

The server logs to stderr with INFO level by default.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cbt_query-0.3.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cbt_query-0.3.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file cbt_query-0.3.0.tar.gz.

File metadata

  • Download URL: cbt_query-0.3.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.2

File hashes

Hashes for cbt_query-0.3.0.tar.gz
Algorithm Hash digest
SHA256 5b27b6c5333b8e0adaff190ae16e4ef08a4e27c79cf90cf774eb3d9dfff40da8
MD5 edb931facbb2b70af478700438a32ddc
BLAKE2b-256 18195f8b407d5a8073a5c7947cd2f5eaaab8423ea699b093fa82964818742194

See more details on using hashes here.

File details

Details for the file cbt_query-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: cbt_query-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.2

File hashes

Hashes for cbt_query-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 54df95c7102af09de86cbc6b2af468f695ecd7e719456cfebb322c21108cf4e4
MD5 944a610667773882d4d25e3b9076adfc
BLAKE2b-256 1d8e34a6ff412252f5d5f63f0b907b5817d5c941caef157afce17e8a7a31abac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page