Skip to content

Commit 2d67591

Browse files
authored
Merge pull request #133 from SmartBear/tom/docs-updates-contributing
docs: various docs updates for contributions
2 parents 95b83c7 + 77524c8 commit 2d67591

File tree

4 files changed

+78
-117
lines changed

4 files changed

+78
-117
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2727

2828
### Changed
2929

30-
- [BugSnag] BREAKING CHANGE: Rename Insight Hub tool to BugSnag, following rebranding. Configuration variables `INSIGHT_HUB_AUTH_TOKEN` and `INSIGHT_HUB_PROJECT_API_KEY` need to be updated to `BUGSNAG_AUTH_TOKEN` and `BUGSNAG_PROJECT_API_KEY` after upgrade. [#101](https://github.com/SmartBear/smartbear-mcp/pull/101)
30+
- [BugSnag] BREAKING CHANGE: Rename Insight Hub tool to BugSnag, following rebranding. Configuration variables `INSIGHT_HUB_AUTH_TOKEN`, `INSIGHT_HUB_PROJECT_API_KEY` and `INSIGHT_HUB_ENDPOINT` need to be updated to `BUGSNAG_AUTH_TOKEN`, `BUGSNAG_PROJECT_API_KEY` and `BUGSNAG_ENDPOINT` after upgrade. [#101](https://github.com/SmartBear/smartbear-mcp/pull/101)
3131
- [BugSnag] Remove API links from API responses [#110](https://github.com/SmartBear/smartbear-mcp/pull/110)
3232

3333
## [0.4.0] - 2025-08-26

CONTRIBUTING.md

Lines changed: 75 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ Thank you for your contributing to SmartBear MCP!
55
- [Contributing](#contributing)
66
- [Getting Started](#getting-started)
77
- [Repository Structure](#repository-structure)
8+
- [Branching Strategy](#branching-strategy)
89
- [Development Setup](#development-setup)
10+
- [Making Changes](#making-changes)
911
- [Testing Guidelines](#testing-guidelines)
1012
- [Test Requirements](#test-requirements)
1113
- [Running Tests](#running-tests)
@@ -18,19 +20,35 @@ Thank you for your contributing to SmartBear MCP!
1820
### Repository Structure
1921

2022
```
21-
├── src/api-hub/ # API Hub integration
22-
├── src/bugsnag/ # BugSnag integration
23-
├── src/pactflow/ # PactFlow integration
24-
├── src/reflect/ # Reflect integration
25-
├── src/common/ # Shared utilities and types
26-
├── src/tests/ # Test files
27-
├── docs/ # Documentation
28-
└── scripts/ # Build and utility scripts
23+
├── src/<product-name>/ # Specific SmartBear product integration
24+
├── src/common/ # Shared utilities and types
25+
├── src/tests/ # Test files
26+
├── docs/ # Documentation for developer.smartbear.com site
27+
└── scripts/ # Build and utility scripts
2928
```
3029

30+
### Branching Strategy
31+
32+
Releases are automatically deployed on merge to `main` (see [below](#releases)), so in order to coordinate a release between the various products a `next` branch is used to accumulate changes and avoid unintentionally releasing part changes.
33+
34+
Please read the following guidance:
35+
36+
- Feature branches should be created from `next` and PRs made into `next`
37+
- If your change is noteworthy to our customers, update the [CHANGELOG.md](./CHANGELOG.md) in your PR with details of your changes
38+
- You may need to create a new section if your change is the first since the last release
39+
- This is a public repo, so consider a squash-commit of your feature PRs to give a cleaner history
40+
- Create `integration/` branches from `next` if you want to keep a larger change away from the release during development
41+
- Don't forget to update the `docs/` directory with any noteworthy changes to functionality or configuration
42+
3143
## Development Setup
3244

33-
1. **Install Dependencies**
45+
1. **Clone the repository:**
46+
```bash
47+
git clone https://github.com/SmartBear/smartbear-mcp.git
48+
cd smartbear-mcp
49+
```
50+
51+
2. **Install Dependencies**
3452

3553
Make sure you have a current version of Node.js and then run:
3654

@@ -51,6 +69,46 @@ Thank you for your contributing to SmartBear MCP!
5169
npm run test:run
5270
```
5371

72+
## Making Changes
73+
74+
To build the files for local testing, run:
75+
76+
```bash
77+
npm run build
78+
```
79+
80+
You can then add the `dist` directory as an MCP server in your IDE.
81+
82+
For example, in VS Code, use the following configuration with debugging enabled so that you can step through your code:
83+
84+
```json
85+
{
86+
"servers": {
87+
"smartbear": {
88+
"type": "stdio",
89+
"command": "node",
90+
"dev": { // <-- To allow debugging in VS Code
91+
"watch": "dist/**/*.js",
92+
"debug": {
93+
"type": "node"
94+
},
95+
},
96+
"args": ["<PATH_TO_SMARTBEAR_MCP_REPO>/dist/index.js"],
97+
"env": {
98+
// ...
99+
}
100+
}
101+
// ...
102+
},
103+
}
104+
```
105+
106+
You can also use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) web interface, first setting the appropriate environment variables for the products you want to test:
107+
108+
```bash
109+
npx @modelcontextprotocol/inspector node dist/index.js
110+
```
111+
54112
## Testing Guidelines
55113

56114
### Test Requirements
@@ -78,6 +136,10 @@ Documentation lives in the `/docs` directory of this repo. Changes to the docume
78136

79137
## Releases
80138

139+
A release will be carried out by a member of the SmartBear team when a set of releasable changes is ready on the `next` branch. If there are commits from more than one product, the releasing engineer will coordinate with each product team to ensure the release is appropriate and sufficiently documented in the changelog/docs.
140+
141+
Please follow these steps to create a new release:
142+
81143
1. **Decide on a version number**
82144
- Check the changes in `CHANGELOG.md` and using [semantic versioning](https://semver.org/), decide on a new version. i.e. `1.2.3`
83145

@@ -97,6 +159,10 @@ Documentation lives in the `/docs` directory of this repo. Changes to the docume
97159
- Create a new Github release with the version you decided on earlier
98160
- Changes will be automatically deployed once the Github release is created
99161

162+
5. **Post-Release**
163+
- A PR should automatically be created to merge `main` back into `next`, this should be merged down soon after release
164+
- Check https://developer.smartbear.com/smartbear-mcp/ to ensure the docs have been updated correctly
165+
100166
Please ensure you update internal ticketing systems accordingly.
101167

102168
## Additional Resources

README.md

Lines changed: 1 addition & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -165,113 +165,7 @@ For detailed introduction, examples, and advanced configuration visit our 📖 [
165165

166166
## Local Development
167167

168-
For developers who want to contribute to the SmartBear MCP server, customize its functionality, or work with the latest development features, you can build and run the server directly from source code. This approach gives you full control over the implementation and allows you to make modifications as needed.
169-
170-
1. **Clone the repository:**
171-
```bash
172-
git clone https://github.com/SmartBear/smartbear-mcp.git
173-
cd smartbear-mcp
174-
```
175-
176-
2. **Install dependencies:**
177-
```bash
178-
npm install
179-
```
180-
181-
3. **Build the server:**
182-
```bash
183-
npm run build
184-
```
185-
186-
4. **Add the server to your IDE** configuration updating `.vscode/mcp.json` (or equivalent) to point to your local build
187-
188-
<details>
189-
<summary><strong>📋 VSCode (mcp.json)</strong></summary>
190-
191-
```json
192-
{
193-
"servers": {
194-
"smartbear": {
195-
"type": "stdio",
196-
"command": "node",
197-
"dev": { // <-- To allow debugging in VS Code
198-
"watch": "dist/**/*.js",
199-
"debug": {
200-
"type": "node"
201-
},
202-
},
203-
"args": ["<PATH_TO_SMARTBEAR_MCP_REPO>/dist/index.js"],
204-
"env": {
205-
"BUGSNAG_AUTH_TOKEN": "${input:bugsnag_auth_token}",
206-
"BUGSNAG_PROJECT_API_KEY": "${input:bugsnag_project_api_key}",
207-
"REFLECT_API_TOKEN": "${input:reflect_api_token}",
208-
"API_HUB_API_KEY": "${input:api_hub_api_key}",
209-
"PACT_BROKER_BASE_URL": "${input:pact_broker_base_url}",
210-
"PACT_BROKER_TOKEN": "${input:pact_broker_token}",
211-
"PACT_BROKER_USERNAME": "${input:pact_broker_username}",
212-
"PACT_BROKER_PASSWORD": "${input:pact_broker_password}"
213-
}
214-
}
215-
},
216-
"inputs": [
217-
{
218-
"id": "bugsnag_auth_token",
219-
"type": "promptString",
220-
"description": "BugSnag Auth Token - leave blank to disable BugSnag tools",
221-
"password": true
222-
},
223-
{
224-
"id": "bugsnag_project_api_key",
225-
"type": "promptString",
226-
"description": "BugSnag Project API Key - for single project interactions",
227-
"password": false
228-
},
229-
{
230-
"id": "reflect_api_token",
231-
"type": "promptString",
232-
"description": "Reflect API Token - leave blank to disable Reflect tools",
233-
"password": true
234-
},
235-
{
236-
"id": "api_hub_api_key",
237-
"type": "promptString",
238-
"description": "API Hub API Key - leave blank to disable API Hub tools",
239-
"password": true
240-
},
241-
{
242-
"id": "pact_broker_base_url",
243-
"type": "promptString",
244-
"description": "PactFlow or Pact Broker base url - leave blank to disable PactFlow tools",
245-
"password": true
246-
},
247-
{
248-
"id": "pact_broker_token",
249-
"type": "promptString",
250-
"description": "PactFlow Authentication Token",
251-
"password": true
252-
},
253-
{
254-
"id": "pact_broker_username",
255-
"type": "promptString",
256-
"description": "Pact Broker Username",
257-
"password": true
258-
},
259-
{
260-
"id": "pact_broker_password",
261-
"type": "promptString",
262-
"description": "Pact Broker Password",
263-
"password": true
264-
},
265-
]
266-
}
267-
```
268-
</details>
269-
270-
5. **Local testing** using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) web interface:
271-
272-
```bash
273-
BUGSNAG_AUTH_TOKEN="your_token" REFLECT_API_TOKEN="your_reflect_token" API_HUB_API_KEY="your_api_hub_key" PACT_BROKER_BASE_URL="your-pactflow-url" PACT_BROKER_TOKEN="your-pactflow-token" PACT_BROKER_USERNAME="your-pact-broker-username" PACT_BROKER_PASSWORD="your-pact-broker-password" npx @modelcontextprotocol/inspector npx @smartbear/mcp@latest
274-
```
168+
For developers who want to contribute to the SmartBear MCP server, please see the [CONTRIBUTING.md](CONTRIBUTING.md) guide.
275169

276170
## License
277171

docs/products/SmartBear MCP Server/bugsnag-integration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,4 @@ Refers to an occurrence of an error: `bugsnag://event/{id}`.
5656
- Project event filters are pre-cached for better performance
5757
- **Filtering**: Use `get_project_event_filters` to discover available filter fields before using `list_bugsnag_project_errors`
5858
- **Time Filters**: Support both relative format (e.g., `7d`, `24h`) and ISO 8601 UTC format (e.g., `2018-05-20T00:00:00Z`)
59+
- **On-Premise Support**: Set the `BUGSNAG_ENDPOINT` environment variable to your custom endpoint if you're using an on-premise installation of BugSnag.

0 commit comments

Comments
 (0)