From 3a0c41a0ab826889c5c3c1bf0b0355dbb03397f9 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Wed, 25 Mar 2026 14:04:40 +0100 Subject: [PATCH 1/4] feat(ContextAgent): Document more tools Signed-off-by: Marcel Klehr --- admin_manual/ai/app_context_agent.rst | 335 +++++++++++++++++++++----- 1 file changed, 277 insertions(+), 58 deletions(-) diff --git a/admin_manual/ai/app_context_agent.rst b/admin_manual/ai/app_context_agent.rst index 9da158762..7667060f3 100644 --- a/admin_manual/ai/app_context_agent.rst +++ b/admin_manual/ai/app_context_agent.rst @@ -11,33 +11,9 @@ Tool groups are only available if their requirements are met. They can be en- an Currently implemented tools: -* List the user's calendars +Artificial intelligence tools +############################# - * Example prompt: *"List my calendars"* - -* List the user's talk conversations (requires `Talk `_) - - * Example prompt: *"List my talk conversations"* - -* List messages in a talk conversation (requires `Talk `_) - - * Example prompt: *"List the latest messages in my conversation with Andrew"* - -* Send a message to a talk conversation (requires `Talk `_) - - * Example prompt: *"Can you send a joke to Andrew in talk?"* - -* Create a public talk conversation (requires `Talk `_) - - * Example prompt: *"Can you create a new public talk conversation titled 'Press conference'?"* - -* Find a person in the user's contacts - - * Example prompt: *"What is Andrew's Email address?"* - -* Find the current user's details - - * Example prompt: *"Where do I live?"* * Ask a question to context chat (requires :ref:`Context Chat`) @@ -57,6 +33,274 @@ Currently implemented tools: * Example prompt: *"Can you generate me an image of a cartoon drawing of a roman soldier typing something on a laptop?"* +Calendar tools +############## + +* List the user's calendars + + * Example prompt: *"List my calendars"* + +* Schedule an event in the user's calendar + + * Example prompt: *"Schedule an event with Andrew tomorrow at noon."* + +* Find free times in users' calendar + + * Example prompt: *"Find a free 1-hour slot for a meeting with me and Marco next week."* + +Tasks tools +########### + +* Create a task + + * Example prompt: *"Create a task for grocery shopping with due date tomorrow."* + +* List tasks + + * Example prompt: *"List my outstanding tasks"* + +* Complete a task + + * Example prompt: *"Mark the grocery shopping task as completed."* + +* Update a task's details + + * Example prompt: *"Change the priority of the grocery shopping task to the highest possible priority."* + * Example prompt: *"Change the due date of my work report task to the beginning of next week."* + +* Delete a task + + * Example prompt: *"Delete the grocery shopping task in my tasks."* + + +Circles/teams tools +################### + +* List circles + + * Example prompt: *"List all my teams."* + +* List circle members + + * Example prompt: *"List all members of my Content Marketing team."* + +* Create new circle + + * Example prompt: *"Create a new team called 'Hiking group'."* + +* Add members to circles + + * Example prompt: *"Add Ralph to the Hiking group team."* + +* Remove members from circles + + * Example prompt: *"Remove ralph from the Hiking group team."* + +* Change circle details + + * Example prompt: *"Change the name of the Hiking group team to 'Outdoor group'."* + * Example prompt: *"Add the following description to the Hiking group team: We go hiking together once a month. Come join us."* + +* Delete a circle + + * Example prompt: *"Delete the Hiking group team."* + +* Share a file with a circle + + * Example prompt: *"Share my Hiking plans.md file with the Hiking group team."* + + +Contacts tools +############## + +* Find a contact + + * Example prompt: *"What is Anna's email address?"* + +* Find a user's ID + + * Example prompt: *"What is Ralph's userID?"* + +* Find the current user's details + + * Example prompt: *"Where do I live?"* + +Cookbook tools +############## + +* List recipes + + * Example prompt: *"List my recipes."* + +* Search for recipes + + * Example prompt: *"Do I have any Spaghetti recipes?"* + +* Get recipe details + + * Example prompt: *"Can you give me the details of my Spaghetti Carbonara recipe?"* + +* Create a new recipe + + * Example prompt: *"Create a recipe for Guacamole in my cookbook."* + +* Delete a recipe + + * Example prompt: *"Remove the Guacamole recipe from my cookbook."* + +* List recipe categories + + * Example prompt: *"Which recipe categories do I have in my cookbook?"* + +Deck tools +########## + +* List deck boards + + * Example prompt: *"List the deck boards I have access to."* + +* Add a new card + + * Example prompt: *"Can you add a card with title 'Repair kitchen sink' to my Personal deck board?"* + +* Add a label to a card + + * Example prompt: *"Can you add the label 'Urget' to the 'repair kitchen sink' card in my personal deck board?"* + +* Assign a card to a user + + * Example prompt: *"Can you assign the 'Repair kitchen sink' card in my Personal deck board to Andrew?"* + +* Delete a card + + * Example prompt: *"Delete the 'Repair kitchen sink' card in my Personal deck board."* + +Files tools +########### + +* Get contents of a file + + * Example prompt: *"Can you fetch the following file in my documents? Design/Planning.md"* + * Example prompt: *"Can you fetch the following file in my documents? https://mycloud.com/f/98543234"* + +* Retrieve folder tree + + * Example prompt: *"List my files."* + +* Create a public link for a file or folder + + * Example prompt: *"Create a public link for the following file: Design/Planning.md"* + +* Create a new file + + * Example prompt: *"Create a new file Ideas.md in my files and fill it with ideas for hiking destinations in the black forest."* + +* Create a new folder + + * Example prompt: *"Create a new folder 'Hiking plans' in my files."* + +* Move a file + + * Example prompt: *"Move the Ideas.md file into the Hiking plans folder."* + +* Copy a file + + * Example prompt: *"Copy the Ideas.md file into my Notes folder."* + +* Delete a file + + * Example prompt: *"Delete the Ideas.md file."* + +Forms tools +########### + +* List all forms + + * Example prompt: *"List all the forms I have access to."* + +* Get details of a form + + * Example prompt: *"Can you give me all details about the Retreat signup form?"* + +* Add a question to a form + + * Example prompt: *"Add the following question to the retreat signup form: 'Number of days attending'."* + +* Retrieve all responses of a form + + * Example prompt: *"List all responses to the Retreat signup form."* + +* Update form settings + + * Example prompt: *"Make the Retreat signup form expire end of next week."* + +* Delete a form + + * Example prompt: *"Delete the Retreat signup form."* + +Search tools +############ +All search providers in Nextcloud are also automatically available as tools. + +* Search for files + + * Example prompt: *"List all the powerpoint presentations in my files with file ending pptx."* + +Share tools +########### + +* List shares + + * Example prompt: *"List all files that were shared with me."* + * Example prompt: *"List the shares of the Design/Ideas.md file."* + +* Share a file or folder with a user + + * Example prompt: *"Share the Design/Ideas.md file with the user martin."* + +* Share a file or folder with a group + + * Example prompt: *"Share the Design/Ideas.md file with the group Designers."* + +* Update a share's permissions + + * Example prompt: *"Only allow martin read only access on the share of the Design/Ideas.md file."* + +* Delete a share + + * Example prompt: *"Remove the share of the Design/Ideas.md file with martin."* + +* List user groups + + * Example prompt: *"Which user groups are there?"* + +* Retrieve share details + + * Example prompt: *"Does martin have write access to the Design/Ideas.md file I shared with him?"* + + +Talk tools +########## + +* List the user's talk conversations (requires `Talk `_) + + * Example prompt: *"List my talk conversations"* + +* List messages in a talk conversation (requires `Talk `_) + + * Example prompt: *"List the latest messages in my conversation with Andrew"* + +* Send a message to a talk conversation (requires `Talk `_) + + * Example prompt: *"Can you send a joke to Andrew in talk?"* + +* Create a public talk conversation (requires `Talk `_) + + * Example prompt: *"Can you create a new public talk conversation titled 'Press conference'?"* + +Miscellaneous tools +################### + * Get coordinates for an Address from Open Street Maps Nomatim * Example prompt: *"What are the coordinates for Berlin, Germany?"* @@ -69,26 +313,6 @@ Currently implemented tools: * Example prompt: *"How is the weather in Berlin?"* -* Schedule an event in the user's calendar - - * Example prompt: *"Schedule an event with Andrew tomorrow at noon."* - -* Find free times in users' calendar - - * Example prompt: *"Find a free 1-hour slot for a meeting with me and Marco next week."* - -* Create a deck card (requires `Deck `_) - - * Example prompt: *"Create a deck card for 'Buy Groceries' in my Personal board."* - -* Access information in deck boards (requires `Deck `_) - - * Example prompt: *"Which deck cards are currently in the To do list in my Personal board?"* - -* Create a task - - * Example prompt: *"Create a task for 'Renovate flat' in my Personal calendar. The task should be due Monday next week."* - * Search for youtube videos * Example prompt: *"Show me the youtube video of the Nextcloud hub 10 launch."* @@ -101,18 +325,6 @@ Currently implemented tools: * Example prompt: *"Send a test email from my carry@company.com account to Andrew@company.com"* -* Get contents of a file - - * Example prompt: *"Can you summarize the following file in my documents? Design/Planning.md"* - -* Generate a public share link for a file - - * Example prompt: *"Can create a share link for the following file in my documents? Design/Planning.md"* - -* Get the folder tree of the user's files - - * Example prompt: *"Can you show me the folder tree of my files?"* - * Determine public transport routes (requires a `HERE `_ API key configured in the admin settings) * Example prompt: *"How can I get from Würzburg Hauptbahnhof to Berlin Hauptbahnhof?"* @@ -129,6 +341,9 @@ Currently implemented tools: * Example prompt: *"Create a work package called 'Publish release video' in the 'Product launch' project in OpenProject"* +Combining tools +--------------- + These tools can also be combined by the agent to fulfil tasks like the following: * *"How is the weather where Andrew lives?"* @@ -143,6 +358,10 @@ These tools can also be combined by the agent to fulfil tasks like the following * Uses contacts to look up Andrew's email and then sends an email +* *"Which of my files are from Anna?"* + + * Looks up Anna's userID and searches for files that belong to her + Custom Tools using MCP ----------------------- From df3f72cad03c700e0d0a863b2eb2946de64145ef Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Wed, 25 Mar 2026 14:18:10 +0100 Subject: [PATCH 2/4] fix: Fix heading levels Signed-off-by: Marcel Klehr --- admin_manual/ai/app_context_agent.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/admin_manual/ai/app_context_agent.rst b/admin_manual/ai/app_context_agent.rst index 7667060f3..f5b8df828 100644 --- a/admin_manual/ai/app_context_agent.rst +++ b/admin_manual/ai/app_context_agent.rst @@ -9,7 +9,8 @@ The *context_agent* app is the app that provides AI agent functionality in Nextc When the Context Agent app is installed the AI Chat in Nextcloud Assistant will be able to interact with your Nextcloud apps via virtual integrations that are called "tools". They allow the Assistant to perform actions in your Nextcloud upon sending instructions in a chat message. Tool groups are only available if their requirements are met. They can be en- and disabled in the AI admin settings. -Currently implemented tools: +Currently implemented tools +--------------------------- Artificial intelligence tools ############################# From 61de3b4ce94153db9de2137df0a4e29ea805c2fe Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Wed, 25 Mar 2026 14:32:55 +0100 Subject: [PATCH 3/4] fix: Address review comment Signed-off-by: Marcel Klehr --- admin_manual/ai/app_context_agent.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/admin_manual/ai/app_context_agent.rst b/admin_manual/ai/app_context_agent.rst index f5b8df828..72347cd0f 100644 --- a/admin_manual/ai/app_context_agent.rst +++ b/admin_manual/ai/app_context_agent.rst @@ -363,6 +363,10 @@ These tools can also be combined by the agent to fulfil tasks like the following * Looks up Anna's userID and searches for files that belong to her +* *"Send the content of my draft.md file to Andrew in Talk"* + + * Gets the content of the file and sends it in a 1-1 Talk conversation with Andrew + Custom Tools using MCP ----------------------- From b17005f7f8662b6af0104df3dc2dfe571cf4c40f Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Wed, 25 Mar 2026 14:34:49 +0100 Subject: [PATCH 4/4] fix: Fix heading levels Signed-off-by: Marcel Klehr --- admin_manual/ai/app_context_agent.rst | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/admin_manual/ai/app_context_agent.rst b/admin_manual/ai/app_context_agent.rst index 72347cd0f..c1d1dc4fe 100644 --- a/admin_manual/ai/app_context_agent.rst +++ b/admin_manual/ai/app_context_agent.rst @@ -13,8 +13,7 @@ Currently implemented tools --------------------------- Artificial intelligence tools -############################# - +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Ask a question to context chat (requires :ref:`Context Chat`) @@ -35,7 +34,7 @@ Artificial intelligence tools * Example prompt: *"Can you generate me an image of a cartoon drawing of a roman soldier typing something on a laptop?"* Calendar tools -############## +~~~~~~~~~~~~~~ * List the user's calendars @@ -50,7 +49,7 @@ Calendar tools * Example prompt: *"Find a free 1-hour slot for a meeting with me and Marco next week."* Tasks tools -########### +~~~~~~~~~~~ * Create a task @@ -75,7 +74,7 @@ Tasks tools Circles/teams tools -################### +~~~~~~~~~~~~~~~~~~~ * List circles @@ -112,7 +111,7 @@ Circles/teams tools Contacts tools -############## +~~~~~~~~~~~~~~ * Find a contact @@ -127,7 +126,7 @@ Contacts tools * Example prompt: *"Where do I live?"* Cookbook tools -############## +~~~~~~~~~~~~~~ * List recipes @@ -154,7 +153,7 @@ Cookbook tools * Example prompt: *"Which recipe categories do I have in my cookbook?"* Deck tools -########## +~~~~~~~~~~ * List deck boards @@ -177,7 +176,7 @@ Deck tools * Example prompt: *"Delete the 'Repair kitchen sink' card in my Personal deck board."* Files tools -########### +~~~~~~~~~~~ * Get contents of a file @@ -213,7 +212,7 @@ Files tools * Example prompt: *"Delete the Ideas.md file."* Forms tools -########### +~~~~~~~~~~~ * List all forms @@ -240,7 +239,7 @@ Forms tools * Example prompt: *"Delete the Retreat signup form."* Search tools -############ +~~~~~~~~~~~~ All search providers in Nextcloud are also automatically available as tools. * Search for files @@ -248,7 +247,7 @@ All search providers in Nextcloud are also automatically available as tools. * Example prompt: *"List all the powerpoint presentations in my files with file ending pptx."* Share tools -########### +~~~~~~~~~~~ * List shares @@ -281,7 +280,7 @@ Share tools Talk tools -########## +~~~~~~~~~~ * List the user's talk conversations (requires `Talk `_) @@ -300,7 +299,7 @@ Talk tools * Example prompt: *"Can you create a new public talk conversation titled 'Press conference'?"* Miscellaneous tools -################### +~~~~~~~~~~~~~~~~~~~ * Get coordinates for an Address from Open Street Maps Nomatim