Bruno MCP server
A Bruno MCP server that runs your Bruno API collections through the Bruno CLI and returns the test results to an agent.
This Bruno MCP server lets an AI agent execute API tests defined in Bruno, the open-source, Git-friendly API client whose requests live as plain .bru files in your repository. The server wraps the Bruno CLI and exposes a single run-collection tool: the agent points it at a Bruno collection on disk, optionally supplies an environment file and a set of override variables, and gets back the structured run results — which requests ran, their assertions, and pass or fail status. Because Bruno collections are stored as files alongside your code, this fits naturally into a coding agent's loop: after changing an endpoint, the agent can run the matching collection and confirm the contract still holds without opening the Bruno desktop app or a separate test runner.
It runs locally over stdio via npx (published on npm as bruno-mcp) and shells out to the Bruno CLI, so it needs Bruno and Node available on the machine. It takes no API key of its own; any credentials your requests need are supplied through the Bruno environment file or the variables you pass at call time, keeping secrets in your existing Bruno configuration rather than in the MCP config.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"bruno": {
"command": "npx",
"args": [
"-y",
"bruno-mcp"
]
}
}
}claude mcp add bruno -- npx -y bruno-mcpAvailable tools
| Tool | Description |
|---|---|
| run-collection | Runs a Bruno collection using the Bruno CLI and returns the test results, with optional environment file and override variables. |
What you can do with it
Verify an API contract after a change
After the agent edits an endpoint, it runs the matching Bruno collection and reads the assertion results, confirming the contract still holds before opening a PR.
Run a smoke suite against an environment
Ask the agent to run a collection against a specific environment file with overridden variables, then summarize which requests passed or failed.
FAQ
- Is it free?
- Yes. The server is free and open source under the MIT license and published on npm as bruno-mcp; Bruno itself is also open source.
- Does it support remote/OAuth?
- No. It runs locally over stdio via npx and shells out to the Bruno CLI on your machine. There is no hosted remote endpoint or OAuth flow.
- What does it need installed?
- Node.js and the Bruno CLI, plus your Bruno collection files (.bru) on disk. The server itself takes no API key; request credentials come from your Bruno environment file or the variables you pass at call time.
- Is this an official Bruno project?
- No. It is a community-maintained server, not published by the Bruno team. It wraps the official Bruno CLI to expose collection runs over MCP.