Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 11 additions & 7 deletions English/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -690,13 +690,13 @@
* [Import Model Registry Using Triton](ai-stack/ai-platform/model-registry/import-model-registry-using-triton.md)
* [Import Model Registry Using vLLM](ai-stack/ai-platform/model-registry/import-model-registry-using-vllm.md)
* [Import Model Registry Using a Custom Container](ai-stack/ai-platform/model-registry/import-model-registry-using-a-custom-container.md)
* [Model as a Service (MaaS)](ai-stack/ai-platform/model-as-a-service/README.md)
* [OCR API Usage Guide](ai-stack/ai-platform/model-as-a-service/ocr-api-usage-guide.md)
* [Playground](ai-stack/ai-platform/model-as-a-service/playground.md)
* [Available Models](ai-stack/ai-platform/model-as-a-service/available-models.md)
* [MaaS API](ai-stack/ai-platform/model-as-a-service/maas-api.md)
* [Using MaaS with AI Gateway](ai-stack/ai-platform/model-as-a-service/using-maas-with-ai-gateway.md)
* [Pricing](ai-stack/ai-platform/model-as-a-service/pricing.md)
* [Model as a Service (MaaS)](ai-stack/model-as-a-service/README.md)
* [OCR API Usage Guide](ai-stack/model-as-a-service/ocr-api-usage-guide.md)
* [Playground](ai-stack/model-as-a-service/playground.md)
* [Available Models](ai-stack/model-as-a-service/available-models.md)
* [MaaS API](ai-stack/model-as-a-service/maas-api.md)
* [Using MaaS with AI Gateway](ai-stack/model-as-a-service/using-maas-with-ai-gateway.md)
* [Pricing](ai-stack/model-as-a-service/pricing.md)
* [AI Gateway](ai-stack/ai-gateway/README.md)
* [What is AI Gateway?](ai-stack/ai-gateway/what-is-ai-gateway.md)
* [Get starting with AI Gateway](ai-stack/ai-gateway/get-starting-with-ai-gateway/README.md)
Expand Down Expand Up @@ -754,6 +754,10 @@
* [Manage MCP Gateway](ai-stack/agent-base/mcp-governance/mcp-gateway/manage-mcp-gateway.md)
* [Policy Groups](ai-stack/agent-base/mcp-governance/policy-groups/README.md)
* [Manage Policy Groups](ai-stack/agent-base/mcp-governance/policy-groups/manage-policy-groups.md)
* [MCP Connectors](ai-stack/agent-base/mcp-connectors/README.md)
* [Browse the Connector Catalog](ai-stack/agent-base/mcp-connectors/browse-connector-catalog.md)
* [Connect a Connector](ai-stack/agent-base/mcp-connectors/connect-a-connector.md)
* [Manage Connected Connectors](ai-stack/agent-base/mcp-connectors/manage-connected-connectors.md)
* [Private Networking](ai-stack/agent-base/private-networking.md)
* [Usage & Budget](ai-stack/agent-base/usage-budget/README.md)
* [View Usage & Cost](ai-stack/agent-base/usage-budget/view-usage-cost.md)
Expand Down
89 changes: 89 additions & 0 deletions English/ai-stack/agent-base/mcp-connectors/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# MCP Connectors

**MCP Connectors** let you connect an agent to external services — GitHub, Slack, Microsoft 365... — in minutes, without building an MCP server or hand-coding OAuth from scratch.

---

## Architecture

A connector has 2 separate flows: the **connect flow** (a one-time OAuth/API Key setup when you click Connect) and the **runtime tool-call flow** (every time an agent calls a tool through the Gateway).

### Connect flow

You (an Admin/Editor) trigger this flow by clicking **Connect** on a connector in the Catalog — see the detailed UI steps in [Connect a Connector](connect-a-connector.md). The diagram below shows the architecture for **OAuth 3LO** — the mode with the most steps, since it requires your consent via the browser:

![Connector connect flow via OAuth 3LO](../../../.gitbook/assets/mcp-connector/mcp_connector_connect_flow.png)

{% hint style="info" %}
The diagram above illustrates OAuth 3LO. With **OAuth 2LO**, **API Key**, **Inbound forward**, or **No authorization**, there's no consent-screen step — the system stores the credential (if any) and creates the Connector as soon as you click **Connect**, without leaving the modal.
{% endhint %}

{% hint style="info" %}
A connector is scoped to the project — any member with project access shares the same connection.
{% endhint %}

### Runtime tool-call flow

When an agent calls a tool, the request flows through the exact components you configured at Connect time — MCP Gateway (Inbound Auth) → MCP Connector (Outbound Auth) → MCP Server → Provider:

![Agent tool call flow via the MCP Gateway](../../../.gitbook/assets/mcp-connector/agent_call_via_mcp_gateway_flow.png)

| Outbound Auth mode | Where the credential comes from |
|---|---|
| **OAuth** (2LO/3LO) | Secret Provider (Managed, created by GreenNode, or Custom, configured by you) via **Access Control** |
| **API Key** (2LO/3LO) | Secret Provider (Managed/Custom) via **Access Control**, or an API Key/Token pasted directly |
| **Inbound forward** | The same credential the agent used at the Inbound Auth step — requires the Gateway's Inbound Auth ≠ **No authorization** |
| **No authorization** | No credential attached |

---

## Connector Catalog

The catalog shows the connectors AgentBase ships prebuilt, with an **Add Custom Connector** card always at the start of the grid to add a custom MCP server. Each connector card shows its name, provider, and the supported Auth Mode badges (e.g. `OAuth 3LO`, `API Key 3LO`).

{% hint style="info" %}
The number of prebuilt connectors changes over time as AgentBase adds new providers — check the exact count on the **Catalog** tab, under "List catalog (N)".
{% endhint %}

At the time of writing, the catalog includes the following connectors (the list is updated progressively as AgentBase adds providers):

| Connector | Provider | Note |
|---|---|---|
| GitHub | GitHub | |
| Slack | Slack | |
| M365 VNG | Microsoft | Bundles 4 Microsoft 365 services: SharePoint, Outlook Mail, Outlook Calendar, Microsoft Teams |

---

## Authentication Modes

The Connect modal is shared across every connector, with 4 authentication modes:

| Mode | Description |
|---|---|
| **OAuth** | Authenticates through the provider — has 2 sub-modes: **2LO** (server-to-server, no user consent) and **3LO** (requires user consent via the provider's consent screen) |
| **API Key** | Paste a static API Key/Token obtained from the external service |
| **Inbound forward** | Reuses the MCP Gateway's own **Inbound Auth** credential as the outbound auth — only available when the Gateway's Inbound Auth is not **No authorization** |
| **No authorization** | No authentication required |

{% hint style="info" %}
Not every connector supports all 4 modes:
- Some connectors only allow **OAuth** or **API Key**, with **Inbound forward** and **No authorization** unsupported.
- **Inbound forward** only works when the selected MCP Gateway's **Inbound Auth** is not **No authorization** (i.e. IAM Permissions or JWT) — this mode forwards that same inbound credential as the outbound auth to the MCP server.
{% endhint %}

---

## Custom Connector

If the service you need isn't in the catalog, click the **Add Custom Connector** card (always at the start of the grid) to connect any MCP-compatible server with a custom configuration, through the same 4-mode auth modal above.

---

## Getting Started with MCP Connectors

| I want to... | Go to |
|---|---|
| Browse and find a connector in the Catalog | [Browse the Connector Catalog](browse-connector-catalog.md) |
| Connect a connector to my project | [Connect a Connector](connect-a-connector.md) |
| View, edit, or disconnect a connected connector | [Manage Connected Connectors](manage-connected-connectors.md) |
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Browse the Connector Catalog

> This guide helps you find the right connector in the Connector Catalog — search by name, filter, and start connecting it.

---

## Prerequisites

- Signed in to AgentBase with at least **Member** access on the project.

---

## Open the Connector Catalog

1. Click **AgentBase** → **MCP Connectors** in the sidebar.

The **MCP Connectors** page opens with 2 tabs: **Catalog** (active by default) and **Connected**. The **Catalog** tab shows the current connector count (e.g. "List catalog (8)"), an **Add Custom Connector** card always at the start of the grid, and the remaining prebuilt connector cards — each with an icon, name, provider, supported Auth Mode badges, and a **Connect** button.

![The MCP Connectors Catalog page](../../../.gitbook/assets/mcp-connector/mcp-connector-catalog-list.png)

---

## Search and filter connectors

1. Click the **Search connectors** field and type the connector name.
2. Select a value in the **Select a value** dropdown on the right to narrow the list.

Click **Reload** to refresh the list if a new connector was just added to the catalog.

---

## Result

You've found the right connector in the Catalog and are ready to connect it.

| I want to next... | Go to |
|---|---|
| Connect the connector I just found | [Connect a Connector](connect-a-connector.md) |
| Manage a connector I already connected | [Manage Connected Connectors](manage-connected-connectors.md) |
83 changes: 83 additions & 0 deletions English/ai-stack/agent-base/mcp-connectors/connect-a-connector.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Connect a Connector

> This guide helps you connect a connector from the Catalog to your project — configure the Gateway, pick the right Authentication mode, and complete authentication.

---

## Prerequisites

- **Admin** or **Editor** access in the AgentBase product, or equivalent permission granted via **IAM Policy**.
- At least 1 **MCP Gateway** already created to attach the connector to.
- For **OAuth** or **API Key** modes: a matching Secret Provider already set up, or use the **Managed** secret AgentBase provides.

---

## Open the Connect modal

1. Click **Connect** on the card of the connector you want, in the Catalog.

The **Connect [Connector Name]** modal opens with 3 fixed sections:

- **GENERAL** — **Connector Name** (required), **Description** (optional)
- **CONFIGURATION** — **MCP Gateway** (required, select from a dropdown, or click **+** to create a new one), **MCP URL** (auto-generated from the selected Gateway, not editable)
- **AUTHENTICATION** — select an **Authentication mode**: **OAuth** / **API Key** / **Inbound forward** / **No authorization**

![The GENERAL, CONFIGURATION, and AUTHENTICATION sections of the Connect modal](../../../.gitbook/assets/mcp-connector/connect-mcp-detail-part1.png)

{% hint style="info" %}
Some Authentication modes may be disabled:
- Depending on the connector — some connectors only allow **OAuth** or **API Key**; **Inbound forward** and **No authorization** aren't supported on those.
- **Inbound forward** only works when the selected **MCP Gateway**'s **Inbound Auth** is not **No authorization** (i.e. IAM Permissions or JWT) — this mode forwards the same credential the agent used to authenticate inbound to the Gateway, reusing it as the outbound auth to the MCP server. If Inbound Auth = No authorization, there's no credential to forward, so this mode is disabled.
{% endhint %}

---

## Configure Authentication mode = OAuth

1. Select **OAuth** in the AUTHENTICATION section.
2. Select the **OAuth mode**: **2LO** (server-to-server) or **3LO** (requires user consent via the provider's consent screen) — depending on what the connector supports.
3. Select the **Secret source**: **Managed** (use a secret AgentBase already manages) or **Custom** (bring your own Client ID/Secret).
4. Select the matching **Secret Provider** in the dropdown.
5. Open **Advanced settings** and fill in:
- **OAuth scopes** — pre-selected scopes for the connector; removable or you can type new ones, with at least 1 scope required; use **Copy** or **Reset** to copy/restore the default list.
- **Return URL** — the OAuth callback URL, defaulting to your AgentBase domain.
- **Parameters** (optional) — click **Add parameter** to add a custom **Header key** / **Header value prefix** pair (e.g. `Authorization` / `Bearer`).
6. Click **Connect** (or **Authorize** for OAuth 3LO) once everything is filled in.

![Secret source, Secret Provider, and Advanced settings in the Connect modal](../../../.gitbook/assets/mcp-connector/connect-mcp-detail-part2.png)

{% hint style="info" %}
**Secret source** ties directly into the [Access Control](../access-control/README.md) feature (Identity):
- **Managed** — quickly pick a Secret Provider GreenNode already created, with no need to set up your own OAuth App.
- **Custom** — if the provider you need isn't available as Managed (e.g. Slack), you must create the OAuth App yourself on the matching platform, then add it as an OAuth Provider in **Access Control** — only then does it appear in the Secret Provider dropdown when creating an MCP Gateway/Connector.
- Access Control also supports **OAuth public client** — only a Client ID is required, no Client Secret.
{% endhint %}

For **OAuth 3LO**, the system opens a new tab/popup to the provider's consent screen — review the requested scopes, then accept to complete the flow.

---

## Configure Authentication mode = API Key

1. Select **API Key** in the AUTHENTICATION section.
2. Select the **API Key mode**: **2LO** or **3LO**.
3. Paste the **API Key/Token** obtained from the external service, or select an already-configured **Secret Provider**.
4. For **3LO**, also fill in the **Return URL**.
5. Click **Connect**.

---

## Configure Authentication mode = Inbound forward / No authorization

1. Select **Inbound forward** or **No authorization** in the AUTHENTICATION section — **Inbound forward** only works when the selected **MCP Gateway**'s **Inbound Auth** is not **No authorization** (IAM Permissions or JWT), since this mode forwards that inbound credential as the outbound auth.
2. Click **Connect** — no additional credentials are needed.

---

## Result

The connector appears in the **Connected** tab with status **ACTIVE**, ready to be attached to an agent.

| I want to next... | Go to |
|---|---|
| View, edit, or disconnect the connector I just created | [Manage Connected Connectors](manage-connected-connectors.md) |
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Manage Connected Connectors

> This guide helps you view the list, inspect a connector's tools, and edit or disconnect connectors already connected in your project.

---

## Prerequisites

- The project has at least 1 connected connector.
- **Admin** or **Editor** access to edit/delete — the **Member** role can only view the list.

---

## View connected connectors

1. Click the **Connected** tab in the **MCP Connectors** page.

The table shows columns: **Connector name**, **Tool**, **MCP Gateway**, **Auth Method**, **Endpoint**, **Last updated**, **Action (Edit/Delete)**. You can filter by **MCP Gateway** or **MCP Gateway status** above the table.

![The connected connectors table](../../../.gitbook/assets/mcp-connector/mcp-connected-list.png)

{% hint style="info" %}
For your agent to use this connector's tools, copy the connector's **Endpoint** value, then configure/point your AI agent to connect to that MCP address.
{% endhint %}

---

## View a connector's detail page

1. Click the connector's name in the **Connector name** column of the Connected table.

The detail page opens with a status badge (e.g. **ACTIVE**) next to the connector name, plus **Edit** and **Delete** buttons in the top-right corner. The **General information** section shows Connector name, Auth Method, Endpoint, MCP Gateway, and Last updated.

The **Detail information** section has a **Tools & Permissions** tab — listing every tool this connector provides, with a description and parameter list when you expand each tool. Click **Sync tools** to refresh the tool list from the MCP server.

![The connector detail page — General information and Tools & Permissions](../../../.gitbook/assets/mcp-connector/mcp-connected-detail-page.png)

---

## Edit or delete a connector

1. Open the detail page of the connector you want to act on (see the step above).
2. Click **Edit** to change its configuration, or click **Delete** to disconnect it.

{% hint style="warning" %}
Deleting a connector cannot be undone. Check which agents are using this connector before deleting it.
{% endhint %}

---

## Result

You have full visibility into every connector connected in the project, know exactly which tools each one provides, and can edit or disconnect them as needed.

| I want to next... | Go to |
|---|---|
| Connect another connector | [Connect a Connector](connect-a-connector.md) |
| Browse the catalog again | [Browse the Connector Catalog](browse-connector-catalog.md) |
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: >-

Access the [Models ](https://aiplatform.console.greennode.ai/models)section in AI Platform:

* To use and enable any model, you need an API key. [See more details](../getting-started-with-ai-platform.md).
* To use and enable any model, you need an API key. [See more details](../ai-platform/getting-started-with-ai-platform.md).

You can filter models using the options on the left sidebar:

Expand All @@ -30,16 +30,16 @@ You can filter models using the options on the left sidebar:
### Enable / Disable Models

1. Click the "Toggle models" button. Users must activate billing to enable models. For Prepaid users, quota must be added before enabling models, while Postpaid users can enable and use models immediately. Refer to [pricing details](pricing.md).\
![](<../../../.gitbook/assets/image (390) (1).png>)
![](<../../.gitbook/assets/image (390) (1).png>)
2. Model Selection: A popup window will appear, allowing you to search and filter models by Provider, Status, or Type.
3. Enable/disable models individually or in bulk.
4. Save your changes.

<figure><img src="../../../.gitbook/assets/image (391) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (391) (2).png" alt=""><figcaption></figcaption></figure>

To start experimenting and comparing models before integration, you can use the [Playground](playground.md)

<figure><img src="../../../.gitbook/assets/image (392) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (392) (1).png" alt=""><figcaption></figcaption></figure>

### Experiment with AI Platform Playground

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ Tham khảo các Script trong API Usage trên Portal

_Curl_

<figure><img src="../../../.gitbook/assets/image (395) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (395) (1).png" alt=""><figcaption></figcaption></figure>

_Python_

<figure><img src="../../../.gitbook/assets/image (397) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (397) (2).png" alt=""><figcaption></figcaption></figure>

Javascript

<figure><img src="../../../.gitbook/assets/image (398) (2).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (398) (2).png" alt=""><figcaption></figcaption></figure>
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ description: >-
* In the System prompt section, define instructions or context for the model. You can also add examples to guide its behavior.
4. Adjust parameters:

<figure><img src="../../../.gitbook/assets/image (393) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (393) (1).png" alt=""><figcaption></figcaption></figure>

5. Start experimenting:

Expand All @@ -32,7 +32,7 @@ description: >-
* Python: Provides ready-to-use Python code snippets for your projects.
* Node.js: Provides Node.js code snippets, suitable for web and server-side applications.

<figure><img src="../../../.gitbook/assets/image (394) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (394) (1).png" alt=""><figcaption></figcaption></figure>

### Model Parameter Tuning Guide

Expand Down
Loading
Loading