@danielma-tic/mondaydotcom-mcp-server
Version:
MCP Server for the Monday.com API, enabling board operations, item management, and more.
155 lines (113 loc) • 4.61 kB
Markdown
# mondaydotcom-mcp-server
A Model Context Protocol server that provides read and write access to Monday.com workspaces. This server enables LLMs to inspect board schemas, then read and write items.
## Usage
To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"monday": {
"command": "npx",
"args": [
"-y",
"mondaydotcom-mcp-server",
"api_token_xyz123"
]
}
}
}
```
Replace `api_token_xyz123` with your Monday.com API token. Your token should have appropriate read and write permissions for the boards you want to access.
## Components
### Tools
#### list_boards
Lists boards from your Monday.com workspace
- Input parameters:
- workspaceId (string, optional): Filter boards by workspace
- maxResults (number, optional): Maximum number of boards to return. Defaults to 100.
#### search_items
Search for items containing specific text
- Input parameters:
- boardId (string, required): The ID of the board to query
- searchTerm (string, required): Text to search for in items
- columnIds (array, optional): Specific column IDs to search in
- maxResults (number, optional): Maximum number of items to return. Defaults to 100.
#### list_workspaces
Lists all accessible Monday.com workspaces
- No input parameters required
- Returns workspace ID, name, and kind
#### list_groups
Lists all groups in a specific board
- Input parameters:
- boardId (string, required): The ID of the board
#### get_item
Gets a specific item by ID
- Input parameters:
- boardId (string, required): The ID of the board
- itemId (string, required): The ID of the item to retrieve
#### create_item
Creates a new item in a board
- Input parameters:
- boardId (string, required): The ID of the board
- groupId (string, optional): The ID of the group
- columnValues (object, required): The columns and values for the new item
#### update_items
Updates one or more items in a board
- Input parameters:
- boardId (string, required): The ID of the board
- items (array, required): Array of objects containing item ID and column values to update
#### delete_items
Deletes one or more items from a board
- Input parameters:
- boardId (string, required): The ID of the board
- itemIds (array, required): Array of item IDs to delete
#### create_board
Creates a new board in a workspace
- Input parameters:
- workspaceId (string, required): The ID of the workspace
- name (string, required): Name of the new board
- description (string, optional): Description of the board
- columns (array, required): Array of column definitions (title, type, settings)
#### update_board
Updates a board's name or description
- Input parameters:
- boardId (string, required): The ID of the board
- name (string, optional): New name for the board
- description (string, optional): New description for the board
#### create_column
Creates a new column in a board
- Input parameters:
- boardId (string, required): The ID of the board
- title (string, required): Title of the new column
- type (string, required): Type of the column
- settings (object, optional): Column-specific settings
#### update_column
Updates a column's title or settings
- Input parameters:
- boardId (string, required): The ID of the board
- columnId (string, required): The ID of the column
- title (string, optional): New title for the column
- settings (object, optional): New settings for the column
## Resources
The server provides schema information for Monday.com boards:
### Board Schemas (monday://<boardId>/schema)
- JSON schema information for each board
- Includes:
- Board id and name
- Board description
- Column definitions (ID, title, type, settings)
- Group definitions (ID, title, color)
- Automatically discovered from Monday.com's GraphQL API
## Contributing
Pull requests are welcomed on GitHub! To get started:
1. Install Git and Node.js
2. Clone the repository
3. Install dependencies with `npm install`
4. Run `npm run test` to run tests
5. Build with `npm run build`
You can use `npm run build:watch` to automatically build after editing `src/index.ts`. This means you can hit save, reload Claude Desktop (with Ctrl/Cmd+R), and the changes apply.
## Releases
Versions follow the semantic versioning spec.
To release:
1. Use `npm version <major | minor | patch>` to bump the version
2. Run `git push --follow-tags` to push with tags
3. Wait for GitHub Actions to publish to the NPM registry.