@edicarlos.lds/businessmap-mcp 2.1.0 → 2.2.0

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 (40) hide show
  1. package/README.md +241 -49
  2. package/dist/client/businessmap-client.d.ts +17 -11
  3. package/dist/client/businessmap-client.d.ts.map +1 -1
  4. package/dist/client/businessmap-client.js +11 -2
  5. package/dist/client/businessmap-client.js.map +1 -1
  6. package/dist/client/modules/utility-client.d.ts +8 -1
  7. package/dist/client/modules/utility-client.d.ts.map +1 -1
  8. package/dist/client/modules/utility-client.js +11 -19
  9. package/dist/client/modules/utility-client.js.map +1 -1
  10. package/dist/index.d.ts +2 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +33 -16
  13. package/dist/index.js.map +1 -1
  14. package/dist/schemas/common-schemas.d.ts.map +1 -1
  15. package/dist/schemas/common-schemas.js +7 -4
  16. package/dist/schemas/common-schemas.js.map +1 -1
  17. package/dist/server/http.d.ts +6 -1
  18. package/dist/server/http.d.ts.map +1 -1
  19. package/dist/server/http.js +109 -56
  20. package/dist/server/http.js.map +1 -1
  21. package/dist/server/resources/board-resources.d.ts.map +1 -1
  22. package/dist/server/resources/board-resources.js +32 -19
  23. package/dist/server/resources/board-resources.js.map +1 -1
  24. package/dist/server/resources/card-resources.d.ts.map +1 -1
  25. package/dist/server/resources/card-resources.js +36 -20
  26. package/dist/server/resources/card-resources.js.map +1 -1
  27. package/dist/server/resources/workspace-resources.d.ts.map +1 -1
  28. package/dist/server/resources/workspace-resources.js +15 -10
  29. package/dist/server/resources/workspace-resources.js.map +1 -1
  30. package/dist/server/tools/board-tools.d.ts.map +1 -1
  31. package/dist/server/tools/board-tools.js +4 -4
  32. package/dist/server/tools/board-tools.js.map +1 -1
  33. package/dist/server/tools/card-tools.js.map +1 -1
  34. package/dist/server/tools/utility-tools.js +1 -1
  35. package/dist/server/tools/utility-tools.js.map +1 -1
  36. package/docs/LOGGING.md +169 -0
  37. package/docs/MIDDLEWARE.md +141 -0
  38. package/docs/RELEASE_PROCESS.md +146 -0
  39. package/docs/TOOLS.md +281 -0
  40. package/package.json +4 -3
package/docs/TOOLS.md ADDED
@@ -0,0 +1,281 @@
1
+ # Tools, Resources & Prompts Reference
2
+
3
+ Complete reference for all tools, resources, and prompts provided by the BusinessMap MCP Server.
4
+
5
+ ## Summary
6
+
7
+ | Category | Count |
8
+ | --------- | :---: |
9
+ | Tools | 56 |
10
+ | Resources | 5 |
11
+ | Prompts | 4 |
12
+
13
+ ---
14
+
15
+ ## Tools
16
+
17
+ ### Workspace Management (3 tools)
18
+
19
+ | Tool | Description | Read-Only Safe |
20
+ | :----------------- | :---------------------------------- | :------------: |
21
+ | `list_workspaces` | Get a list of all workspaces | ✅ |
22
+ | `get_workspace` | Get details of a specific workspace | ✅ |
23
+ | `create_workspace` | Create a new workspace | ❌ |
24
+
25
+ ---
26
+
27
+ ### Board Management (11 tools)
28
+
29
+ | Tool | Description | Read-Only Safe |
30
+ | :---------------------------- | :--------------------------------------------------------------------------------------------- | :------------: |
31
+ | `list_boards` | Get a list of boards with optional workspace filter | ✅ |
32
+ | `search_board` | Search for a board by ID or name, with fallback to list | ✅ |
33
+ | `get_columns` | Get all columns for a board | ✅ |
34
+ | `get_lanes` | Get all lanes/swimlanes for a board | ✅ |
35
+ | `get_lane` | Get details of a specific lane/swimlane | ✅ |
36
+ | `get_current_board_structure` | Get the complete structure of a board (workflows, columns, lanes, configs) | ✅ |
37
+ | `create_board` | Create a new board in a workspace | ❌ |
38
+ | `create_lane` | Create a new lane/swimlane in a board | ❌ |
39
+ | `create_column` | Create a new column (main or sub-column). Section: 1=Backlog, 2=Requested, 3=Progress, 4=Done | ❌ |
40
+ | `update_column` | Update the details of a specific column | ❌ |
41
+ | `delete_column` | Delete a column from a board | ❌ ⚠️ |
42
+
43
+ ---
44
+
45
+ ### Card Management (36 tools)
46
+
47
+ #### Basic Operations
48
+
49
+ | Tool | Description | Read-Only Safe |
50
+ | :--------------- | :------------------------------------------- | :------------: |
51
+ | `list_cards` | Get cards from a board with optional filters | ✅ |
52
+ | `get_card` | Get detailed card information | ✅ |
53
+ | `get_card_size` | Get the size/points of a specific card | ✅ |
54
+ | `get_card_types` | Get all available card types | ✅ |
55
+ | `create_card` | Create a new card in a board | ❌ |
56
+ | `move_card` | Move a card to a different column or lane | ❌ |
57
+ | `update_card` | Update card properties | ❌ |
58
+ | `set_card_size` | Set the size/points of a specific card | ❌ |
59
+ | `delete_card` | Permanently delete a card (irreversible) | ❌ ⚠️ |
60
+
61
+ #### Comments
62
+
63
+ | Tool | Description | Read-Only Safe |
64
+ | :------------------ | :------------------------------------- | :------------: |
65
+ | `get_card_comments` | Get all comments for a specific card | ✅ |
66
+ | `get_card_comment` | Get details of a specific comment | ✅ |
67
+ | `create_comment` | Add a new comment to a card | ❌ |
68
+ | `update_comment` | Update the text of an existing comment | ❌ |
69
+ | `delete_comment` | Delete a comment from a card | ❌ ⚠️ |
70
+
71
+ #### Custom Fields
72
+
73
+ | Tool | Description | Read-Only Safe |
74
+ | :----------------------- | :---------------------------------------- | :------------: |
75
+ | `get_card_custom_fields` | Get all custom fields for a specific card | ✅ |
76
+
77
+ #### Outcomes & History
78
+
79
+ | Tool | Description | Read-Only Safe |
80
+ | :------------------ | :----------------------------------------- | :------------: |
81
+ | `get_card_outcomes` | Get all outcomes for a specific card | ✅ |
82
+ | `get_card_history` | Get the history of a specific card outcome | ✅ |
83
+
84
+ #### Relationships
85
+
86
+ | Tool | Description | Read-Only Safe |
87
+ | :---------------------- | :--------------------------------------- | :------------: |
88
+ | `get_card_linked_cards` | Get all linked cards for a specific card | ✅ |
89
+
90
+ #### Subtasks
91
+
92
+ | Tool | Description | Read-Only Safe |
93
+ | :-------------------- | :----------------------------------- | :------------: |
94
+ | `get_card_subtasks` | Get all subtasks for a specific card | ✅ |
95
+ | `get_card_subtask` | Get details of a specific subtask | ✅ |
96
+ | `create_card_subtask` | Create a new subtask for a card | ❌ |
97
+
98
+ #### Parent-Child Relationships
99
+
100
+ | Tool | Description | Read-Only Safe |
101
+ | :---------------------- | :----------------------------------------------------- | :------------: |
102
+ | `get_card_parents` | Get a list of parent cards for a specific card | ✅ |
103
+ | `get_card_parent` | Check if a card is a parent of a given card | ✅ |
104
+ | `get_card_parent_graph` | Get parent cards including their parents (full graph) | ✅ |
105
+ | `get_card_children` | Get a list of child cards of a specified parent card | ✅ |
106
+ | `add_card_parent` | Make a card a parent of a given card | ❌ |
107
+ | `remove_card_parent` | Remove the link between a child card and a parent card | ❌ |
108
+
109
+ #### Blocking
110
+
111
+ | Tool | Description | Read-Only Safe |
112
+ | :------------- | :------------------------------------------ | :------------: |
113
+ | `block_card` | Block a card and set a reason/comment | ❌ |
114
+ | `unblock_card` | Unblock a card by removing its block reason | ❌ |
115
+
116
+ #### Tags
117
+
118
+ | Tool | Description | Read-Only Safe |
119
+ | :--------------------- | :-------------------------------- | :------------: |
120
+ | `create_tag` | Create a new tag in the workspace | ❌ |
121
+ | `add_tag_to_card` | Add an existing tag to a card | ❌ |
122
+ | `remove_tag_from_card` | Remove a tag from a card | ❌ |
123
+
124
+ #### Stickers
125
+
126
+ | Tool | Description | Read-Only Safe |
127
+ | :------------------------- | :----------------------------------------------------------------- | :------------: |
128
+ | `add_sticker_to_card` | Add a sticker to a card | ❌ |
129
+ | `remove_sticker_from_card` | Remove a sticker from a card using the sticker-card association ID | ❌ |
130
+
131
+ #### Predecessors
132
+
133
+ | Tool | Description | Read-Only Safe |
134
+ | :------------------- | :------------------------------------------------------------------------- | :------------: |
135
+ | `add_predecessor` | Establish or update a predecessor-successor relationship between two cards | ❌ |
136
+ | `remove_predecessor` | Remove the predecessor-successor relationship between two cards | ❌ |
137
+
138
+ ---
139
+
140
+ ### Custom Field Management (1 tool)
141
+
142
+ | Tool | Description | Read-Only Safe |
143
+ | :----------------- | :------------------------------------------- | :------------: |
144
+ | `get_custom_field` | Get details of a specific custom field by ID | ✅ |
145
+
146
+ ---
147
+
148
+ ### Workflow & Cycle Time Analysis (2 tools)
149
+
150
+ | Tool | Description | Read-Only Safe |
151
+ | :------------------------------------------ | :------------------------------------------ | :------------: |
152
+ | `get_workflow_cycle_time_columns` | Get workflow's cycle time columns | ✅ |
153
+ | `get_workflow_effective_cycle_time_columns` | Get workflow's effective cycle time columns | ✅ |
154
+
155
+ ---
156
+
157
+ ### User Management (4 tools)
158
+
159
+ | Tool | Description | Read-Only Safe |
160
+ | :----------------- | :------------------------------------- | :------------: |
161
+ | `list_users` | Get a list of all users | ✅ |
162
+ | `get_user` | Get details of a specific user | ✅ |
163
+ | `get_current_user` | Get details of the current logged user | ✅ |
164
+ | `invite_user` | Add and invite a new user by email | ❌ |
165
+
166
+ ---
167
+
168
+ ### System (2 tools)
169
+
170
+ | Tool | Description | Read-Only Safe |
171
+ | :------------- | :---------------------------------------- | :------------: |
172
+ | `health_check` | Check the connection to BusinessMap API | ✅ |
173
+ | `get_api_info` | Get information about the BusinessMap API | ✅ |
174
+
175
+ ---
176
+
177
+ ## Resources
178
+
179
+ MCP resources provide structured data access via URI. Clients can read resources directly without invoking tools.
180
+
181
+ | URI | Name | Description | Listable |
182
+ | :-------------------------------------- | :----------- | :---------------------------------- | :------: |
183
+ | `businessmap://workspaces` | `workspaces` | List all workspaces | ✅ |
184
+ | `businessmap://boards` | `boards` | List all boards | ✅ |
185
+ | `businessmap://boards/{board_id}` | `board` | Get details of a specific board | ❌ |
186
+ | `businessmap://boards/{board_id}/cards` | `cards` | List all cards for a specific board | ✅ |
187
+ | `businessmap://cards/{card_id}` | `card` | Get details of a specific card | ❌ |
188
+
189
+ ---
190
+
191
+ ## Prompts
192
+
193
+ MCP prompts provide guided, multi-step workflows for common AI-assisted tasks.
194
+
195
+ ### `analyze-board-performance`
196
+
197
+ **Title:** Analyze Board Performance
198
+
199
+ Analyze a board's performance: flow efficiency, bottlenecks, cycle time, and workload distribution across columns and lanes.
200
+
201
+ **Arguments:**
202
+
203
+ - `board_id` (required) — The board ID to analyze
204
+
205
+ **Workflow:**
206
+
207
+ 1. Uses `get_current_board_structure` to retrieve the full board structure
208
+ 2. Uses `list_cards` to retrieve all active cards
209
+ 3. Uses `get_workflow_cycle_time_columns` for each workflow
210
+ 4. Delivers a structured analysis covering flow efficiency, cycle time, workload distribution, and actionable recommendations
211
+
212
+ ---
213
+
214
+ ### `generate-board-report`
215
+
216
+ **Title:** Generate Board Report
217
+
218
+ Generate a comprehensive status report for a board, including cards summary, progress, and highlights.
219
+
220
+ **Arguments:**
221
+
222
+ - `board_id` (required) — The board ID to report on
223
+
224
+ **Workflow:**
225
+
226
+ 1. Uses `get_current_board_structure` to get the board structure
227
+ 2. Uses `list_cards` to get all cards
228
+ 3. Uses `get_card` for detailed info on a sample of cards
229
+ 4. Generates a structured report with: Executive Summary, Column Breakdown, Recently Updated Cards, Risks & Blockers, and Next Steps
230
+
231
+ ---
232
+
233
+ ### `create-card-from-description`
234
+
235
+ **Title:** Create Card from Description
236
+
237
+ Guide the creation of a well-structured card from a natural language description.
238
+
239
+ **Arguments:**
240
+
241
+ - `description` (required) — Natural language description of what the card should be
242
+ - `board_id` (required) — The board ID where the card should be created
243
+
244
+ **Workflow:**
245
+
246
+ 1. Uses `get_current_board_structure` to understand available columns, lanes, and workflows
247
+ 2. Uses `get_card_types` to list available card types
248
+ 3. Determines the best card title, description, type, target column, lane, and size/priority
249
+ 4. Uses `create_card` to create the card and confirms creation with ID and summary
250
+
251
+ ---
252
+
253
+ ### `workspace-status-overview`
254
+
255
+ **Title:** Workspace Status Overview
256
+
257
+ Generate a high-level status overview of a workspace, including all boards and their key metrics.
258
+
259
+ **Arguments:**
260
+
261
+ - `workspace_id` (required) — The workspace ID to generate an overview for
262
+
263
+ **Workflow:**
264
+
265
+ 1. Uses `get_workspace` to get workspace details
266
+ 2. Uses `list_boards` with `workspace_id` filter to list all boards
267
+ 3. Uses `list_cards` for each board to get active card counts
268
+ 4. Uses `get_current_board_structure` for up to 3 boards
269
+ 5. Delivers a structured overview with: Workspace Summary, Board Summaries, Highlights, and Recommendations
270
+
271
+ ---
272
+
273
+ ## Read-Only Mode
274
+
275
+ When `BUSINESSMAP_READ_ONLY_MODE=true`, only tools marked ✅ in the "Read-Only Safe" column are registered. Write operations (❌) are not available. This is useful for:
276
+
277
+ - Safe data exploration without risk of modifications
278
+ - Granting read-only access to AI assistants
279
+ - Auditing and reporting use cases
280
+
281
+ > Note: All 5 resources and all 4 prompts are available regardless of read-only mode setting.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edicarlos.lds/businessmap-mcp",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Model Context Protocol server for BusinessMap (Kanbanize) integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,6 +9,7 @@
9
9
  },
10
10
  "files": [
11
11
  "dist",
12
+ "docs",
12
13
  "README.md",
13
14
  "LICENSE"
14
15
  ],
@@ -70,8 +71,8 @@
70
71
  "@types/express": "^5.0.5",
71
72
  "@types/jest": "^29.5.14",
72
73
  "@types/node": "^20.19.33",
73
- "@typescript-eslint/eslint-plugin": "^6.0.0",
74
- "@typescript-eslint/parser": "^6.0.0",
74
+ "@typescript-eslint/eslint-plugin": "^8.58.1",
75
+ "@typescript-eslint/parser": "^8.58.1",
75
76
  "eslint": "^8.0.0",
76
77
  "jest": "^29.0.0",
77
78
  "prettier": "^3.0.0",