Bruno MCP
Бруно MCP Сервер
Сервер MCP (Model Context Protocol), который позволяет запускать коллекции Bruno. Этот сервер позволяет LLM выполнять тесты API с использованием Bruno и получать подробные результаты через стандартизированный интерфейс.
Функции
Запуск коллекций Bruno с помощью Bruno CLI
Поддержка файлов окружения
Поддержка переменных среды
Подробные результаты испытаний, включая:
Общий статус успеха/неудачи
Итоги теста (всего, сдано, не сдано)
Подробная информация об отказе
Сроки выполнения
Related MCP server: bruno-mcp
Установка
Установка через Smithery
Чтобы автоматически установить Bruno MCP Server для Claude Desktop через Smithery :
npx -y @smithery/cli install @hungthai1401/bruno-mcp --client claudeРучная установка
# Install dependencies
npm install
# Build the project
npm run buildКонфигурация
Добавьте сервер в файл конфигурации рабочего стола Claude по адресу ~/Library/Application Support/Claude/claude_desktop_config.json :
{
"mcpServers": {
"bruno-runner": {
"command": "npx",
"args": ["-y", "bruno-mcp"],
}
}
}Доступные инструменты
запуск-коллекция
Запускает сбор данных Бруно и возвращает результаты теста.
Параметры:
collection(обязательно): Путь к коллекции Бруноenvironment(необязательно): Путь к файлу средыvariables(необязательно): переменные среды как пары ключ-значение
Пример ответа:
{
"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
}
}Пример использования в Клоде
Вы можете использовать сервер в Claude, попросив его запустить коллекцию Bruno:
«Запустите коллекцию Бруно по адресу /path/to/collection.bru и сообщите мне, все ли тесты пройдены»
Клод будет:
Используйте инструмент для сбора данных
Проанализируйте результаты теста
Предоставьте понятное резюме выполнения
Разработка
Структура проекта
src/
├── index.ts # Entry point
├── server.ts # MCP Server implementation
├── runner.ts # Bruno runner implementation
└── types.ts # Type definitionsПроведение тестов
# Run tests
npm test
# Run tests with coverage
npm test:coverageЗдание
# Build the project
npm run build
# Clean build artifacts
npm run cleanЛицензия
Массачусетский технологический институт
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 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Run' which implies execution, but fails to describe critical behaviors like whether it's read-only/destructive, requires specific permissions, has side effects (e.g., file changes), or handles errors. This leaves significant gaps for an execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded, clearly stating the core action without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of running a collection (an execution tool with potential side effects), no annotations, and no output schema, the description is incomplete. It lacks details on behavior, output format, error handling, or dependencies, making it inadequate for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters (collection path, optional environment file, optional variables). The description adds no additional meaning beyond what the schema provides, such as format examples or usage context, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Run') and resource ('a Bruno Collection using Bruno CLI'), making the purpose understandable. However, it doesn't differentiate from siblings since there are none, so it can't achieve the full 5 points for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, such as prerequisites (e.g., Bruno CLI installation), alternatives, or specific contexts. It only states what the tool does without usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol (MCP) server that enables programmatic creation and management of Bruno API testing collections, environments, and requests through standardized MCP tools.161 npm35MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that executes requests from Bruno API collections via the Bruno CLI tool, enabling API request execution and collection management.30 PyPI4MIT
- AlicenseAqualityBmaintenanceRead-only MCP server for indexing and searching Bruno API collections. Enables endpoint discovery and contract retrieval without executing requests.828 npmMIT
- AlicenseNot gradedqualityCmaintenanceA 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