@thehammer/danx-dashboard-mcp 0.1.230 → 0.1.233
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 +1 -1
- package/dist/handlers.js +1 -1
- package/dist/index.js +3 -3
- package/dist/route-board-scope.generated.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ All exposed as `mcp__danx-dashboard__<name>` once wired through the workspace `m
|
|
|
36
36
|
| Tool | Purpose |
|
|
37
37
|
|---|---|
|
|
38
38
|
| `danxbot_api` | `{method, path, query?, body?}` — calls any dashboard route the caller's credential may reach (card/plan CRUD, comments, dependencies, problems/solutions, quality gates, retro, triage, transitions, …). Returns `{ok, status, body}`; `body` carries the route's own response, or its structured error verbatim when `ok:false`. While this session is plan-connected, the dashboard's own reminders for it (today: `plan_list.listener_unattached`, attached by the server to `GET /api/plans` when the event listener is unattached past the startup grace, DX-3997) are relayed into the body's `reminders[]`; the MCP carries no reminder text or state of its own and re-reads at most every 30s. |
|
|
39
|
-
| `danxbot_api_list` | No args. Lists the routes this caller's credential may reach
|
|
39
|
+
| `danxbot_api_list` | No args. Lists the routes this caller's credential may reach as `{routes: ["METHOD /path"], external: [{route, served_by}]}` (one bare string per route, exactly what `danxbot_api_spec` takes) — call this first when you don't know the route for what you need to do. |
|
|
40
40
|
| `danxbot_api_spec` | `{endpoints}` (comma-joined `METHOD /path` list, required, min 1). Returns the exact OpenAPI contract for those routes — call this when you know the route but not its exact request/response shape. |
|
|
41
41
|
| `request_permission` | `{permissions, reason}` — asks a person to grant this key ONE MORE permission (see "Asking for one more permission" above). Answers at once with the approval URL and confirm code; the grant is picked up in the background. |
|
|
42
42
|
|
package/dist/handlers.js
CHANGED
|
@@ -137,7 +137,7 @@ export async function danxbotApi(client, args) {
|
|
|
137
137
|
const ROUTES_BASE_PATH = "/api/routes";
|
|
138
138
|
/**
|
|
139
139
|
* `danxbot_api_list()` — the routes YOUR credential may currently call,
|
|
140
|
-
* `
|
|
140
|
+
* `{routes: ["METHOD /path"], external: [{route, served_by}]}`, one string each (DX-4401). Backed by DX-3528's
|
|
141
141
|
* `GET /api/routes`, which filters the served route table through the SAME
|
|
142
142
|
* `isRouteAuthorizedForPrincipal` check `authorize()` enforces on every
|
|
143
143
|
* request — a route listed here is always callable, and a route this
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* brief_*, repo_knowledge_*, failure_category_*,
|
|
19
19
|
* dispatch_transcript_search, quality_gate_instruction — all deleted
|
|
20
20
|
* here). See `SERVER_INSTRUCTIONS` below for the calling convention.
|
|
21
|
-
* - danxbot_api_list lists the routes your credential may call, one
|
|
21
|
+
* - danxbot_api_list lists the routes your credential may call, one string each (DX-3465
|
|
22
22
|
* A5, backed by DX-3528's permission-aware discovery). Call this
|
|
23
23
|
* first to find the route for something you need to do.
|
|
24
24
|
* - danxbot_api_spec discovers the exact request/response shape of any route
|
|
@@ -449,8 +449,8 @@ async (args) => {
|
|
|
449
449
|
// ---------------- danxbot_api_list (DX-3465 A5, PLN-11 R-25) ----------------
|
|
450
450
|
strictTool("danxbot_api_list",
|
|
451
451
|
// DX-3528 — the list is filtered by the same permission check every request takes.
|
|
452
|
-
"Lists the dashboard API routes your credential may call: `
|
|
453
|
-
"`
|
|
452
|
+
"Lists the dashboard API routes your credential may call: `{routes: [\"METHOD /path/template\", ...], external: [...]}`, the " +
|
|
453
|
+
"strings `danxbot_api_spec` takes (`POST /api/issues/:id/transition`); `external` are worker-served routes. A route not " +
|
|
454
454
|
"listed is not callable by you.", {}, async () => guardedBoundedJson(() => danxbotApiList(client)));
|
|
455
455
|
// ---------------- danxbot_api_spec (DX-3465, PLN-11 R-25) ----------------
|
|
456
456
|
strictTool("danxbot_api_spec",
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* unknown key on a list read whose vocabulary omits `board` and on a route declaring `strictQuery`; a path no template names is stamped.
|
|
7
7
|
*/
|
|
8
8
|
export const GET_ROUTE_BOARD_SCOPE = [
|
|
9
|
+
["/api/access-requests", false],
|
|
9
10
|
["/api/account/sessions", false],
|
|
10
11
|
["/api/audit-events", false],
|
|
11
12
|
["/api/boards", false],
|
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.233",
|
|
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, danxbot_complete, and other per-dispatch lifecycle callbacks) (DX-3465, PLN-11 R-25).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|