https://github.com/hungthai1401/bruno-mcp
MCP Server for running Bruno Collections
https://github.com/hungthai1401/bruno-mcp
Last synced: 18 days ago
JSON representation
MCP Server for running Bruno Collections
- Host: GitHub
- URL: https://github.com/hungthai1401/bruno-mcp
- Owner: hungthai1401
- Created: 2025-03-31T07:45:28.000Z (24 days ago)
- Default Branch: main
- Last Pushed: 2025-03-31T07:57:59.000Z (24 days ago)
- Last Synced: 2025-03-31T08:32:02.214Z (24 days ago)
- Language: JavaScript
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-servers - Bruno MCP Runner - MCP Server for running Bruno Collections (Table of Contents / Other Tools and Integrations)
README
# Bruno MCP Server
[](https://smithery.ai/server/@hungthai1401/bruno-mcp)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](https://smithery.ai/server/@hungthai1401/bruno-mcp):
```bash
npx -y @smithery/cli install @hungthai1401/bruno-mcp --client claude
```### Manual Installation
```bash
# 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`:
```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:**
```json
{
"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
```bash
# Run tests
npm test# Run tests with coverage
npm test:coverage
```### Building
```bash
# Build the project
npm run build# Clean build artifacts
npm run clean
```## License
MIT