You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: admin_manual/ai/app_assistant.rst
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,11 +74,8 @@ These apps currently implement the following Assistant Tasks:
74
74
* *Summarize* (Tested with OpenAI GPT-3.5 and Llama 3.1 8B)
75
75
* *Generate headline* (Tested with OpenAI GPT-3.5 and Llama 3.1 8B)
76
76
* *Extract topics* (Tested with OpenAI GPT-3.5 and Llama 3.1 8B)
77
-
78
-
Additionally, *integration_openai* also implements the following Assistant Tasks:
79
-
80
-
* *Context write* (Tested with OpenAI GPT-3.5)
81
-
* *Reformulate text* (Tested with OpenAI GPT-3.5)
77
+
* *Context write* (Tested with OpenAI GPT-3.5 and Llama 3.1 8B)
78
+
* *Reformulate text* (Tested with OpenAI GPT-3.5 and Llama 3.1 8B)
82
79
83
80
These tasks may work with other models, but we can give no guarantees.
84
81
@@ -98,7 +95,7 @@ In order to make use of our special Context Chat feature, offering in-context in
98
95
99
96
* :ref:`context_chat + context_chat_backend<ai-app-context_chat>` - (Customer support available upon request)
100
97
101
-
You will also need a text processing provider as specified above (ie. llm2or integration_openai).
98
+
You will also need a text processing provider as specified above (ie. llm2, integration_openai or integration_watsonx).
102
99
103
100
Context Agent
104
101
~~~~~~~~~~~~~
@@ -117,6 +114,7 @@ Text-To-Speech
117
114
In order to make use of Text-To-Speech, you will need an app that provides a Text-To-Speech backend:
118
115
119
116
* *integration_openai* - Integrates with the OpenAI API to provide AI functionality from OpenAI servers (Customer support available upon request; see :ref:`AI as a Service<ai-ai_as_a_service>`)
The *context_agent* app is the app that provides AI agent functionality in Nextcloud and acts as a backend for the :ref:`Nextcloud Assistant app<ai-app-assistant>`. Nextcloud can provide customer support upon request, please talk to your account manager for the possibilities.
8
8
9
9
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.
10
+
Tool groups are only available if their requirements are met. They can be en- and disabled in the AI admin settings.
10
11
11
12
Currently implemented tools:
12
13
13
14
* List the user's calendars
14
15
15
16
* Example prompt: *"List my calendars"*
16
17
17
-
* List the user's talk conversations
18
+
* List the user's talk conversations (requires `Talk <https://apps.nextcloud.com/apps/spreed>`_)
18
19
19
20
* Example prompt: *"List my talk conversations"*
20
21
21
-
* List messages in a talk conversation
22
+
* List messages in a talk conversation (requires `Talk <https://apps.nextcloud.com/apps/spreed>`_)
22
23
23
24
* Example prompt: *"List the latest messages in my conversation with Andrew"*
24
25
26
+
* Send a message to a talk conversation (requires `Talk <https://apps.nextcloud.com/apps/spreed>`_)
27
+
28
+
* Example prompt: *"Can you send a joke to Andrew in talk?"*
29
+
30
+
* Create a public talk conversation (requires `Talk <https://apps.nextcloud.com/apps/spreed>`_)
31
+
32
+
* Example prompt: *"Can you create a new public talk conversation titled 'Press conference'?"*
33
+
25
34
* Find a person in the user's contacts
26
35
27
36
* Example prompt: *"What is Andrew's Email address?"*
@@ -30,31 +39,49 @@ Currently implemented tools:
30
39
31
40
* Example prompt: *"Where do I live?"*
32
41
33
-
* Ask a question to context chat
42
+
* Ask a question to context chat (requires :ref:`Context Chat<ai-app-context_chat>`)
34
43
35
44
* Example prompt: *"What is the company's sick leave process?"*
36
45
46
+
* Transcribe a media file (requires Transcribe audio task type enabled)
47
+
48
+
* Example prompt: *"Can you transcribe the following file? https://mycloud.com/f/9825679"* (Can be selected via smart picker.)
* Example prompt: *"Can you generate me a slide deck for my presentation about cats?"*
53
+
* Example prompt: *"Can you generate me a spreadsheet with some plausible numbers for countries and their population count?"*
54
+
* Example prompt: *"Can you generate me a pdf with an outline about what to see in Berlin?"*
55
+
56
+
* Generate images (requires Image generation task type enabled)
57
+
58
+
* Example prompt: *"Can you generate me an image of a cartoon drawing of a roman soldier typing something on a laptop?"*
59
+
37
60
* Get coordinates for an Address from Open Street Maps Nomatim
38
61
39
-
* Example prompt: *"List my calendars"*
62
+
* Example prompt: *"What are the coordinates for Berlin, Germany?"*
63
+
64
+
* Get the URL for a map of a location using Open Street Maps
65
+
66
+
* Example prompt: *"Can you show me a map of New York, please"*
40
67
41
68
* Get the current weather at a location
42
69
43
70
* Example prompt: *"How is the weather in Berlin?"*
44
71
45
72
* Schedule an event in the user's calendar
46
73
47
-
* Example prompt: *"Make schedule an event with Andrew tomorrow at noon."*
74
+
* Example prompt: *"Schedule an event with Andrew tomorrow at noon."*
48
75
49
-
* Send a message to a talk conversation
76
+
* Find free times in users' calendar
50
77
51
-
* Example prompt: *"Can you send a joke to Andrew in talk?"*
78
+
* Example prompt: *"Find a free 1-hour slot for a meeting with me and Marco next week."*
52
79
53
-
* Create a deck card
80
+
* Create a deck card (requires `Deck <https://apps.nextcloud.com/apps/deck>`_)
54
81
55
82
* Example prompt: *"Create a deck card for 'Buy Groceries' in my Personal board."*
56
83
57
-
* Access information in deck boards
84
+
* Access information in deck boards (requires `Deck <https://apps.nextcloud.com/apps/deck>`_)
58
85
59
86
* Example prompt: *"Which deck cards are currently in the To do list in my Personal board?"*
60
87
@@ -66,10 +93,41 @@ Currently implemented tools:
66
93
67
94
* Example prompt: *"Show me the youtube video of the Nextcloud hub 10 launch."*
68
95
69
-
* Send an email via Nextcloud Mail
96
+
* Search Duckduckgo
97
+
98
+
* Example prompt: *"Show me search results for quick pasta recipes, please."*
99
+
100
+
* Send an email via Nextcloud Mail (requires `Mail <https://apps.nextcloud.com/apps/mail>`_)
101
+
102
+
* Example prompt: *"Send a test email from my carry@company.com account to Andrew@company.com"*
103
+
104
+
* Get contents of a file
105
+
106
+
* Example prompt: *"Can you summarize the following file in my documents? Design/Planning.md"*
107
+
108
+
* Generate a public share link for a file
109
+
110
+
* Example prompt: *"Can create a share link for the following file in my documents? Design/Planning.md"*
111
+
112
+
* Get the folder tree of the user's files
113
+
114
+
* Example prompt: *"Can you show me the folder tree of my files?"*
115
+
116
+
* Determine public transport routes (requires a `HERE <https://www.here.com/>`_ API key configured in the admin settings)
117
+
118
+
* Example prompt: *"How can I get from Würzburg Hauptbahnhof to Berlin Hauptbahnhof?"*
119
+
120
+
* List all projects in OpenProject (requires the `OpenProject integration <https://apps.nextcloud.com/apps/integration_openproject>`_)
121
+
122
+
* Example prompt: *"List all my projects in OpenProject, please"*
123
+
124
+
* List all available assignees of a project in OpenProject (requires the `OpenProject integration <https://apps.nextcloud.com/apps/integration_openproject>`_)
125
+
126
+
* Example prompt: *"List all available assignees for the 'Product launch' project in OpenProject"*
127
+
128
+
* Create a new work package in a given project in OpenProject (requires the `OpenProject integration <https://apps.nextcloud.com/apps/integration_openproject>`_)
129
+
* Example prompt: *"Create a work package called 'Publish release video' in the 'Product launch' project in OpenProject"*
70
130
71
-
* Example prompt *"Send a test email from carry@company.com to Andrew@company.com from my account with id 12"*
72
-
* (The account ID will soon be irrelevant)
73
131
74
132
These tools can also be combined by the agent to fulfil tasks like the following:
75
133
@@ -85,6 +143,21 @@ These tools can also be combined by the agent to fulfil tasks like the following
85
143
86
144
* Uses contacts to look up Andrew's email and then sends an email
87
145
146
+
Custom Tools using MCP
147
+
-----------------------
148
+
149
+
Model Context Protocol (MCP) is a protocol that enables Large Language Models (LLMs) to interact with external data sources and tools.
150
+
The Context Agent app allows administrators to extend its capabilities by adding custom services via MCP. This can be configured in the admin settings under "MCP Config," where you can provide a JSON configuration in the following format:
151
+
152
+
.. code-block:: json
153
+
154
+
{
155
+
"service-name": {
156
+
"url": "https://service-url.com/endpoint",
157
+
"transport": "streamable_http"
158
+
}
159
+
}
160
+
88
161
Requirements
89
162
------------
90
163
@@ -118,6 +191,13 @@ Other models that may give good results are:
118
191
119
192
See :ref:`llm2 documentation <ai-app-llm2>` on how to configure alternate models.
120
193
194
+
Using Nextcloud MCP Server
195
+
--------------------------
196
+
197
+
Context Agent exposes an MCP server that can be used by other large language models or applications to access the tools provided by Context Agent.
198
+
The server will be available at `https://your-nextcloud-domain.com/index.php/apps/app_api/proxy/context_agent/mcp/`, and
199
+
it requires authentication via an app password passed in the `Authorization` header. Ex: `Authorization: Bearer <app-password>`.
200
+
121
201
Scaling
122
202
-------
123
203
@@ -139,4 +219,8 @@ Known Limitations
139
219
-----------------
140
220
* Make sure to test the language model you are using in concert with this app for whether they meet the use-case's quality requirements
141
221
* Most models have difficulties with languages other than English. Some sometimes answer in another language than used by the user.
142
-
* Customer support is available upon request, however we can't solve false or problematic output, most performance issues, or other problems caused by the underlying model. Support is thus limited only to bugs directly caused by the implementation of the app (connectors, API, front-end, AppAPI)
222
+
* Customer support is available upon request, however we can't solve false or problematic output, most performance issues, or other problems caused by the underlying model.
223
+
Support is thus limited only to bugs directly caused by the implementation of the app (connectors, API, front-end, AppAPI). We still try to optimize this as far as possible, so if you encounter any false or problematic output, you can report it `in a dedicated Github issue <https://github.com/nextcloud/context_agent/issues/51>`_ to help us improve this app.
224
+
* When multiple MCP services are configured that have tools with the same name undefined behavior will occur.
225
+
* Only remote MCP services are supported (streamable_http transport).
226
+
* MCP services that require different access tokens for each user are not currently supported.
0 commit comments