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://dlswqa-nas: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://dlswqa-nas:12345/"
      }
    }
  }
}

Environment Setup

Make sure to set the CBT_SERVER_URL environment variable:

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

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.1.0.tar.gz (4.2 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.1.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cbt_query-0.1.0.tar.gz
  • Upload date:
  • Size: 4.2 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.1.0.tar.gz
Algorithm Hash digest
SHA256 a1047b9447599c8ba17660286aaa7382b81697b9c9f5a95aa169a693aa53a21f
MD5 5c843ea2bf98937c14c11804826eb304
BLAKE2b-256 e4bdf44646481eacf5e884ad098d67c585d949c0232a070e79e2459686ba6fd1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cbt_query-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb7ddc21d7ab3bc8551de11546ed45d70bb5380e972bb6a539bcfe164e4ba771
MD5 c7b9531b35141875f59b43363c264e01
BLAKE2b-256 c7d82e6073f7a45f89869a9fd3652c7dc79725f858cd096b95c4895efc1858cc

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