Back to MCP Servers

Bruno

A MCP server for interacting with [Bruno API Client](https://www.usebruno.com/).

developer-toolsapi
By hungthai1401
4510Updated 10 months agoJavaScript

Installation

npx -y bruno-mcp

Configuration

{
  "mcpServers": {
    "bruno-mcp": {
      "command": "npx",
      "args": ["-y", "bruno-mcp"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

MseeP.ai Security Assessment Badge

Bruno MCP Server

<a href="https://glama.ai/mcp/servers/@hungthai1401/bruno-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@hungthai1401/bruno-mcp/badge" alt="Bruno MCP server" /> </a>

Trust Score 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": "npx",
      "args": ["-y", "bruno-mcp"],
    }
  }
}

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

View source on GitHub