@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 CHANGED
@@ -18,16 +18,16 @@ npx @imboard.ai/mcp-server
18
18
 
19
19
  The server requires two environment variables:
20
20
 
21
- | Variable | Description | Example |
22
- |----------|-------------|---------|
21
+ | Variable | Description | Example |
22
+ | ---------------------- | -------------------- | ------------------------ |
23
23
  | `IMBOARD_API_BASE_URL` | imboard API base URL | `https://app.imboard.ai` |
24
- | `IMBOARD_API_TOKEN` | Personal API token | `imb_pat_...` |
24
+ | `IMBOARD_API_TOKEN` | Personal API token | `imb_pat_...` |
25
25
 
26
26
  Optional:
27
27
 
28
- | Variable | Description | Default |
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 | Description |
62
- |------|-------------|
63
- | `get_me` | Get the authenticated user's profile |
64
- | `list_my_boards` | List all board memberships and pending invites |
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 | Description |
70
- |------|-------------|
71
- | `list_boards` | List boards the user has access to |
72
- | `get_board` | Get detailed board information |
73
- | `create_board` | Create a new board |
74
- | `update_board` | Update board details (name, description, settings) |
75
- | `list_board_members` | List members of a board |
76
- | `get_board_member` | Get details for a specific board member |
77
- | `assign_member_roles` | Assign roles, positions, and access types to a board member |
78
- | `search_board_documents` | Semantic search across all documents in a board |
79
- | `list_board_action_items` | List action items for a board |
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 | Description |
85
- |------|-------------|
86
- | `list_board_meetings` | List meetings for a board |
87
- | `get_meeting` | Get details for a specific meeting |
88
- | `create_meeting` | Create a new meeting |
89
- | `update_meeting` | Update an existing meeting |
90
- | `delete_meeting` | Delete a 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` | List proposed time slots with vote tallies |
93
- | `create_meeting_slot` | Propose a new time slot |
94
- | `vote_on_slot` | Cast or update a vote on a proposed slot |
95
- | `delete_meeting_slot` | Remove a proposed time slot |
96
- | `confirm_meeting_slot` | Confirm a slot as the meeting's scheduled time |
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 | Description |
101
- |------|-------------|
102
- | `list_board_documents` | List documents for a board |
103
- | `get_document` | Get metadata for a specific document |
104
- | `create_document` | Create a new document with initial version |
105
- | `update_document` | Update document details |
106
- | `update_document_status` | Change document status |
107
- | `delete_document` | Delete a 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 | Description |
113
- |------|-------------|
114
- | `list_board_reports` | List reports for a board |
115
- | `get_report` | Get details for a specific report |
116
- | `create_report` | Create a new report |
117
- | `update_report` | Update report details |
118
- | `promote_report_status` | Promote report status (draft → review → published) |
119
- | `create_followup_report` | Create a follow-up report from an existing report |
120
- | `list_report_dashboards` | List dashboards under a report |
121
- | `get_dashboard` | Get details for a specific dashboard |
122
- | `create_dashboard` | Create a custom dashboard in a report |
123
- | `create_dashboard_version` | Create a new version of a dashboard |
124
- | `update_dashboard_review_status` | Update dashboard review status |
125
- | `get_dashboard_chat` | Get discussion comments on a dashboard |
126
- | `post_dashboard_chat` | Post a comment on a dashboard |
127
- | `get_board_feedback` | Get board-level feedback on a report |
128
- | `post_board_feedback` | Post board-level feedback |
129
- | `trigger_report_audit` | Trigger an AI audit of a report |
130
- | `list_report_audits` | List audit history for a report |
131
- | `get_report_audit` | Get details of a specific audit |
132
- | `get_historical_metrics` | Get historical KPI data for a dashboard |
133
- | `get_metrics_comparison` | Compare metrics across time periods |
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 | Description |
138
- |------|-------------|
139
- | `list_board_invites` | List pending invites for a board |
140
- | `create_invite` | Invite a user to a board by email |
141
- | `accept_invite` | Accept a board invite |
142
- | `decline_invite` | Decline a board invite |
143
- | `retract_invite` | Retract a sent 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 | Description |
148
- |------|-------------|
149
- | `list_notifications` | List notifications for the authenticated user |
150
- | `mark_all_notifications_read` | Mark all notifications as read |
151
- | `mark_notification_read` | Mark a single notification as 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 | Description |
156
- |------|-------------|
157
- | `list_my_action_items` | List action items across all boards |
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 | Description |
163
- |------|-------------|
164
- | `get_board_audit_log` | Get the audit trail for a board |
165
- | `get_portfolio_data` | Get portfolio data aggregated across all boards |
166
- | `get_fx_rates` | Get current foreign exchange rates |
167
- | `list_unassigned_attachments` | List email attachments awaiting assignment |
168
- | `reject_attachment` | Reject an unassigned email 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