133 lines
2.6 KiB
Markdown

# Monday.com MCP Server
Complete Model Context Protocol (MCP) server for Monday.com GraphQL API.
## Features
- **Full Monday.com API Coverage**: Boards, items, columns, groups, updates, users, teams, workspaces, webhooks
- **GraphQL Native**: All requests use Monday.com's GraphQL endpoint
- **Type-Safe**: Comprehensive TypeScript types for all Monday.com entities
- **Complexity Tracking**: Built-in rate limit monitoring via complexity points
- **Lazy-Loaded Tools**: Efficient MCP tool registration
## Installation
```bash
npm install
npm run build
```
## Configuration
Create a `.env` file:
```bash
cp .env.example .env
```
Add your Monday.com API key:
```env
MONDAY_API_KEY=your_api_key_here
```
Get your API key from: https://monday.com/developers/apps
## Usage
### Standalone
```bash
npm start
```
### In Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"monday": {
"command": "node",
"args": ["/path/to/monday/dist/main.js"],
"env": {
"MONDAY_API_KEY": "your_api_key_here"
}
}
}
}
```
## Available Tools
### Boards
- `get_boards` - List all boards with filtering
- `get_board` - Get single board with columns and groups
- `create_board` - Create new board
### Items
- `get_items` - List items from a board
- `get_item` - Get single item with column values
- `create_item` - Create new item
- `change_column_value` - Update column value
### Groups
- `create_group` - Create new group in board
### Updates (Activity Feed)
- `get_updates` - Get item updates/comments
- `create_update` - Create update/comment
### Users & Teams
- `get_users` - List all users
- `get_teams` - List all teams
- `get_workspaces` - List all workspaces
### Webhooks
- `create_webhook` - Create webhook for board events
- `delete_webhook` - Delete webhook
## Column Types
Supports ALL Monday.com column types:
- Status, Text, Numbers, Date, People, Timeline
- Dropdown, Checkbox, Rating, Label
- Link, Email, Phone, Long Text
- Color Picker, Tags, Hour, Week, World Clock
- File, Board Relation, Mirror, Formula
- Auto Number, Creation Log, Last Updated, Dependency
Each column type has proper TypeScript definitions with typed values.
## GraphQL Architecture
All requests are POST to `https://api.monday.com/v2`:
```typescript
{
"query": "query { boards { id name } }",
"variables": {}
}
```
Rate limiting uses complexity points (10,000,000 per minute). The client tracks complexity from response metadata.
## Development
```bash
# Type check
npm run typecheck
# Build
npm run build
# Watch mode
npm run dev
```
## License
MIT