JSPM

bruno-mcp

0.1.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 16
    • Score
      100M100P100Q47925F
    • License MIT

    MCP Server for running Bruno Collections

    Package Exports

    • bruno-mcp
    • bruno-mcp/build/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bruno-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Bruno MCP Server

    smithery badge

    An MCP (Model Context Protocol) server that enables running Bruno collections. This server allows LLMs to execute API tests using Bruno and get detailed results through a standardized interface.

    Features

    • Run Bruno collections using the Bruno CLI
    • Support for environment files
    • Support for environment variables
    • Detailed test results including:
      • Overall success/failure status
      • Test summary (total, passed, failed)
      • Detailed failure information
      • Execution timings

    Installation

    Installing via Smithery

    To install Bruno MCP Server for Claude Desktop automatically via Smithery:

    npx -y @smithery/cli install @hungthai1401/bruno-mcp --client claude

    Manual Installation

    # Install dependencies
    npm install
    
    # Build the project
    npm run build

    Configuration

    Add the server to your Claude desktop configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json:

    {
      "mcpServers": {
        "bruno-runner": {
          "command": "node",
          "args": ["/absolute/path/to/bruno-mcp/build/index.js"]
        }
      }
    }

    Available Tools

    run-collection

    Runs a Bruno collection and returns the test results.

    Parameters:

    • collection (required): Path to the Bruno collection
    • environment (optional): Path to environment file
    • variables (optional): Environment variables as key-value pairs

    Example Response:

    {
      "success": true,
      "summary": {
        "total": 5,
        "failed": 0,
        "passed": 5
      },
      "failures": [],
      "timings": {
        "started": "2024-03-14T10:00:00.000Z",
        "completed": "2024-03-14T10:00:01.000Z",
        "duration": 1000
      }
    }

    Example Usage in Claude

    You can use the server in Claude by asking it to run a Bruno collection:

    "Run the Bruno collection at /path/to/collection.bru and tell me if all tests passed"

    Claude will:

    1. Use the run-collection tool
    2. Analyze the test results
    3. Provide a human-friendly summary of the execution

    Development

    Project Structure

    src/
      ├── index.ts           # Entry point
      ├── server.ts          # MCP Server implementation
      ├── runner.ts          # Bruno runner implementation
      └── types.ts           # Type definitions

    Running Tests

    # Run tests
    npm test
    
    # Run tests with coverage
    npm test:coverage

    Building

    # Build the project
    npm run build
    
    # Clean build artifacts
    npm run clean

    License

    MIT