Overview amber MCPs / Apps
MCP (Model Context Protocol) servers are an abstraction layer to bring external tools and capabilities into the amberAI. This guide provides an overview of how the MCP functionalities are integrated, how to manage them, and how to use them effectively.

MCP
In amberAI, we have already many tools that allow you to search your internal documents, search the web, generate images, and more. However, these tools do not interact with external applications such as GitLab, Outlook, or Slack. This is where MCP comes in. MCP servers provide additional tools that allow you to connect to these external applications and perform actions such as creating an issue in GitLab, drafting an email in Outlook, or fetching channel messages from Slack. All these tools can handed over to amberAI and used in the conversations.

MCP Servers
Internally, we have already added two custom MCP servers for Outlook and Slack. These servers are handled by amber and are available for all users. These servers allow you to connect your own Outlook and Slack accounts to amberAI and use the tools provided by these servers in your conversations.
Additionally, we have now support for adding custom MCP servers. This means you can bring your own configuration to connect to any application you want, as long as you have the necessary credentials and the application provides an API that can be connected to. This allows for a lot of flexibility and opens up many possibilities for integrating various applications with amberAI.
In the current version, we only support connecting to remote MCP servers via a public URL. To connect to a remote MCP server, you can use OAuth-based authentication, Bearer tokens, or through a custom headers-based authentication, depending on the authentication methods supported by the MCP server you want to connect to. If the MCP server does not require authentication, you can simply connect to it by providing the public URL.
Adding MCP Servers (for Admins)
The option to add MCP servers can be found in Admin Settings -> Connectors -> Apps.

The internal MCP servers for Outlook and Slack are already added and available for all users. To add a new MCP server, you can simply click on the "Add MCP" button. This will open a form where you can enter the details of the MCP server you want to add, such as the name, description, the server URL and authentication method.
Here's an example of how to fill the form to add the Microsoft Learn MCP server:


After filling the form and accepting the terms, you can click on the "Add Custom MCP" button to test the configuration and add the MCP server. If you didn't add a custom icon, it will be fetched automatically from the server URL. Once the MCP server is added, it will show up under the Apps section and will be available for users to connect to.
For OAuth, you will be redirected to the authentication flow of the MCP server you are trying to connect to. This step is necessary to retrieve all the tools and capabilities provided by the MCP server and store their configurations in amberAI. Please note that after the initial setup, each user will still need to connect to the MCP server individually through their profile settings to use the tools provided by the MCP server in their conversations.
Adding MCP Servers (for Developer Users only)
Users with a developer role can also add MCP servers for their own personal use without needing admin permissions. The process is similar to the one for admins, but the MCP server added by a user will only be available for that user and will not be visible to other users in the system.
To add an MCP server as a user, you can go to User Settings -> Connectors -> Apps. There, you will see the option to add an MCP server.

The configuration form is the same as the one for admins, and you can fill it out with the details of the MCP server you want to connect to. After filling the form and accepting the terms, you can click on the "Add Custom MCP" button to test the configuration and add the MCP server. Once added, it will be available for you to use in your conversations.
Configuring MCP Servers (for Admins)
As an admin, you can configure the MCP server you added to enable or disable certain tools, change the tool names, and change the tool types (Read Only or Write Only). If done as an admin, these configurations will be applied for all users. If done as a user, these configurations will only be applied for that user.

Permissions (for Users)
Users can also configure the MCP servers they are connected to. Once you open up a specific MCP server in your user settings, you will see the list of tools provided by that MCP server. For each tool, you can change the permission to either Always allow, Always ask, or Always deny, which is set to Always ask by default. This allows you to have control over which tools you want to allow or deny for use in your conversations. For example, you might want to allow the microsoft_docs_search tool from the Microsoft Learn MCP server, but deny the microsoft_code_sample_search tool for avoiding unwanted results. The changes you make in the permissions will be applied immediately and will affect the conversations you have with amberAI. If you set a tool to Always allow, amberAI will be able to use that tool without asking for your permission every time. Please be cautious when setting permissions to Always allow, especially for tools that can perform write actions, as this might lead to unintended consequences if the tool is used in a conversation without your explicit consent.
Using MCPs in amberAI
Once you have added and connected to an MCP server, you will see the server under the Apps in the options section of the chat input. You can toggle the MCP server on to make its tools available for use in the conversation.

When amberAI decides to use a tool from an MCP server in the conversation, it will check the permissions you have set for that tool. If the permission is set to Always ask, you will receive a notification in the conversation asking for your permission to use that tool. You can then choose to allow or deny the use of that tool for that specific instance in the conversation. If you allow it, amberAI will proceed to use the tool and provide you with the results. If you deny it, amberAI will not use the tool and will act accordingly in the conversation.
