mcpbr-cli 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,6 +19,7 @@ Benchmark your MCP server against real GitHub issues. One command, hard numbers.
|
|
|
19
19
|
**Model Context Protocol Benchmark Runner**
|
|
20
20
|
|
|
21
21
|
[](https://pypi.org/project/mcpbr/)
|
|
22
|
+
[](https://www.npmjs.com/package/mcpbr-cli)
|
|
22
23
|
[](https://www.python.org/downloads/)
|
|
23
24
|
[](https://github.com/greynewell/mcpbr/actions/workflows/ci.yml)
|
|
24
25
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -215,6 +216,8 @@ Run `mcpbr models` to see the full list.
|
|
|
215
216
|
|
|
216
217
|
### via npm
|
|
217
218
|
|
|
219
|
+
[](https://www.npmjs.com/package/mcpbr-cli)
|
|
220
|
+
|
|
218
221
|
```bash
|
|
219
222
|
# Run with npx (no installation)
|
|
220
223
|
npx mcpbr-cli run -c config.yaml
|
|
@@ -224,6 +227,8 @@ npm install -g mcpbr-cli
|
|
|
224
227
|
mcpbr run -c config.yaml
|
|
225
228
|
```
|
|
226
229
|
|
|
230
|
+
> **Package**: [`mcpbr-cli`](https://www.npmjs.com/package/mcpbr-cli) on npm
|
|
231
|
+
>
|
|
227
232
|
> **Note**: The npm package requires Python 3.11+ and the mcpbr Python package (`pip install mcpbr`)
|
|
228
233
|
|
|
229
234
|
### via pip
|
|
@@ -624,6 +629,7 @@ Run SWE-bench evaluation with the configured MCP server.
|
|
|
624
629
|
| `--smtp-port PORT` | | SMTP server port (default: 587) |
|
|
625
630
|
| `--smtp-user USER` | | SMTP username for authentication |
|
|
626
631
|
| `--smtp-password PASS` | | SMTP password for authentication |
|
|
632
|
+
| `--profile` | | Enable comprehensive performance profiling (tool latency, memory, overhead) |
|
|
627
633
|
| `--help` | `-h` | Show help message |
|
|
628
634
|
|
|
629
635
|
</details>
|
|
@@ -738,6 +744,58 @@ mcpbr cleanup -f
|
|
|
738
744
|
|
|
739
745
|
</details>
|
|
740
746
|
|
|
747
|
+
## Performance Profiling
|
|
748
|
+
|
|
749
|
+
mcpbr includes comprehensive performance profiling to understand MCP server overhead and identify optimization opportunities.
|
|
750
|
+
|
|
751
|
+
### Enable Profiling
|
|
752
|
+
|
|
753
|
+
```bash
|
|
754
|
+
# Via CLI flag
|
|
755
|
+
mcpbr run -c config.yaml --profile
|
|
756
|
+
|
|
757
|
+
# Or in config.yaml
|
|
758
|
+
enable_profiling: true
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
### What Gets Measured
|
|
762
|
+
|
|
763
|
+
- **Tool call latencies** with percentiles (p50, p95, p99)
|
|
764
|
+
- **Memory usage** (peak and average RSS/VMS)
|
|
765
|
+
- **Infrastructure overhead** (Docker and MCP server startup times)
|
|
766
|
+
- **Tool discovery speed** (time to first tool use)
|
|
767
|
+
- **Tool switching overhead** (time between tool calls)
|
|
768
|
+
- **Automated insights** from profiling data
|
|
769
|
+
|
|
770
|
+
### Example Profiling Output
|
|
771
|
+
|
|
772
|
+
```json
|
|
773
|
+
{
|
|
774
|
+
"profiling": {
|
|
775
|
+
"task_duration_seconds": 140.5,
|
|
776
|
+
"tool_call_latencies": {
|
|
777
|
+
"Read": {"count": 15, "avg_seconds": 0.8, "p95_seconds": 1.5},
|
|
778
|
+
"Bash": {"avg_seconds": 2.3, "p95_seconds": 5.1}
|
|
779
|
+
},
|
|
780
|
+
"memory_profile": {"peak_rss_mb": 512.3, "avg_rss_mb": 387.5},
|
|
781
|
+
"docker_startup_seconds": 2.1,
|
|
782
|
+
"mcp_server_startup_seconds": 1.8
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
```
|
|
786
|
+
|
|
787
|
+
### Automated Insights
|
|
788
|
+
|
|
789
|
+
The profiler automatically identifies performance issues:
|
|
790
|
+
|
|
791
|
+
```text
|
|
792
|
+
- Bash is the slowest tool (avg: 2.3s, p95: 5.1s)
|
|
793
|
+
- Docker startup adds 2.1s overhead per task
|
|
794
|
+
- Fast tool discovery: first tool use in 8.3s
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
See [docs/profiling.md](docs/profiling.md) for complete profiling documentation.
|
|
798
|
+
|
|
741
799
|
## Example Run
|
|
742
800
|
|
|
743
801
|
Here's what a typical evaluation looks like:
|