@greynewell/mcpbr 0.3.21 → 0.3.23

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.
Files changed (3) hide show
  1. package/README.md +39 -0
  2. package/package.json +2 -3
  3. package/NPM.md +0 -176
package/README.md CHANGED
@@ -402,6 +402,45 @@ mcp_server:
402
402
  SUPERMODEL_API_KEY: "${SUPERMODEL_API_KEY}"
403
403
  ```
404
404
 
405
+ ### MCP Timeout Configuration
406
+
407
+ mcpbr supports configurable timeouts for MCP server operations to handle different server types and workloads.
408
+
409
+ #### Configuration Fields
410
+
411
+ | Field | Description | Default |
412
+ |-------|-------------|---------|
413
+ | `startup_timeout_ms` | Timeout in milliseconds for MCP server startup | 60000 (60s) |
414
+ | `tool_timeout_ms` | Timeout in milliseconds for MCP tool execution | 900000 (15 min) |
415
+
416
+ These fields map to the `MCP_TIMEOUT` and `MCP_TOOL_TIMEOUT` environment variables used by Claude Code. See the [Claude Code settings documentation](https://code.claude.com/docs/en/settings.md) for more details.
417
+
418
+ #### Example Configuration
419
+
420
+ ```yaml
421
+ mcp_server:
422
+ command: "npx"
423
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "{workdir}"]
424
+ startup_timeout_ms: 60000 # 60 seconds for server to start
425
+ tool_timeout_ms: 900000 # 15 minutes for long-running tools
426
+ ```
427
+
428
+ #### Common Timeout Values
429
+
430
+ Different server types require different timeout settings based on their operational characteristics:
431
+
432
+ | Server Type | startup_timeout_ms | tool_timeout_ms | Notes |
433
+ |-------------|-------------------|-----------------|-------|
434
+ | Fast (filesystem, git) | 10000 (10s) | 30000 (30s) | Local operations with minimal overhead |
435
+ | Medium (web search, APIs) | 30000 (30s) | 120000 (2m) | Network I/O with moderate latency |
436
+ | Slow (code analysis, databases) | 60000 (60s) | 900000 (15m) | Complex processing or large datasets |
437
+
438
+ **When to adjust timeouts:**
439
+
440
+ - **Increase `startup_timeout_ms`** if your server takes longer to initialize (e.g., loading large models, establishing database connections)
441
+ - **Increase `tool_timeout_ms`** if your tools perform long-running operations (e.g., codebase analysis, file processing, AI inference)
442
+ - **Decrease timeouts** for fast servers to fail quickly on connection issues
443
+
405
444
  ### Custom Agent Prompt
406
445
 
407
446
  You can customize the prompt sent to the agent using the `agent_prompt` field:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@greynewell/mcpbr",
3
- "version": "0.3.21",
3
+ "version": "0.3.23",
4
4
  "description": "Model Context Protocol Benchmark Runner - CLI tool for evaluating MCP servers",
5
5
  "keywords": [
6
6
  "mcpbr",
@@ -25,13 +25,12 @@
25
25
  },
26
26
  "license": "MIT",
27
27
  "author": "mcpbr Contributors",
28
- "readme": "NPM.md",
29
28
  "bin": {
30
29
  "mcpbr": "./bin/mcpbr.js"
31
30
  },
32
31
  "files": [
33
32
  "bin/",
34
- "NPM.md"
33
+ "README.md"
35
34
  ],
36
35
  "scripts": {
37
36
  "test": "node bin/mcpbr.js --version",
package/NPM.md DELETED
@@ -1,176 +0,0 @@
1
- # mcpbr-cli
2
-
3
- > npm wrapper for the mcpbr CLI tool
4
-
5
- [![npm version](https://badge.fury.io/js/mcpbr-cli.svg)](https://www.npmjs.com/package/mcpbr-cli)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
-
8
- This npm package provides convenient access to the [mcpbr](https://github.com/greynewell/mcpbr) command-line tool for Node.js and JavaScript developers.
9
-
10
- > **Note**: This package is also available as `@greynewell/mcpbr` for those who prefer scoped package names. Both packages provide the `mcpbr` command after installation.
11
-
12
- ## What is mcpbr?
13
-
14
- **Model Context Protocol Benchmark Runner** - Benchmark your MCP server against real GitHub issues. Get hard numbers comparing tool-assisted vs. baseline agent performance.
15
-
16
- ## Installation
17
-
18
- ### Prerequisites
19
-
20
- - **Python 3.11+** (the mcpbr CLI is implemented in Python)
21
- - **mcpbr Python package** (`pip install mcpbr`)
22
-
23
- ### Install via npm
24
-
25
- ```bash
26
- # Run directly with npx (no installation)
27
- npx mcpbr-cli run -c config.yaml
28
-
29
- # Or install globally
30
- npm install -g mcpbr-cli
31
-
32
- # Then use anywhere
33
- mcpbr run -c config.yaml
34
- ```
35
-
36
- ### Install Python dependencies
37
-
38
- The npm package is a wrapper that requires the Python implementation:
39
-
40
- ```bash
41
- # Install mcpbr Python package
42
- pip install mcpbr
43
-
44
- # Verify installation
45
- mcpbr --version
46
- ```
47
-
48
- ## Usage
49
-
50
- All `mcpbr` commands are available through the npm wrapper:
51
-
52
- ```bash
53
- # Initialize configuration
54
- npx mcpbr-cli init
55
-
56
- # Run benchmark evaluation
57
- npx mcpbr-cli run -c config.yaml
58
-
59
- # List available models
60
- npx mcpbr-cli models
61
-
62
- # List available benchmarks
63
- npx mcpbr-cli benchmarks
64
-
65
- # Run with verbose output
66
- npx mcpbr-cli run -c config.yaml -v
67
-
68
- # Run specific tasks
69
- npx mcpbr-cli run -c config.yaml -t astropy__astropy-12907
70
- ```
71
-
72
- ## Quick Start
73
-
74
- ```bash
75
- # 1. Install Python dependencies
76
- pip install mcpbr
77
-
78
- # 2. Set API key
79
- export ANTHROPIC_API_KEY="your-api-key"
80
-
81
- # 3. Run benchmark
82
- npx mcpbr-cli init
83
- npx mcpbr-cli run -c mcpbr.yaml -n 5 -v
84
- ```
85
-
86
- ## Why use the npm package?
87
-
88
- - **Familiar workflow** for Node.js/JavaScript developers
89
- - **No need to remember** pip vs npm for different tools
90
- - **Consistent versioning** with other npm packages
91
- - **Easy integration** into Node.js projects and scripts
92
- - **npx support** for one-off commands without installation
93
-
94
- ## Documentation
95
-
96
- For full documentation, visit: <https://greynewell.github.io/mcpbr/>
97
-
98
- - [Installation Guide](https://greynewell.github.io/mcpbr/installation/)
99
- - [Configuration Reference](https://greynewell.github.io/mcpbr/configuration/)
100
- - [CLI Reference](https://greynewell.github.io/mcpbr/cli/)
101
- - [Benchmarks Guide](https://greynewell.github.io/mcpbr/benchmarks/)
102
-
103
- ## Troubleshooting
104
-
105
- ### Error: Python 3.11 or later required
106
-
107
- Install Python 3.11+:
108
-
109
- ```bash
110
- # macOS
111
- brew install python@3.11
112
-
113
- # Ubuntu/Debian
114
- sudo apt install python3.11
115
-
116
- # Windows
117
- # Download from https://www.python.org/downloads/
118
- ```
119
-
120
- ### Error: mcpbr Python package not found
121
-
122
- Install the Python package:
123
-
124
- ```bash
125
- pip install mcpbr
126
- # or
127
- pip3 install mcpbr
128
- ```
129
-
130
- ### Error: command not found: mcpbr
131
-
132
- If you installed globally, ensure npm global bin directory is in your PATH:
133
-
134
- ```bash
135
- npm config get prefix
136
- # Add <prefix>/bin to your PATH
137
- ```
138
-
139
- ## Development
140
-
141
- This package is part of the mcpbr project:
142
-
143
- ```bash
144
- # Clone the repository
145
- git clone https://github.com/greynewell/mcpbr.git
146
- cd mcpbr/cli
147
-
148
- # Install dependencies
149
- npm install
150
-
151
- # Test the wrapper
152
- npm test
153
- ```
154
-
155
- ## Related Packages
156
-
157
- - [`mcpbr`](https://pypi.org/project/mcpbr/) - Python package (core implementation)
158
- - [`mcpbr-claude-plugin`](https://www.npmjs.com/package/mcpbr-claude-plugin) - Claude Code plugin (also available as `@greynewell/mcpbr-claude-plugin`)
159
-
160
- ## License
161
-
162
- MIT - see [LICENSE](../LICENSE) for details.
163
-
164
- ## Contributing
165
-
166
- Contributions welcome! See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines.
167
-
168
- ## Support
169
-
170
- - **Documentation**: <https://greynewell.github.io/mcpbr/>
171
- - **Issues**: <https://github.com/greynewell/mcpbr/issues>
172
- - **Discussions**: <https://github.com/greynewell/mcpbr/discussions>
173
-
174
- ---
175
-
176
- Built by [Grey Newell](https://greynewell.com)