# 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