diff --git a/MONDAY.md b/MONDAY.md new file mode 100644 index 00000000..541ba520 --- /dev/null +++ b/MONDAY.md @@ -0,0 +1,34 @@ +# monday.com Gemini CLI Extension + +## Overview + +This extension connects Gemini CLI to monday.com's hosted Model Context Protocol (MCP) server at `https://mcp.monday.com/mcp`. + +Prior to using tools from the monday.com MCP server you must authenticate. This is done by running `/mcp auth monday` which will open a OAuth flow in your browser. + +## Custom Commands + +Several custom slash commands are available to interact with monday.com. These commands are shortcuts for common monday.com tasks. + +They all are prefixed with `/monday:`: + +- **/monday:analyze-board**: Analyze a monday.com board to provide insights (requires Board ID). +- **/monday:create-item**: Create a new item in a monday.com board (requires Board ID and Item Name). +- **/monday:update-item**: Update a monday.com item (task, bug, epic, etc.) with a comment or change column values (requires Item ID and text of update for comment, or Board ID, Item ID, and column key-value pairs for column updates). +- **/monday:save-my-user-id**: Fetches the current monday.com user ID and saves it to long-term memory. +- **/monday:sprint-summary**: Get a comprehensive summary of a monday.com sprint (requires Sprint ID). + +## Troubleshooting + +Before using the monday.com MCP server, you need an admin to install the Monday MCP app in your monday.com account +from the marketplace: + +1. Visit [monday MCP app in the marketplace](https://monday.com/marketplace/listing/10000806/monday-mcp) +2. Click "Install" and follow the instructions to add it to your account + +If you have already installed the app, below are some common troubleshooting +steps: + +- Run `/mcp list` to confirm the `monday` server is connected. +- Run `/mcp desc monday` to see detailed overview of available tools. +- Run `/mcp auth monday` to authenticate with monday.com. diff --git a/README.md b/README.md index 504ff45f..adc599fe 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,52 @@ To interact with monday.com's API, you'll need an API token: } ``` +#### For Gemini CLI + +To get started with [Gemini CLI](https://geminicli.com), you can use the +official [Gemini CLI extension](https://geminicli.com/extensions) for +monday.com. + +The Gemini CLI extension bundles the monday.com MCP server with a context file +and custom commands that teaches Gemini how to use the monday.com tools for +powerful workflows. + +To install the extension run the following command in your terminal: + +```sh +gemini extensions install https://github.com/mondaycom/mcp +``` + +If you prefer to use the MCP server directly without the extension, you can add +it with this command: + +```sh +gemini mcp add -t http monday https://mcp.monday.com/mcp +``` + +Once you have either the extension installed or the MCP server added, start +Gemini CLI by running: + +```sh +gemini +``` + +Then, authenticate with your monday.com account by running the following +command inside Gemini CLI: + +```sh +/mcp auth monday +``` + +This will open a browser window to complete the authentication process. +After authenticating, all the monday.com tools and custom commands will +be available. + +A few custom command to try out for the extension: + +- `/monday:create-item` create item in board 123 for "Update the UI" +- `/monday:sprint-summary` sprint summary for sprint 853 + #### For Cursor or Other MCP Clients Add to your settings: diff --git a/commands/monday/analyze-board.toml b/commands/monday/analyze-board.toml new file mode 100644 index 00000000..9ef53be3 --- /dev/null +++ b/commands/monday/analyze-board.toml @@ -0,0 +1,11 @@ +description = "Analyze a monday.com board to provide insights." +prompt = """ +Please analyze the monday.com board corresponding to this input: {{args}} + +Goal: Provide a summary of the board's data, such as total items, items per status, or other relevant aggregations. + +Steps: +1. Identify the Board ID from the input. If not provided, ask for it. You can extract it from the board's url. +2. If you are not familiar with the board's structure, use `get_board_info` first to understand available columns. +3. Use the `board_insights` tool to calculate relevant insights based on the user's request or general best practices if no specific insight was requested. +""" diff --git a/commands/monday/create-item.toml b/commands/monday/create-item.toml new file mode 100644 index 00000000..36f02cc3 --- /dev/null +++ b/commands/monday/create-item.toml @@ -0,0 +1,12 @@ +description = "Create a new item in a monday.com board." +prompt = """ +I want to create a new item in monday.com. + +Here is the input: {{args}} + +Please use the `create_item` tool. +If any strictly required information (like Board ID or Item Name) is missing +from the input, please ask for it before proceeding. If column values are +provided in natural language, please try to map them to the board's actual +columns (you might need to use `get_board_info` first if you don't know the column IDs). +""" diff --git a/commands/monday/save-my-user-id.toml b/commands/monday/save-my-user-id.toml new file mode 100644 index 00000000..a36a5b12 --- /dev/null +++ b/commands/monday/save-my-user-id.toml @@ -0,0 +1,9 @@ +description = "Fetches the current monday.com user ID and saves it to long-term memory." +prompt = """ +I need you to find and remember my monday.com User ID. + +Please execute the following steps: +1. Use the `list_users_and_teams` tool with `{"getMe": true}` to find my user details. +2. Once you have the response, extract the `id` field. +3. Use the `save_memory` tool to save this exact fact: "My monday.com user ID is [THE_ID_YOU_FOUND]". +""" diff --git a/commands/monday/sprint-summary.toml b/commands/monday/sprint-summary.toml new file mode 100644 index 00000000..bfc5f21b --- /dev/null +++ b/commands/monday/sprint-summary.toml @@ -0,0 +1,8 @@ +description = "Get a comprehensive summary of a monday.com sprint." +prompt = """ +Please provide a comprehensive summary for the monday.com sprint. + +Sprint ID or details: {{args}} + +Use the `get_sprint_summary` tool. If the Sprint ID is missing, please ask for it. +""" diff --git a/commands/monday/update-item.toml b/commands/monday/update-item.toml new file mode 100644 index 00000000..17c44b81 --- /dev/null +++ b/commands/monday/update-item.toml @@ -0,0 +1,12 @@ +description = "Update a monday.com item with a comment or change column values." +prompt = """ +Please update a monday.com item. (bug, task, epic, etc.) + +Input details: {{args}} + +To add a comment on an item use the `create_update` tool. You will need the Item ID and the text of the update. +If these are not clear from the input, please ask for clarification. + +To update a column value on an item use the `change_item_column_values` tool. You will need the Board ID, Item ID and the column ID and value. +If these are not clear from the input, please ask for clarification. +""" diff --git a/gemini-extension.json b/gemini-extension.json new file mode 100644 index 00000000..f2843a29 --- /dev/null +++ b/gemini-extension.json @@ -0,0 +1,11 @@ +{ + "name": "monday", + "description": "Manage your monday.com projects, tasks, and everday work.", + "version": "0.0.41", + "contextFileName": "MONDAY.md", + "mcpServers": { + "monday": { + "httpUrl": "https://mcp.monday.com/mcp" + } + } +}