@imboard.ai/mcp-server 0.1.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.
package/README.md ADDED
@@ -0,0 +1,194 @@
1
+ # @imboard.ai/mcp-server
2
+
3
+ [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) server for [imboard](https://app.imboard.ai) — gives AI assistants read and write access to your boards, meetings, documents, reports, and dashboards through the imboard REST API.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -g @imboard.ai/mcp-server
9
+ ```
10
+
11
+ Or run directly with `npx`:
12
+
13
+ ```bash
14
+ npx @imboard.ai/mcp-server
15
+ ```
16
+
17
+ ## Configuration
18
+
19
+ The server requires two environment variables:
20
+
21
+ | Variable | Description | Example |
22
+ |----------|-------------|---------|
23
+ | `IMBOARD_API_BASE_URL` | imboard API base URL | `https://app.imboard.ai` |
24
+ | `IMBOARD_API_TOKEN` | Personal API token | `imb_pat_...` |
25
+
26
+ Optional:
27
+
28
+ | Variable | Description | Default |
29
+ |----------|-------------|---------|
30
+ | `LOG_LEVEL` | Logging verbosity (`debug`, `info`, `warn`, `error`) | `info` |
31
+
32
+ ### Getting an API Token
33
+
34
+ 1. Log in to [imboard](https://app.imboard.ai)
35
+ 2. Go to **Settings** > **API Tokens**
36
+ 3. Generate a new personal access token
37
+
38
+ ## Usage with Claude Code
39
+
40
+ Add the following to `.mcp.json` in your project root (or `~/.claude/settings.json` under `mcpServers` for global access):
41
+
42
+ ```json
43
+ {
44
+ "mcpServers": {
45
+ "imboard": {
46
+ "command": "npx",
47
+ "args": ["@imboard.ai/mcp-server"],
48
+ "env": {
49
+ "IMBOARD_API_BASE_URL": "https://app.imboard.ai",
50
+ "IMBOARD_API_TOKEN": "imb_pat_..."
51
+ }
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## Available Tools
58
+
59
+ ### User & Profile
60
+
61
+ | Tool | Description |
62
+ |------|-------------|
63
+ | `get_me` | Get the authenticated user's profile |
64
+ | `list_my_boards` | List all board memberships and pending invites |
65
+ | `get_storage_usage` | Get storage usage for unassigned email attachments |
66
+
67
+ ### Boards
68
+
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 |
81
+
82
+ ### Meetings & Scheduling
83
+
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 |
91
+ | `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 |
97
+
98
+ ### Documents
99
+
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 |
109
+
110
+ ### Reports & Dashboards
111
+
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 |
134
+
135
+ ### Invites
136
+
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 |
144
+
145
+ ### Notifications
146
+
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 |
152
+
153
+ ### Action Items
154
+
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 |
159
+
160
+ ### Supporting Data
161
+
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 |
169
+
170
+ ## Development
171
+
172
+ ```bash
173
+ # Install dependencies
174
+ pnpm install
175
+
176
+ # Run in development mode (hot reload)
177
+ pnpm dev
178
+
179
+ # Build for production
180
+ pnpm build
181
+
182
+ # Run tests
183
+ pnpm test
184
+
185
+ # Type check
186
+ pnpm typecheck
187
+
188
+ # Lint
189
+ pnpm lint
190
+ ```
191
+
192
+ ## License
193
+
194
+ MIT