2.6 KiB
2.6 KiB
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
npm install
npm run build
Configuration
Create a .env file:
cp .env.example .env
Add your Monday.com API key:
MONDAY_API_KEY=your_api_key_here
Get your API key from: https://monday.com/developers/apps
Usage
Standalone
npm start
In Claude Desktop
Add to your claude_desktop_config.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 filteringget_board- Get single board with columns and groupscreate_board- Create new board
Items
get_items- List items from a boardget_item- Get single item with column valuescreate_item- Create new itemchange_column_value- Update column value
Groups
create_group- Create new group in board
Updates (Activity Feed)
get_updates- Get item updates/commentscreate_update- Create update/comment
Users & Teams
get_users- List all usersget_teams- List all teamsget_workspaces- List all workspaces
Webhooks
create_webhook- Create webhook for board eventsdelete_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:
{
"query": "query { boards { id name } }",
"variables": {}
}
Rate limiting uses complexity points (10,000,000 per minute). The client tracks complexity from response metadata.
Development
# Type check
npm run typecheck
# Build
npm run build
# Watch mode
npm run dev
License
MIT