npm package: @imboard.ai/mcp-server
Description: imboard MCP server — adapter over the public REST API
Latest version: 0.1.0

# @imboard.ai/mcp-server

[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.

## Installation

```bash
npm install -g @imboard.ai/mcp-server
```

Or run directly with `npx`:

```bash
npx @imboard.ai/mcp-server
```

## Configuration

The server requires two environment variables:

| Variable | Description | Example |
|----------|-------------|---------|
| `IMBOARD_API_BASE_URL` | imboard API base URL | `https://app.imboard.ai` |
| `IMBOARD_API_TOKEN` | Personal API token | `imb_pat_...` |

Optional:

| Variable | Description | Default |
|----------|-------------|---------|
| `LOG_LEVEL` | Logging verbosity (`debug`, `info`, `warn`, `error`) | `info` |

### Getting an API Token

1. Log in to [imboard](https://app.imboard.ai)
2. Go to **Settings** > **API Tokens**
3. Generate a new personal access token

## Usage with Claude Code

Add the following to `.mcp.json` in your project root (or `~/.claude/settings.json` under `mcpServers` for global access):

```json
{
  "mcpServers": {
    "imboard": {
      "command": "npx",
      "args": ["@imboard.ai/mcp-server"],
      "env": {
        "IMBOARD_API_BASE_URL": "https://app.imboard.ai",
        "IMBOARD_API_TOKEN": "imb_pat_..."
      }
    }
  }
}
```

## Available Tools

### User & Profile

| Tool | Description |
|------|-------------|
| `get_me` | Get the authenticated user's profile |
| `list_my_boards` | List all board memberships and pending invites |
| `get_storage_usage` | Get storage usage for unassigned email attachments |

### Boards

| Tool | Description |
|------|-------------|
| `list_boards` | List boards the user has access to |
| `get_board` | Get detailed board information |
| `create_board` | Create a new board |
| `update_board` | Update board details (name, description, settings) |
| `list_board_members` | List members of a board |
| `get_board_member` | Get details for a specific board member |
| `assign_member_roles` | Assign roles, positions, and access types to a board member |
| `search_board_documents` | Semantic search across all documents in a board |
| `list_board_action_items` | List action items for a board |
| `update_board_action_item` | Update action item status |

### Meetings & Scheduling

| Tool | Description |
|------|-------------|
| `list_board_meetings` | List meetings for a board |
| `get_meeting` | Get details for a specific meeting |
| `create_meeting` | Create a new meeting |
| `update_meeting` | Update an existing meeting |
| `delete_meeting` | Delete a meeting |
| `change_meeting_status` | Change meeting status (draft, planned, scheduled, etc.) |
| `list_meeting_slots` | List proposed time slots with vote tallies |
| `create_meeting_slot` | Propose a new time slot |
| `vote_on_slot` | Cast or update a vote on a proposed slot |
| `delete_meeting_slot` | Remove a proposed time slot |
| `confirm_meeting_slot` | Confirm a slot as the meeting's scheduled time |

### Documents

| Tool | Description |
|------|-------------|
| `list_board_documents` | List documents for a board |
| `get_document` | Get metadata for a specific document |
| `create_document` | Create a new document with initial version |
| `update_document` | Update document details |
| `update_document_status` | Change document status |
| `delete_document` | Delete a document |
| `create_document_version` | Create a new version of a document |

### Reports & Dashboards

| Tool | Description |
|------|-------------|
| `list_board_reports` | List reports for a board |
| `get_report` | Get details for a specific report |
| `create_report` | Create a new report |
| `update_report` | Update report details |
| `promote_report_status` | Promote report status (draft → review → published) |
| `create_followup_report` | Create a follow-up report from an existing report |
| `list_report_dashboards` | List dashboards under a report |
| `get_dashboard` | Get details for a specific dashboard |
| `create_dashboard` | Create a custom dashboard in a report |
| `create_dashboard_version` | Create a new version of a dashboard |
| `update_dashboard_review_status` | Update dashboard review status |
| `get_dashboard_chat` | Get discussion comments on a dashboard |
| `post_dashboard_chat` | Post a comment on a dashboard |
| `get_board_feedback` | Get board-level feedback on a report |
| `post_board_feedback` | Post board-level feedback |
| `trigger_report_audit` | Trigger an AI audit of a report |
| `list_report_audits` | List audit history for a report |
| `get_report_audit` | Get details of a specific audit |
| `get_historical_metrics` | Get historical KPI data for a dashboard |
| `get_metrics_comparison` | Compare metrics across time periods |

### Invites

| Tool | Description |
|------|-------------|
| `list_board_invites` | List pending invites for a board |
| `create_invite` | Invite a user to a board by email |
| `accept_invite` | Accept a board invite |
| `decline_invite` | Decline a board invite |
| `retract_invite` | Retract a sent invite |

### Notifications

| Tool | Description |
|------|-------------|
| `list_notifications` | List notifications for the authenticated user |
| `mark_all_notifications_read` | Mark all notifications as read |
| `mark_notification_read` | Mark a single notification as read |

### Action Items

| Tool | Description |
|------|-------------|
| `list_my_action_items` | List action items across all boards |
| `update_action_item_status` | Update an action item's status |

### Supporting Data

| Tool | Description |
|------|-------------|
| `get_board_audit_log` | Get the audit trail for a board |
| `get_portfolio_data` | Get portfolio data aggregated across all boards |
| `get_fx_rates` | Get current foreign exchange rates |
| `list_unassigned_attachments` | List email attachments awaiting assignment |
| `reject_attachment` | Reject an unassigned email attachment |

## Development

```bash
# Install dependencies
pnpm install

# Run in development mode (hot reload)
pnpm dev

# Build for production
pnpm build

# Run tests
pnpm test

# Type check
pnpm typecheck

# Lint
pnpm lint
```

## License

MIT