From c982b2d76fbb578902af371feabe69c36080e237 Mon Sep 17 00:00:00 2001 From: Isaac Johnson Date: Tue, 14 Oct 2025 18:51:18 -0500 Subject: [PATCH] Updates with README and TOOLS --- README.md | 26 ++++++++++++++ TOOLS.md | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 README.md create mode 100644 TOOLS.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..673e2e3 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# Vikunja MCP Server + +This is a Gemini CLI extension that provides a simple MCP server for interacting with a [Vikunja](https://vikunja.io/) instance. + +## Installation + +To install this extension for the Gemini CLI, run the following command: + +```bash +gemini extensions install https://forgejo.freshbrewed.science/builderadmin/vikunjamcp +``` + +## Docker Images + +The Docker image for this server is available from the following registries: + +* **Harbor:** `harbor.freshbrewed.science/library/vikunjamcp` +* **Docker Hub:** `idjohnson/vikunjamcp` + +## API Documentation + +This server interacts with the Vikunja API. You can find the official API documentation at [https://vikunja.io/docs/api-documentation/](https://vikunja.io/docs/api-documentation/). + +## Blog + +You can find more information and related articles on our blog: [https://freshbrewed.science](https://freshbrewed.science) diff --git a/TOOLS.md b/TOOLS.md new file mode 100644 index 0000000..740c37a --- /dev/null +++ b/TOOLS.md @@ -0,0 +1,105 @@ +# Implemented Tools Documentation + +## Tools List + +### 1. `login` +- **Description**: Authenticates with the Vikunja API to get a session token. +- **Parameters**: None. +- **Returns**: Success or failure message. + +### 2. `search_tasks` +- **Description**: Searches for tasks in Vikunja. +- **Parameters**: + - `query` (str): Search string to find tasks. +- **Returns**: A list of tasks matching the query. + +### 3. `active_tasks` +- **Description**: Retrieves a list of active (not done) tasks from Vikunja. +- **Parameters**: + - `project_id` (int, optional): Filter tasks by project ID. + - `is_favorite` (bool, optional): Filter tasks marked as favorite. +- **Returns**: A list of active tasks. + +### 4. `get_task_details` +- **Description**: Retrieves details of a specific task in Vikunja. +- **Parameters**: + - `task_id` (int): The ID of the task. +- **Returns**: Details about the specified task. + +### 5. `add_task` +- **Description**: Adds a new task to a Vikunja project. +- **Parameters**: + - `project_id` (int): The project ID to add the task to. + - `title` (str): Task title. + - `description` (str, optional): Task description. +- **Returns**: The created task or an error message. + +### 6. `update_task_title` +- **Description**: Updates the title of an existing task. +- **Parameters**: + - `task_id` (int): The task's ID. + - `title` (str): New title. +- **Returns**: The updated task or an error message. + +### 7. `update_task_description` +- **Description**: Updates the description of an existing task. +- **Parameters**: + - `task_id` (int): The task's ID. + - `description` (str): New description. +- **Returns**: The updated task or an error message. + +### 8. `delete_task` +- **Description**: Deletes a specified task. +- **Parameters**: + - `task_id` (int): The task's ID. +- **Returns**: A success message or error. + +### 9. `close_task` +- **Description**: Marks a task as done. +- **Parameters**: + - `task_id` (int): The task's ID. +- **Returns**: The closed task or error message. + +### 10. `comment_task` +- **Description**: Adds a comment to a task. +- **Parameters**: + - `task_id` (int): The task's ID. + - `description` (str): Comment text. +- **Returns**: The added comment or an error message. + +### 11. `lookup_comment_task` +- **Description**: Lists comments on a task. +- **Parameters**: + - `task_id` (int): The task's ID. +- **Returns**: Comments related to the task or an error message. + +### 12. `update_comment` +- **Description**: Updates a specific comment on a task. +- **Parameters**: + - `task_id` (int): The task ID. + - `comment_id` (int): The comment ID. + - `comment` (str): New content for the comment. +- **Returns**: The updated comment or error message. + +### 13. `lookup_project` +- **Description**: Lists all accessible projects for the user. +- **Parameters**: None. +- **Returns**: A list of projects with their details. + +### 14. `create_project` +- **Description**: Creates a new project in Vikunja. +- **Parameters**: + - `title` (str): The project title. + - `description` (str, optional): Description of the project. + - `is_favorite` (bool, optional): Mark as favorite (default: False). +- **Returns**: The created project or error message. + +### 15. `update_task_details` +- **Description**: Updates multiple fields of an existing task. +- **Parameters**: + - `task_id` (int): The task's ID. + - `title` (str, optional): The updated title of the task. + - `description` (str, optional): Updated description for the task. + - Other optional parameters include fields like `done`, `percent_done`, `due_date`, etc. + - `labels` (str, optional): Comma-separated labels for the task. +- **Returns**: The updated task or an error message. \ No newline at end of file