Bruno MCP
Bruno MCP lets an LLM run Bruno API test collections and receive structured results.
Run a Bruno collection via the Bruno CLI by providing its path.
Optionally specify an environment file and environment variables.
Get overall success/failure, test summary totals, detailed failure information, and execution timings.
Use the results in Claude to analyze and summarize whether API tests passed.
Enables running Bruno API test collections, with support for environment files and variables, providing detailed test results including success/failure status, test summaries, and execution timings.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bruno MCPrun the API tests in my authentication collection and show me which ones failed"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bruno 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
Related MCP server: bruno-mcp
Installation
Installing via Smithery
To install Bruno MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @hungthai1401/bruno-mcp --client claudeManual Installation
# Install dependencies
npm install
# Build the project
npm run buildConfiguration
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 definitionsRunning Tests
# Run tests
npm test
# Run tests with coverage
npm test:coverageBuilding
# Build the project
npm run build
# Clean build artifacts
npm run cleanLicense
MIT
Available Tools
1 toolrun-collectionC
Run a Bruno Collection using Bruno CLI
| Name | Required | Description | Default |
|---|---|---|---|
| collection | Yes | Path to the Bruno collection | |
| environment | No | Optional path to environment file | |
| variables | No | Optional environment variables |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
run-collection
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool 'run-collection' has a single, clearly defined purpose that cannot be misselected against other tools.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'run-collection' follows a verb-noun pattern, and there are no other tools to compare it against for inconsistency.
A single tool is generally too few for most server purposes, as it limits functionality and may indicate an incomplete or overly narrow scope. While it could be appropriate for a very specific task, it often feels thin and lacks the breadth needed for typical agent workflows.
With only one tool, the surface is severely incomplete. There are obvious gaps, such as the inability to create, list, update, or delete collections, which are typical operations in a collection management domain. This will likely cause agent failures when trying to perform basic tasks beyond running a collection.
Maintenance
Related MCP Connectors
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
MCP server to assist with JxBrowser development.
The official MCP Server for the Mux API
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol (MCP) server that enables programmatic creation and management of Bruno API testing collections, environments, and requests through standardized MCP tools.183 npm35MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that executes requests from Bruno API collections via the Bruno CLI tool, enabling API request execution and collection management.4MIT
- AlicenseAqualityDmaintenanceRead-only MCP server for indexing and searching Bruno API collections. Enables endpoint discovery and contract retrieval without executing requests.811 npmMIT
- AlicenseNot gradedqualityDmaintenanceA headless MCP server for Bruno workspaces, enabling CRUD operations on collections, folders, requests, environments, and dotenv files, plus request execution with scripting, tests, and assertions over HTTP, GraphQL, gRPC, and WebSocket.MIT