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.
To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.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.
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 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.
Lists all accessible Monday.com workspaces
- No input parameters required
- Returns workspace ID, name, and kind
Lists all groups in a specific board
- Input parameters:
- boardId (string, required): The ID of the board
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
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
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
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
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)
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
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
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
The server provides schema information for Monday.com boards:
- 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
Pull requests are welcomed on GitHub! To get started:
- Install Git and Node.js
- Clone the repository
- Install dependencies with
npm install
- Run
npm run test
to run tests - 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.
Versions follow the semantic versioning spec.
To release:
- Use
npm version <major | minor | patch>
to bump the version - Run
git push --follow-tags
to push with tags - Wait for GitHub Actions to publish to the NPM registry.