About Bruno MCP Server
Bruno MCP Server runs Bruno collections and returns their test results. It lets LLMs execute API tests through a standard interface and receive detailed execution reports.
Key features
- 01Runs Bruno collections via the Bruno CLI
- 02Supports environment files and variables
- 03Reports overall status and test summary
- 04Includes failure details and execution timings
Use cases
- 01Having an LLM run API tests and summarize the outcome
- 02Checking whether every test in a Bruno collection passes
MCP support
This project is an MCP server that exposes the run-collection tool to MCP clients, returning structured test results.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEBruno MCP Server
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 collectionenvironment(optional): Path to environment filevariables(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:
- Use the run-collection tool
- Analyze the test results
- 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
