@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 +194 -0
- package/dist/index.cjs +1866 -0
- package/package.json +83 -0
- package/src/api-client/errors.ts +42 -0
- package/src/api-client/imboardApiClient.ts +256 -0
- package/src/config.ts +62 -0
- package/src/index.ts +32 -0
- package/src/resources/docs.resources.ts +97 -0
- package/src/server.ts +54 -0
- package/src/tools/action-items.tools.ts +41 -0
- package/src/tools/boards.tools.ts +172 -0
- package/src/tools/dashboards.tools.ts +45 -0
- package/src/tools/documents-write.tools.ts +110 -0
- package/src/tools/documents.tools.ts +46 -0
- package/src/tools/getMe.tool.ts +17 -0
- package/src/tools/invites.tools.ts +90 -0
- package/src/tools/meetings.tools.ts +160 -0
- package/src/tools/members.tools.ts +43 -0
- package/src/tools/notifications.tools.ts +47 -0
- package/src/tools/reports.tools.ts +414 -0
- package/src/tools/shared.ts +82 -0
- package/src/tools/slots.tools.ts +115 -0
- package/src/tools/supporting.tools.ts +92 -0
- package/src/tools/user.tools.ts +31 -0
- package/src/utils/logging.ts +59 -0
- package/src/utils/redact.ts +8 -0
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
|