@imboard.ai/mcp-server 0.1.0 → 0.1.3
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 +112 -88
- package/dist/index.cjs +350 -73
- package/package.json +20 -19
- package/src/api-client/imboardApiClient.ts +61 -14
- package/src/server.ts +9 -1
- package/src/tools/dashboards.tools.ts +21 -9
- package/src/tools/documents.tools.ts +24 -15
- package/src/tools/kg-advisory.tools.ts +110 -0
- package/src/tools/knowledge-graph.tools.ts +82 -0
- package/src/tools/meetings.tools.ts +73 -41
- package/src/tools/persona-dossiers.tools.ts +27 -0
- package/src/tools/reports.tools.ts +84 -43
- package/src/tools/rogue-kpis.tools.ts +60 -0
- package/src/tools/user.tools.ts +9 -6
package/README.md
CHANGED
|
@@ -18,16 +18,16 @@ npx @imboard.ai/mcp-server
|
|
|
18
18
|
|
|
19
19
|
The server requires two environment variables:
|
|
20
20
|
|
|
21
|
-
| Variable
|
|
22
|
-
|
|
21
|
+
| Variable | Description | Example |
|
|
22
|
+
| ---------------------- | -------------------- | ------------------------ |
|
|
23
23
|
| `IMBOARD_API_BASE_URL` | imboard API base URL | `https://app.imboard.ai` |
|
|
24
|
-
| `IMBOARD_API_TOKEN`
|
|
24
|
+
| `IMBOARD_API_TOKEN` | Personal API token | `imb_pat_...` |
|
|
25
25
|
|
|
26
26
|
Optional:
|
|
27
27
|
|
|
28
|
-
| Variable
|
|
29
|
-
|
|
30
|
-
| `LOG_LEVEL` | Logging verbosity (`debug`, `info`, `warn`, `error`) | `info`
|
|
28
|
+
| Variable | Description | Default |
|
|
29
|
+
| ----------- | ---------------------------------------------------- | ------- |
|
|
30
|
+
| `LOG_LEVEL` | Logging verbosity (`debug`, `info`, `warn`, `error`) | `info` |
|
|
31
31
|
|
|
32
32
|
### Getting an API Token
|
|
33
33
|
|
|
@@ -54,118 +54,142 @@ Add the following to `.mcp.json` in your project root (or `~/.claude/settings.js
|
|
|
54
54
|
}
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
+
## Usage with Claude Desktop (one-click, no Node required)
|
|
58
|
+
|
|
59
|
+
Non-technical users should not edit JSON or install Node. Instead, ship them the
|
|
60
|
+
**Claude Desktop Extension** — a single `imboard.mcpb` file. Claude Desktop bundles its
|
|
61
|
+
own Node runtime, so the user just:
|
|
62
|
+
|
|
63
|
+
1. Downloads `imboard.mcpb` (the app serves it from the API Access page).
|
|
64
|
+
2. Double-clicks it → Claude Desktop shows an **Install** dialog for "I'mBoard".
|
|
65
|
+
3. Pastes a personal access token (`imb_pat_…`) into the token field.
|
|
66
|
+
|
|
67
|
+
The token is collected by Claude Desktop via the manifest's `user_config` field, so it is
|
|
68
|
+
**never baked into the artifact** — the same `.mcpb` is safe to distribute to everyone.
|
|
69
|
+
|
|
70
|
+
### Building the extension
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pnpm run build:extension # → dist/imboard.mcpb
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This bundles the server, the `mcpb/manifest.json`, an icon, and the two runtime deps the
|
|
77
|
+
esbuild bundle keeps external (`@modelcontextprotocol/sdk`, `zod`). The frontend serves a
|
|
78
|
+
copy from `packages/frontend/public/assets/imboard.mcpb`; re-run and copy it over when the
|
|
79
|
+
server or its deps change. (Automating this in CI is tracked as a follow-up.)
|
|
80
|
+
|
|
57
81
|
## Available Tools
|
|
58
82
|
|
|
59
83
|
### User & Profile
|
|
60
84
|
|
|
61
|
-
| Tool
|
|
62
|
-
|
|
63
|
-
| `get_me`
|
|
64
|
-
| `list_my_boards`
|
|
85
|
+
| Tool | Description |
|
|
86
|
+
| ------------------- | -------------------------------------------------- |
|
|
87
|
+
| `get_me` | Get the authenticated user's profile |
|
|
88
|
+
| `list_my_boards` | List all board memberships and pending invites |
|
|
65
89
|
| `get_storage_usage` | Get storage usage for unassigned email attachments |
|
|
66
90
|
|
|
67
91
|
### Boards
|
|
68
92
|
|
|
69
|
-
| Tool
|
|
70
|
-
|
|
71
|
-
| `list_boards`
|
|
72
|
-
| `get_board`
|
|
73
|
-
| `create_board`
|
|
74
|
-
| `update_board`
|
|
75
|
-
| `list_board_members`
|
|
76
|
-
| `get_board_member`
|
|
77
|
-
| `assign_member_roles`
|
|
78
|
-
| `search_board_documents`
|
|
79
|
-
| `list_board_action_items`
|
|
80
|
-
| `update_board_action_item` | Update action item status
|
|
93
|
+
| Tool | Description |
|
|
94
|
+
| -------------------------- | ----------------------------------------------------------- |
|
|
95
|
+
| `list_boards` | List boards the user has access to |
|
|
96
|
+
| `get_board` | Get detailed board information |
|
|
97
|
+
| `create_board` | Create a new board |
|
|
98
|
+
| `update_board` | Update board details (name, description, settings) |
|
|
99
|
+
| `list_board_members` | List members of a board |
|
|
100
|
+
| `get_board_member` | Get details for a specific board member |
|
|
101
|
+
| `assign_member_roles` | Assign roles, positions, and access types to a board member |
|
|
102
|
+
| `search_board_documents` | Semantic search across all documents in a board |
|
|
103
|
+
| `list_board_action_items` | List action items for a board |
|
|
104
|
+
| `update_board_action_item` | Update action item status |
|
|
81
105
|
|
|
82
106
|
### Meetings & Scheduling
|
|
83
107
|
|
|
84
|
-
| Tool
|
|
85
|
-
|
|
86
|
-
| `list_board_meetings`
|
|
87
|
-
| `get_meeting`
|
|
88
|
-
| `create_meeting`
|
|
89
|
-
| `update_meeting`
|
|
90
|
-
| `delete_meeting`
|
|
108
|
+
| Tool | Description |
|
|
109
|
+
| ----------------------- | ------------------------------------------------------- |
|
|
110
|
+
| `list_board_meetings` | List meetings for a board |
|
|
111
|
+
| `get_meeting` | Get details for a specific meeting |
|
|
112
|
+
| `create_meeting` | Create a new meeting |
|
|
113
|
+
| `update_meeting` | Update an existing meeting |
|
|
114
|
+
| `delete_meeting` | Delete a meeting |
|
|
91
115
|
| `change_meeting_status` | Change meeting status (draft, planned, scheduled, etc.) |
|
|
92
|
-
| `list_meeting_slots`
|
|
93
|
-
| `create_meeting_slot`
|
|
94
|
-
| `vote_on_slot`
|
|
95
|
-
| `delete_meeting_slot`
|
|
96
|
-
| `confirm_meeting_slot`
|
|
116
|
+
| `list_meeting_slots` | List proposed time slots with vote tallies |
|
|
117
|
+
| `create_meeting_slot` | Propose a new time slot |
|
|
118
|
+
| `vote_on_slot` | Cast or update a vote on a proposed slot |
|
|
119
|
+
| `delete_meeting_slot` | Remove a proposed time slot |
|
|
120
|
+
| `confirm_meeting_slot` | Confirm a slot as the meeting's scheduled time |
|
|
97
121
|
|
|
98
122
|
### Documents
|
|
99
123
|
|
|
100
|
-
| Tool
|
|
101
|
-
|
|
102
|
-
| `list_board_documents`
|
|
103
|
-
| `get_document`
|
|
104
|
-
| `create_document`
|
|
105
|
-
| `update_document`
|
|
106
|
-
| `update_document_status`
|
|
107
|
-
| `delete_document`
|
|
108
|
-
| `create_document_version` | Create a new version of a document
|
|
124
|
+
| Tool | Description |
|
|
125
|
+
| ------------------------- | ------------------------------------------ |
|
|
126
|
+
| `list_board_documents` | List documents for a board |
|
|
127
|
+
| `get_document` | Get metadata for a specific document |
|
|
128
|
+
| `create_document` | Create a new document with initial version |
|
|
129
|
+
| `update_document` | Update document details |
|
|
130
|
+
| `update_document_status` | Change document status |
|
|
131
|
+
| `delete_document` | Delete a document |
|
|
132
|
+
| `create_document_version` | Create a new version of a document |
|
|
109
133
|
|
|
110
134
|
### Reports & Dashboards
|
|
111
135
|
|
|
112
|
-
| Tool
|
|
113
|
-
|
|
114
|
-
| `list_board_reports`
|
|
115
|
-
| `get_report`
|
|
116
|
-
| `create_report`
|
|
117
|
-
| `update_report`
|
|
118
|
-
| `promote_report_status`
|
|
119
|
-
| `create_followup_report`
|
|
120
|
-
| `list_report_dashboards`
|
|
121
|
-
| `get_dashboard`
|
|
122
|
-
| `create_dashboard`
|
|
123
|
-
| `create_dashboard_version`
|
|
124
|
-
| `update_dashboard_review_status` | Update dashboard review status
|
|
125
|
-
| `get_dashboard_chat`
|
|
126
|
-
| `post_dashboard_chat`
|
|
127
|
-
| `get_board_feedback`
|
|
128
|
-
| `post_board_feedback`
|
|
129
|
-
| `trigger_report_audit`
|
|
130
|
-
| `list_report_audits`
|
|
131
|
-
| `get_report_audit`
|
|
132
|
-
| `get_historical_metrics`
|
|
133
|
-
| `get_metrics_comparison`
|
|
136
|
+
| Tool | Description |
|
|
137
|
+
| -------------------------------- | -------------------------------------------------- |
|
|
138
|
+
| `list_board_reports` | List reports for a board |
|
|
139
|
+
| `get_report` | Get details for a specific report |
|
|
140
|
+
| `create_report` | Create a new report |
|
|
141
|
+
| `update_report` | Update report details |
|
|
142
|
+
| `promote_report_status` | Promote report status (draft → review → published) |
|
|
143
|
+
| `create_followup_report` | Create a follow-up report from an existing report |
|
|
144
|
+
| `list_report_dashboards` | List dashboards under a report |
|
|
145
|
+
| `get_dashboard` | Get details for a specific dashboard |
|
|
146
|
+
| `create_dashboard` | Create a custom dashboard in a report |
|
|
147
|
+
| `create_dashboard_version` | Create a new version of a dashboard |
|
|
148
|
+
| `update_dashboard_review_status` | Update dashboard review status |
|
|
149
|
+
| `get_dashboard_chat` | Get discussion comments on a dashboard |
|
|
150
|
+
| `post_dashboard_chat` | Post a comment on a dashboard |
|
|
151
|
+
| `get_board_feedback` | Get board-level feedback on a report |
|
|
152
|
+
| `post_board_feedback` | Post board-level feedback |
|
|
153
|
+
| `trigger_report_audit` | Trigger an AI audit of a report |
|
|
154
|
+
| `list_report_audits` | List audit history for a report |
|
|
155
|
+
| `get_report_audit` | Get details of a specific audit |
|
|
156
|
+
| `get_historical_metrics` | Get historical KPI data for a dashboard |
|
|
157
|
+
| `get_metrics_comparison` | Compare metrics across time periods |
|
|
134
158
|
|
|
135
159
|
### Invites
|
|
136
160
|
|
|
137
|
-
| Tool
|
|
138
|
-
|
|
139
|
-
| `list_board_invites` | List pending invites for a board
|
|
140
|
-
| `create_invite`
|
|
141
|
-
| `accept_invite`
|
|
142
|
-
| `decline_invite`
|
|
143
|
-
| `retract_invite`
|
|
161
|
+
| Tool | Description |
|
|
162
|
+
| -------------------- | --------------------------------- |
|
|
163
|
+
| `list_board_invites` | List pending invites for a board |
|
|
164
|
+
| `create_invite` | Invite a user to a board by email |
|
|
165
|
+
| `accept_invite` | Accept a board invite |
|
|
166
|
+
| `decline_invite` | Decline a board invite |
|
|
167
|
+
| `retract_invite` | Retract a sent invite |
|
|
144
168
|
|
|
145
169
|
### Notifications
|
|
146
170
|
|
|
147
|
-
| Tool
|
|
148
|
-
|
|
149
|
-
| `list_notifications`
|
|
150
|
-
| `mark_all_notifications_read` | Mark all notifications as read
|
|
151
|
-
| `mark_notification_read`
|
|
171
|
+
| Tool | Description |
|
|
172
|
+
| ----------------------------- | --------------------------------------------- |
|
|
173
|
+
| `list_notifications` | List notifications for the authenticated user |
|
|
174
|
+
| `mark_all_notifications_read` | Mark all notifications as read |
|
|
175
|
+
| `mark_notification_read` | Mark a single notification as read |
|
|
152
176
|
|
|
153
177
|
### Action Items
|
|
154
178
|
|
|
155
|
-
| Tool
|
|
156
|
-
|
|
157
|
-
| `list_my_action_items`
|
|
158
|
-
| `update_action_item_status` | Update an action item's status
|
|
179
|
+
| Tool | Description |
|
|
180
|
+
| --------------------------- | ----------------------------------- |
|
|
181
|
+
| `list_my_action_items` | List action items across all boards |
|
|
182
|
+
| `update_action_item_status` | Update an action item's status |
|
|
159
183
|
|
|
160
184
|
### Supporting Data
|
|
161
185
|
|
|
162
|
-
| Tool
|
|
163
|
-
|
|
164
|
-
| `get_board_audit_log`
|
|
165
|
-
| `get_portfolio_data`
|
|
166
|
-
| `get_fx_rates`
|
|
167
|
-
| `list_unassigned_attachments` | List email attachments awaiting assignment
|
|
168
|
-
| `reject_attachment`
|
|
186
|
+
| Tool | Description |
|
|
187
|
+
| ----------------------------- | ----------------------------------------------- |
|
|
188
|
+
| `get_board_audit_log` | Get the audit trail for a board |
|
|
189
|
+
| `get_portfolio_data` | Get portfolio data aggregated across all boards |
|
|
190
|
+
| `get_fx_rates` | Get current foreign exchange rates |
|
|
191
|
+
| `list_unassigned_attachments` | List email attachments awaiting assignment |
|
|
192
|
+
| `reject_attachment` | Reject an unassigned email attachment |
|
|
169
193
|
|
|
170
194
|
## Development
|
|
171
195
|
|