@thehammer/danx-dashboard-mcp 0.1.271 → 0.1.273
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 +2 -2
- package/dist/index.js +2 -2
- package/dist/session-access.js +1 -1
- package/dist/session-connection.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -8,9 +8,9 @@ Stdio MCP server fronting danxbot's dashboard HTTP API. Since DX-3465 it exposes
|
|
|
8
8
|
|
|
9
9
|
| Var | Purpose |
|
|
10
10
|
|---|---|
|
|
11
|
-
| `DANXBOT_DASHBOARD_URL` | Dashboard base, e.g. `http://danxbot-dashboard:5555` (inside compose) or `http://localhost:5555` (host) |
|
|
11
|
+
| `DANXBOT_DASHBOARD_URL` | Dashboard base, e.g. `http://danxbot-dashboard:5555` (inside compose) or `http://localhost:5555` (host). An operator session gets it from the danxbot plugin: its `dashboard_url` option (default the hosted dashboard), overridden by `DANXBOT_DASHBOARD_URL` in your shell or a repo's committed `.claude/settings.json` `env` block |
|
|
12
12
|
| `DANX_DASHBOARD_CREDENTIAL` | A DISPATCH's credential: the bearer verbatim, substituted into the materialized `.mcp.json` from its overlay (DX-2862, `src/credential.ts`). Authoritative when set; it never signs out. An operator session sets nothing: with no credential the server boots SIGNED OUT, every tool except `plan_connect` returns one "not signed in" halt, and `plan_connect` requests access (below). The same resolver serves the `bridge` subcommand, so a session's tools and its event stream can never sign in as two different identities |
|
|
13
|
-
| `DANXBOT_TEAM` | OPTIONAL, non-secret (DX-4446): the team slug (or id) whose approvers see this session's access request in their danxbot site. Set it in
|
|
13
|
+
| `DANXBOT_TEAM` | OPTIONAL, non-secret (DX-4446): the team slug (or id) whose approvers see this session's access request in their danxbot site. Set it in your shell or a repo's committed `.claude/settings.json` `env` block. Unset, the request is answered by link only. A value that is not a team slug fails at boot; a team the dashboard does not know makes `plan_connect` answer `unknown_team` (fix `DANXBOT_TEAM`), never a silent link fallback |
|
|
14
14
|
| `DANX_REPO_NAME` | OPTIONAL (DX-4555): repo half of the qualified board id; sent as the access request's repo label |
|
|
15
15
|
| `DANXBOT_BOARD_NAME` | OPTIONAL (DX-4555; needs `DANX_REPO_NAME`): board-slug half of the qualified board id (the dispatch injects `board.slug` here). With neither variable set (the danxbot plugin's own server) the server has no default board: a call that needs a board must carry its `board` argument or the dashboard answers 400 (plan and plan-session routes take their boards from the plan and need none) |
|
|
16
16
|
|
package/dist/index.js
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* halts, and `plan_connect` requests access (`session-access.ts`)
|
|
64
64
|
* DANXBOT_TEAM OPTIONAL (DX-4446), non-secret: the team slug (or id) whose
|
|
65
65
|
* approvers see this session's access request in their danxbot
|
|
66
|
-
* site. Set it in
|
|
66
|
+
* site. Set it in your shell or a repo's committed `.claude/settings.json` `env` block.
|
|
67
67
|
* Unset: the request is answered by link only. Set but not a
|
|
68
68
|
* valid ref, or unknown to the dashboard: fails loud, never a
|
|
69
69
|
* silent fall back to the link flow.
|
|
@@ -180,7 +180,7 @@ function boot() {
|
|
|
180
180
|
const repo = readEnvOptional("DANX_REPO_NAME");
|
|
181
181
|
const boardName = readEnvOptional("DANXBOT_BOARD_NAME");
|
|
182
182
|
// DX-4555: a session started from the danxbot plugin's own server names no board; each call then
|
|
183
|
-
// carries a `board` argument. A board slug with no repo half is a half-written
|
|
183
|
+
// carries a `board` argument. A board slug with no repo half is a half-written DANXBOT_BOARD_NAME: fail loud.
|
|
184
184
|
if (boardName !== undefined && repo === undefined) {
|
|
185
185
|
console.error("[danx-dashboard-mcp] DANXBOT_BOARD_NAME is set but DANX_REPO_NAME is missing or empty");
|
|
186
186
|
process.exit(1);
|
package/dist/session-access.js
CHANGED
|
@@ -49,7 +49,7 @@ const DENIED_INSTRUCTION = "The user denied the request. Do not retry unless the
|
|
|
49
49
|
const DASHBOARD_OUTDATED_ERROR = "this dashboard does not support request-and-approve yet (POST /api/access-requests answered 404): " +
|
|
50
50
|
"it must be updated before this session can sign in";
|
|
51
51
|
const RATE_LIMITED_ERROR = "too many access requests from this address; wait, then call plan_connect again";
|
|
52
|
-
const unknownTeamError = (team) => `the dashboard has no team "${team}" (DANXBOT_TEAM); fix DANXBOT_TEAM in this server's env (
|
|
52
|
+
const unknownTeamError = (team) => `the dashboard has no team "${team}" (DANXBOT_TEAM); fix DANXBOT_TEAM in this server's env (your shell, or a repo's committed .claude/settings.json env block) and restart the session`;
|
|
53
53
|
const NO_SESSION_ID_ERROR = "this server has no CLAUDE_CODE_SESSION_ID, so it cannot request a session key";
|
|
54
54
|
const CLAIMED_LOST_ERROR = "the dashboard says this request was already claimed, but this process never received the key; " +
|
|
55
55
|
"start a new request";
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* THE PROBLEM THIS SOLVES. `danx-dashboard-mcp bridge` runs from a plugin hook,
|
|
6
6
|
* in the SESSION's environment — not in the MCP server's, which is the only
|
|
7
|
-
* place the server's
|
|
7
|
+
* place the server's own environment exists. So the bridge cannot see
|
|
8
8
|
* what the server was configured with, and before this it simply used its own
|
|
9
9
|
* ambient env credential. When that was a different credential from
|
|
10
10
|
* the server's, every event was dropped silently (the card's incident).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thehammer/danx-dashboard-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.273",
|
|
4
4
|
"description": "Stdio MCP server fronting danxbot's dashboard API for agents (operator sessions and dispatched workers alike): the generic danxbot_api/danxbot_api_list/danxbot_api_spec tools reach any route the caller's credential may call, plus dedicated agent-specific tools (plan_connect, request_permission, attach_file, and danxbot_slack_reply) (DX-3465, PLN-11 R-25).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
34
|
-
"@thehammer/danx-session-telemetry": "0.1.
|
|
34
|
+
"@thehammer/danx-session-telemetry": "0.1.41",
|
|
35
35
|
"zod": "^3.25.76"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|