@debugbundle/mcp 1.5.4 → 1.6.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 +49 -5
- package/dist/main.cjs +76 -19
- package/package.json +14 -3
- package/server.json +3 -3
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# @debugbundle/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
MCP server for production debugging bundles and incident workflows for AI agents. DebugBundle lets agents inspect incidents, deterministic bundles, reproductions, probes, hosted health checks, alerts, webhooks, projects, and setup state through the same management surface as the API and CLI.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
Run directly with npm:
|
|
7
|
+
Run the stdio server directly with npm:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
npx @debugbundle/mcp
|
|
@@ -19,7 +19,7 @@ debugbundle-mcp
|
|
|
19
19
|
|
|
20
20
|
Supported Node.js versions: 22.x through 26.x.
|
|
21
21
|
|
|
22
|
-
## MCP Client
|
|
22
|
+
## MCP Client Config
|
|
23
23
|
|
|
24
24
|
```json
|
|
25
25
|
{
|
|
@@ -32,11 +32,55 @@ Supported Node.js versions: 22.x through 26.x.
|
|
|
32
32
|
}
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Use `npx -y @debugbundle/mcp` in clients that require noninteractive package execution.
|
|
36
|
+
|
|
37
|
+
## Install Matrix
|
|
38
|
+
|
|
39
|
+
| Environment | Recommended path | Notes |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| Generic local MCP client | `npx @debugbundle/mcp` | stdio transport |
|
|
42
|
+
| Claude Desktop local MCP | local MCP server config | uses local machine auth/config |
|
|
43
|
+
| Cursor | MCP config with `npx @debugbundle/mcp` | stdio transport |
|
|
44
|
+
| VS Code / GitHub MCP Registry | `com.debugbundle/mcp` | official registry metadata |
|
|
45
|
+
| OpenClaw / ClawHub | DebugBundle skill plus MCP config | use the published skill for workflow guidance |
|
|
46
|
+
| CI/headless agents | `DEBUGBUNDLE_MEMBER_TOKEN` | never use a project token |
|
|
47
|
+
| Self-hosted DebugBundle | `DEBUGBUNDLE_API_URL` plus member auth | points the server at your API base URL |
|
|
48
|
+
|
|
49
|
+
DebugBundle does not expose a hosted remote MCP endpoint today; this package is the local stdio path.
|
|
36
50
|
|
|
37
51
|
## Authentication
|
|
38
52
|
|
|
39
|
-
|
|
53
|
+
| Mode | Use | Notes |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| CLI auth state | Local developer machines | Reuses `~/.debugbundle/auth.json` when available. |
|
|
56
|
+
| `DEBUGBUNDLE_MEMBER_TOKEN` | Headless or marketplace-managed clients | Member tokens are for CLI/API/MCP read and management operations. |
|
|
57
|
+
| Per-tool `bearerToken` | Explicit advanced automation | Overrides default auth for that call only. |
|
|
58
|
+
| Project token | SDK ingestion only | Do not use project tokens for MCP retrieval or management. |
|
|
59
|
+
|
|
60
|
+
## What Agents Can Do
|
|
61
|
+
|
|
62
|
+
- List active incidents and fetch full incident context.
|
|
63
|
+
- Fetch deterministic debug bundles and reproduction artifacts.
|
|
64
|
+
- Inspect hosted health checks, probes, alerts, webhooks, projects, members, billing, capture policy, and GitHub automation state.
|
|
65
|
+
- Run local and hosted verification through tools such as `verify_local`, `verify_cloud`, `doctor`, `smoke`, and `analyze`.
|
|
66
|
+
- Resolve or reopen incidents after verification.
|
|
67
|
+
|
|
68
|
+
## Links
|
|
69
|
+
|
|
70
|
+
- Docs: https://debugbundle.com/docs/mcp
|
|
71
|
+
- Agent workflows: https://debugbundle.com/docs/agent-workflows
|
|
72
|
+
- LLM index: https://debugbundle.com/llms.txt
|
|
73
|
+
- MCP tool schema: https://debugbundle.com/schemas/mcp-tools.json
|
|
74
|
+
- Official MCP Registry metadata: https://github.com/debugbundle/debugbundle/blob/main/apps/mcp/server.json
|
|
75
|
+
|
|
76
|
+
## Security And Trust
|
|
77
|
+
|
|
78
|
+
- Official MCP Registry name: `com.debugbundle/mcp`.
|
|
79
|
+
- Official npm package: `@debugbundle/mcp`.
|
|
80
|
+
- Source repository: https://github.com/debugbundle/debugbundle/tree/main/apps/mcp
|
|
81
|
+
- License: AGPL-3.0-only.
|
|
82
|
+
- The server uses stdio transport and local process credentials. It does not include hidden hosted management auth.
|
|
83
|
+
- Public examples must use placeholders only; never paste real member tokens, project tokens, webhook secrets, or customer configuration into marketplace listings.
|
|
40
84
|
|
|
41
85
|
## License
|
|
42
86
|
|
package/dist/main.cjs
CHANGED
|
@@ -15938,6 +15938,8 @@ var CaptureRuleSuggestionSchema = external_exports.object({
|
|
|
15938
15938
|
confidence: CaptureRuleSuggestionConfidenceSchema,
|
|
15939
15939
|
reason: external_exports.string().min(1).max(500),
|
|
15940
15940
|
requires_confirmation: external_exports.boolean(),
|
|
15941
|
+
created_rule_id: external_exports.string().min(1).max(120).nullable().default(null),
|
|
15942
|
+
created_rule_enabled: external_exports.boolean().nullable().default(null),
|
|
15941
15943
|
rule: CaptureRuleCreateSchema
|
|
15942
15944
|
});
|
|
15943
15945
|
var CaptureRuleSuggestionsResponseSchema = external_exports.object({
|
|
@@ -18059,9 +18061,12 @@ function buildSkill() {
|
|
|
18059
18061
|
"description: >-",
|
|
18060
18062
|
" Investigate runtime incidents, inspect debug bundles, generate reproductions,",
|
|
18061
18063
|
" run improvement analysis, and inspect operational controls using the DebugBundle",
|
|
18062
|
-
" CLI and local project scaffold. Use when
|
|
18063
|
-
"
|
|
18064
|
-
"
|
|
18064
|
+
" CLI and local project scaffold. Use when runtime errors/failures or captured",
|
|
18065
|
+
" operational evidence are relevant: production/customer-facing incidents,",
|
|
18066
|
+
" endpoint downtime, health-check failures, notification or webhook failures,",
|
|
18067
|
+
" probes, noisy captured incidents, or explicit DebugBundle artifact requests. Do not use for",
|
|
18068
|
+
" deterministic local source, UI, layout, copy, calculation, refactor, or",
|
|
18069
|
+
" test-only issues unless runtime evidence is needed.",
|
|
18065
18070
|
"metadata:",
|
|
18066
18071
|
" author: debugbundle",
|
|
18067
18072
|
' version: "1.0"',
|
|
@@ -18069,11 +18074,22 @@ function buildSkill() {
|
|
|
18069
18074
|
"",
|
|
18070
18075
|
"# DebugBundle",
|
|
18071
18076
|
"",
|
|
18072
|
-
"Use DebugBundle
|
|
18077
|
+
"Use DebugBundle when runtime evidence is relevant to the task.",
|
|
18078
|
+
"",
|
|
18079
|
+
"## When To Use DebugBundle",
|
|
18080
|
+
"",
|
|
18081
|
+
"Use the incident/artifact workflow when the user reports:",
|
|
18082
|
+
"",
|
|
18083
|
+
"- production or customer-facing incidents, runtime failures, regressions, broken deploys, or unknown errors likely to have generated captured events",
|
|
18084
|
+
"- endpoint downtime or a failing hosted health check",
|
|
18085
|
+
"- missing, duplicate, or failed alerts, webhooks, GitHub dispatches, probes, or other operational delivery",
|
|
18086
|
+
"- a specific DebugBundle incident id, bundle, reproduction, report, or noisy captured incident",
|
|
18087
|
+
"",
|
|
18088
|
+
"For deterministic local source-code, UI, layout, copy, calculation, refactor, or test-only issues, inspect source and tests first. Do not check DebugBundle incidents unless the user asks, the issue involves live runtime behavior, or captured evidence is needed.",
|
|
18073
18089
|
"",
|
|
18074
18090
|
"## Investigation Quickstart",
|
|
18075
18091
|
"",
|
|
18076
|
-
"When the
|
|
18092
|
+
"When the issue matches the runtime/incident criteria above, start here before reading arbitrary source files.",
|
|
18077
18093
|
"",
|
|
18078
18094
|
"1. Run `debugbundle doctor --json` to learn whether the project is local-only or connected and whether the local scaffold is healthy.",
|
|
18079
18095
|
"2. If `debugbundle doctor --json` reports `mode=local-only`, start with `debugbundle incidents --source local --status active --json`.",
|
|
@@ -18093,7 +18109,7 @@ function buildSkill() {
|
|
|
18093
18109
|
"",
|
|
18094
18110
|
"## Core Workflow",
|
|
18095
18111
|
"",
|
|
18096
|
-
"1.
|
|
18112
|
+
"1. For qualifying runtime/incident work, check DebugBundle incidents first to avoid re-investigating a known failure.",
|
|
18097
18113
|
"2. Inspect the incident bundle and reproduction artifact before proposing a fix.",
|
|
18098
18114
|
"3. Run `debugbundle analyze --type improvement --local` after local processing when you need a deterministic change plan.",
|
|
18099
18115
|
"4. Apply the narrowest fix, then validate it with the repository test workflow from `.debugbundle/profile.json`.",
|
|
@@ -18148,6 +18164,7 @@ function buildSkill() {
|
|
|
18148
18164
|
"- Availability checks: `https://debugbundle.com/docs/availability-checks`",
|
|
18149
18165
|
"- Probes: `https://debugbundle.com/docs/probes`",
|
|
18150
18166
|
"- Capture policy and rules: `https://debugbundle.com/docs/capture-policy`",
|
|
18167
|
+
"- Managing noise: `https://debugbundle.com/docs/managing-noise`",
|
|
18151
18168
|
"- Alerts: `https://debugbundle.com/docs/alerts` and `https://debugbundle.com/docs/cli/alerts`",
|
|
18152
18169
|
"- Webhooks: `https://debugbundle.com/docs/webhooks` and `https://debugbundle.com/docs/cli/webhooks`",
|
|
18153
18170
|
"- API ingestion: `https://debugbundle.com/docs/api/ingestion`",
|
|
@@ -18276,6 +18293,7 @@ function buildCliReference() {
|
|
|
18276
18293
|
"- Webhooks: `https://debugbundle.com/docs/webhooks`, `https://debugbundle.com/docs/cli/webhooks`, and `https://debugbundle.com/docs/api/webhooks`",
|
|
18277
18294
|
"- Probes: `https://debugbundle.com/docs/probes` and `https://debugbundle.com/docs/api/probes`",
|
|
18278
18295
|
"- Capture policy and rules: `https://debugbundle.com/docs/capture-policy`",
|
|
18296
|
+
"- Managing noise: `https://debugbundle.com/docs/managing-noise`",
|
|
18279
18297
|
"- Availability checks: `https://debugbundle.com/docs/availability-checks`",
|
|
18280
18298
|
"- MCP tool catalog: `https://debugbundle.com/docs/mcp/tools`",
|
|
18281
18299
|
"",
|
|
@@ -18318,7 +18336,7 @@ function buildMcpReference() {
|
|
|
18318
18336
|
return [
|
|
18319
18337
|
"# DebugBundle MCP Reference",
|
|
18320
18338
|
"",
|
|
18321
|
-
"Use the same
|
|
18339
|
+
"Use the same runtime-evidence-gated workflow through MCP when an agent is operating in connected mode.",
|
|
18322
18340
|
"",
|
|
18323
18341
|
"## Investigation Tools",
|
|
18324
18342
|
"",
|
|
@@ -18332,8 +18350,9 @@ function buildMcpReference() {
|
|
|
18332
18350
|
"- `analyze` \u2014 run local agent-oriented analysis from local bundles and skill schemas.",
|
|
18333
18351
|
"",
|
|
18334
18352
|
"- Prefer bundle retrieval tools before reading raw repository files.",
|
|
18335
|
-
"- Use MCP bundle access when the current issue originated in production.",
|
|
18336
|
-
"-
|
|
18353
|
+
"- Use MCP bundle access when the current issue originated in production or otherwise needs captured runtime evidence.",
|
|
18354
|
+
"- For deterministic local source, UI, layout, copy, calculation, refactor, or test-only issues, inspect source and tests first unless the user asks for DebugBundle evidence.",
|
|
18355
|
+
"- Resolve fixed or intentionally generated incidents with `resolve_incident` or `resolve_incidents` so active incidents stay actionable.",
|
|
18337
18356
|
"- Fall back to local CLI processing when the project is local-only.",
|
|
18338
18357
|
"",
|
|
18339
18358
|
"## Noise and Capture Policy Tools",
|
|
@@ -18380,6 +18399,7 @@ function buildMcpReference() {
|
|
|
18380
18399
|
"- Availability checks: `https://debugbundle.com/docs/availability-checks`",
|
|
18381
18400
|
"- Probes: `https://debugbundle.com/docs/probes`",
|
|
18382
18401
|
"- Capture policy and rules: `https://debugbundle.com/docs/capture-policy`",
|
|
18402
|
+
"- Managing noise: `https://debugbundle.com/docs/managing-noise`",
|
|
18383
18403
|
"- Alerts: `https://debugbundle.com/docs/alerts`",
|
|
18384
18404
|
"- Webhooks: `https://debugbundle.com/docs/webhooks`",
|
|
18385
18405
|
"- API ingestion: `https://debugbundle.com/docs/api/ingestion`",
|
|
@@ -18485,13 +18505,21 @@ function buildSkillEvals() {
|
|
|
18485
18505
|
skill: "debugbundle",
|
|
18486
18506
|
evaluations: [
|
|
18487
18507
|
{
|
|
18488
|
-
name: "
|
|
18508
|
+
name: "runtime_incident_workflow",
|
|
18489
18509
|
prompt: "The user reports a production checkout failure. Confirm the skill tells the agent to inspect DebugBundle artifacts first.",
|
|
18490
18510
|
expected_behavior: [
|
|
18491
|
-
"Check incidents before reading arbitrary source files.",
|
|
18511
|
+
"Check incidents before reading arbitrary source files for qualifying runtime or production incidents.",
|
|
18492
18512
|
"Read the skill workflow before proposing a fix."
|
|
18493
18513
|
]
|
|
18494
18514
|
},
|
|
18515
|
+
{
|
|
18516
|
+
name: "local_source_issue_gate",
|
|
18517
|
+
prompt: "The user reports a deterministic UI calculation glitch in local code with no runtime incident or report. Confirm the skill avoids checking DebugBundle incidents by default.",
|
|
18518
|
+
expected_behavior: [
|
|
18519
|
+
"Inspect source and tests first for deterministic local UI, layout, copy, calculation, refactor, or test-only issues.",
|
|
18520
|
+
"Do not check DebugBundle incidents unless the user asks, live runtime behavior is involved, or captured evidence is needed."
|
|
18521
|
+
]
|
|
18522
|
+
},
|
|
18495
18523
|
{
|
|
18496
18524
|
name: "profile_validation_task",
|
|
18497
18525
|
prompt: "The generated profile is shallow. Confirm the skill teaches the agent how to validate and enrich it.",
|
|
@@ -19085,7 +19113,7 @@ function createCaptureRuleApi(httpClient) {
|
|
|
19085
19113
|
bearerToken: input.bearerToken,
|
|
19086
19114
|
body: input.create
|
|
19087
19115
|
});
|
|
19088
|
-
if (response.status !== 201) {
|
|
19116
|
+
if (response.status !== 200 && response.status !== 201) {
|
|
19089
19117
|
throw toApiError(response.status, response.body, "Failed to create capture rule from suggestion.");
|
|
19090
19118
|
}
|
|
19091
19119
|
const parsed = CaptureRuleResponseSchema.safeParse(response.body);
|
|
@@ -23748,6 +23776,26 @@ function selectPrimarySignalEnvelope(envelopes, sourceEventId) {
|
|
|
23748
23776
|
(envelope) => envelope.event_type === "backend_exception" || envelope.event_type === "frontend_exception" || envelope.event_type === "request_event"
|
|
23749
23777
|
) ?? null;
|
|
23750
23778
|
}
|
|
23779
|
+
function deriveBundleSdk(envelopes, sourceEventId) {
|
|
23780
|
+
const sourceEnvelope = envelopes.find((envelope) => envelope.event_id === sourceEventId);
|
|
23781
|
+
if (sourceEnvelope !== void 0) {
|
|
23782
|
+
return {
|
|
23783
|
+
name: sourceEnvelope.sdk_name,
|
|
23784
|
+
version: sourceEnvelope.sdk_version
|
|
23785
|
+
};
|
|
23786
|
+
}
|
|
23787
|
+
const latestCapturedEnvelope = selectLatestEnvelope(envelopes, (envelope) => envelope.event_type !== "probe_event");
|
|
23788
|
+
if (latestCapturedEnvelope !== null) {
|
|
23789
|
+
return {
|
|
23790
|
+
name: latestCapturedEnvelope.sdk_name,
|
|
23791
|
+
version: latestCapturedEnvelope.sdk_version
|
|
23792
|
+
};
|
|
23793
|
+
}
|
|
23794
|
+
return {
|
|
23795
|
+
name: "unknown",
|
|
23796
|
+
version: "unknown"
|
|
23797
|
+
};
|
|
23798
|
+
}
|
|
23751
23799
|
function mapSignalType(eventType) {
|
|
23752
23800
|
if (eventType === "request_event") {
|
|
23753
23801
|
return "request_failure";
|
|
@@ -24365,6 +24413,7 @@ function buildBundle(input) {
|
|
|
24365
24413
|
const firstSeenAt = new Date(input.incident.first_seen_at).toISOString();
|
|
24366
24414
|
const lastSeenAt = new Date(input.incident.last_seen_at).toISOString();
|
|
24367
24415
|
const capturedAt = primarySignalEnvelope !== null ? toIsoTimestamp(primarySignalEnvelope.occurred_at) : toIsoTimestamp(input.bundleMetadata.source_occurred_at);
|
|
24416
|
+
const bundleSdk = deriveBundleSdk(sourceEnvelopes, input.bundleMetadata.source_event_id);
|
|
24368
24417
|
const serviceRuntime = input.incident.service_runtime ?? selectLatestEnvelope(sourceEnvelopes, (envelope) => envelope.event_type !== "probe_event")?.service.runtime ?? null;
|
|
24369
24418
|
const serviceFramework = input.incident.service_framework ?? selectLatestEnvelope(sourceEnvelopes, (envelope) => envelope.event_type !== "probe_event")?.service.framework ?? null;
|
|
24370
24419
|
const customerVisible = frontendContext !== null;
|
|
@@ -24383,10 +24432,7 @@ function buildBundle(input) {
|
|
|
24383
24432
|
bundle_id: `bnd_${input.incident.incident_id}`,
|
|
24384
24433
|
bundle_type: "failure",
|
|
24385
24434
|
captured_at: capturedAt,
|
|
24386
|
-
sdk:
|
|
24387
|
-
name: "debugbundle-worker",
|
|
24388
|
-
version: "0.1.0"
|
|
24389
|
-
},
|
|
24435
|
+
sdk: bundleSdk,
|
|
24390
24436
|
project: {
|
|
24391
24437
|
id: input.incident.project_id,
|
|
24392
24438
|
slug: input.incident.project_id,
|
|
@@ -30591,9 +30637,9 @@ var zodToJsonSchema = (schema, options) => {
|
|
|
30591
30637
|
var package_default = {
|
|
30592
30638
|
name: "@debugbundle/mcp",
|
|
30593
30639
|
mcpName: "com.debugbundle/mcp",
|
|
30594
|
-
version: "1.
|
|
30640
|
+
version: "1.6.1",
|
|
30595
30641
|
private: false,
|
|
30596
|
-
description: "
|
|
30642
|
+
description: "MCP server for production debugging bundles and incident workflows for AI agents",
|
|
30597
30643
|
license: "AGPL-3.0-only",
|
|
30598
30644
|
repository: {
|
|
30599
30645
|
type: "git",
|
|
@@ -30604,7 +30650,18 @@ var package_default = {
|
|
|
30604
30650
|
bugs: {
|
|
30605
30651
|
url: "https://github.com/debugbundle/debugbundle/issues"
|
|
30606
30652
|
},
|
|
30607
|
-
keywords: [
|
|
30653
|
+
keywords: [
|
|
30654
|
+
"debugbundle",
|
|
30655
|
+
"debugging",
|
|
30656
|
+
"production-debugging",
|
|
30657
|
+
"incident-management",
|
|
30658
|
+
"debug-bundles",
|
|
30659
|
+
"ai-agent",
|
|
30660
|
+
"ai-agent-debugging",
|
|
30661
|
+
"mcp",
|
|
30662
|
+
"model-context-protocol",
|
|
30663
|
+
"observability"
|
|
30664
|
+
],
|
|
30608
30665
|
engines: {
|
|
30609
30666
|
node: ">=22 <27"
|
|
30610
30667
|
},
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@debugbundle/mcp",
|
|
3
3
|
"mcpName": "com.debugbundle/mcp",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.6.1",
|
|
5
5
|
"private": false,
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "MCP server for production debugging bundles and incident workflows for AI agents",
|
|
7
7
|
"license": "AGPL-3.0-only",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -14,7 +14,18 @@
|
|
|
14
14
|
"bugs": {
|
|
15
15
|
"url": "https://github.com/debugbundle/debugbundle/issues"
|
|
16
16
|
},
|
|
17
|
-
"keywords": [
|
|
17
|
+
"keywords": [
|
|
18
|
+
"debugbundle",
|
|
19
|
+
"debugging",
|
|
20
|
+
"production-debugging",
|
|
21
|
+
"incident-management",
|
|
22
|
+
"debug-bundles",
|
|
23
|
+
"ai-agent",
|
|
24
|
+
"ai-agent-debugging",
|
|
25
|
+
"mcp",
|
|
26
|
+
"model-context-protocol",
|
|
27
|
+
"observability"
|
|
28
|
+
],
|
|
18
29
|
"engines": {
|
|
19
30
|
"node": ">=22 <27"
|
|
20
31
|
},
|
package/server.json
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "com.debugbundle/mcp",
|
|
4
4
|
"title": "DebugBundle",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "DebugBundle MCP server for incidents, bundles, reproductions, health checks, probes, and ops.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"url": "https://github.com/debugbundle/debugbundle",
|
|
8
8
|
"source": "github",
|
|
9
9
|
"subfolder": "apps/mcp"
|
|
10
10
|
},
|
|
11
|
-
"version": "1.
|
|
11
|
+
"version": "1.6.1",
|
|
12
12
|
"packages": [
|
|
13
13
|
{
|
|
14
14
|
"registryType": "npm",
|
|
15
15
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
16
16
|
"identifier": "@debugbundle/mcp",
|
|
17
|
-
"version": "1.
|
|
17
|
+
"version": "1.6.1",
|
|
18
18
|
"transport": {
|
|
19
19
|
"type": "stdio"
|
|
20
20
|
},
|