diff --git a/docs/docs.json b/docs/docs.json index 57a7dc2f1..e2f69bf61 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -458,6 +458,7 @@ "en/enterprise/guides/capture_telemetry_logs", "en/enterprise/guides/azure-openai-setup", "en/enterprise/guides/tool-repository", + "en/enterprise/guides/custom-mcp-server", "en/enterprise/guides/react-component-export", "en/enterprise/guides/team-management", "en/enterprise/guides/human-in-the-loop", @@ -917,6 +918,7 @@ "en/enterprise/guides/capture_telemetry_logs", "en/enterprise/guides/azure-openai-setup", "en/enterprise/guides/tool-repository", + "en/enterprise/guides/custom-mcp-server", "en/enterprise/guides/react-component-export", "en/enterprise/guides/team-management", "en/enterprise/guides/human-in-the-loop", @@ -1369,6 +1371,7 @@ "pt-BR/enterprise/guides/capture_telemetry_logs", "pt-BR/enterprise/guides/azure-openai-setup", "pt-BR/enterprise/guides/tool-repository", + "pt-BR/enterprise/guides/custom-mcp-server", "pt-BR/enterprise/guides/react-component-export", "pt-BR/enterprise/guides/team-management", "pt-BR/enterprise/guides/human-in-the-loop", @@ -1807,6 +1810,7 @@ "pt-BR/enterprise/guides/capture_telemetry_logs", "pt-BR/enterprise/guides/azure-openai-setup", "pt-BR/enterprise/guides/tool-repository", + "pt-BR/enterprise/guides/custom-mcp-server", "pt-BR/enterprise/guides/react-component-export", "pt-BR/enterprise/guides/team-management", "pt-BR/enterprise/guides/human-in-the-loop", @@ -2287,6 +2291,7 @@ "ko/enterprise/guides/capture_telemetry_logs", "ko/enterprise/guides/azure-openai-setup", "ko/enterprise/guides/tool-repository", + "ko/enterprise/guides/custom-mcp-server", "ko/enterprise/guides/react-component-export", "ko/enterprise/guides/team-management", "ko/enterprise/guides/human-in-the-loop", @@ -2737,6 +2742,7 @@ "ko/enterprise/guides/capture_telemetry_logs", "ko/enterprise/guides/azure-openai-setup", "ko/enterprise/guides/tool-repository", + "ko/enterprise/guides/custom-mcp-server", "ko/enterprise/guides/react-component-export", "ko/enterprise/guides/team-management", "ko/enterprise/guides/human-in-the-loop", diff --git a/docs/en/enterprise/guides/custom-mcp-server.mdx b/docs/en/enterprise/guides/custom-mcp-server.mdx new file mode 100644 index 000000000..342028bb3 --- /dev/null +++ b/docs/en/enterprise/guides/custom-mcp-server.mdx @@ -0,0 +1,136 @@ +--- +title: "Custom MCP Servers" +description: "Connect your own MCP servers to CrewAI AMP with public access, API key authentication, or OAuth 2.0" +icon: "plug" +mode: "wide" +--- + +CrewAI AMP supports connecting to any MCP server that implements the [Model Context Protocol](https://modelcontextprotocol.io/). You can bring public servers that require no authentication, servers protected by an API key or bearer token, and servers that use OAuth 2.0 for secure delegated access. + +## Prerequisites + + + + You need an active [CrewAI AMP](https://app.crewai.com) account. + + + The URL of the MCP server you want to connect. The server must be accessible from the internet and support Streamable HTTP transport. + + + +## Adding a Custom MCP Server + + + + Navigate to **Tools & Integrations** in the left sidebar of CrewAI AMP, then select the **Connections** tab. + + + + Click the **Add Custom MCP Server** button. A dialog will appear with the configuration form. + + + + - **Name** (required): A descriptive name for your MCP server (e.g., "My Internal Tools Server"). + - **Description**: An optional summary of what this MCP server provides. + - **Server URL** (required): The full URL to your MCP server endpoint (e.g., `https://my-server.example.com/mcp`). + + + + Select one of the three available authentication methods based on how your MCP server is secured. See the sections below for details on each method. + + + + If your MCP server requires additional headers on every request (e.g., tenant identifiers or routing headers), click **+ Add Header** and provide the header name and value. You can add multiple custom headers. + + + + Click **Create MCP Server** to save the connection. Your custom MCP server will now appear in the Connections list and its tools will be available for use in your crews. + + + +## Authentication Methods + +### No Authentication + +Choose this option when your MCP server is publicly accessible and does not require any credentials. This is common for open-source or internal servers running behind a VPN. + +### Authentication Token + +Use this method when your MCP server is protected by an API key or bearer token. + + + Custom MCP Server with Authentication Token + + +| Field | Required | Description | +|-------|----------|-------------| +| **Header Name** | Yes | The name of the HTTP header that carries the token (e.g., `X-API-Key`, `Authorization`). | +| **Value** | Yes | Your API key or bearer token. | +| **Add to** | No | Where to attach the credential — **Header** (default) or **Query parameter**. | + + +If your server expects a `Bearer` token in the `Authorization` header, set the Header Name to `Authorization` and the Value to `Bearer `. + + +### OAuth 2.0 + +Use this method for MCP servers that require OAuth 2.0 authorization. CrewAI will handle the full OAuth flow, including token refresh. + + + Custom MCP Server with OAuth 2.0 + + +| Field | Required | Description | +|-------|----------|-------------| +| **Redirect URI** | — | Pre-filled and read-only. Copy this URI and register it as an authorized redirect URI in your OAuth provider. | +| **Authorization Endpoint** | Yes | The URL where users are sent to authorize access (e.g., `https://auth.example.com/oauth/authorize`). | +| **Token Endpoint** | Yes | The URL used to exchange the authorization code for an access token (e.g., `https://auth.example.com/oauth/token`). | +| **Client ID** | Yes | The OAuth client ID issued by your provider. | +| **Client Secret** | No | The OAuth client secret. Not required for public clients using PKCE. | +| **Scopes** | No | Space-separated list of scopes to request (e.g., `read write`). | +| **Token Auth Method** | No | How the client credentials are sent when exchanging tokens — **Standard (POST body)** or **Basic Auth (header)**. Defaults to Standard. | +| **PKCE Supported** | No | Enable if your OAuth provider supports Proof Key for Code Exchange. Recommended for improved security. | + + +**Discover OAuth Config**: If your OAuth provider supports OpenID Connect Discovery, click the **Discover OAuth Config** link to auto-populate the authorization and token endpoints from the provider's `/.well-known/openid-configuration` URL. + + +#### Setting Up OAuth 2.0 Step by Step + + + + Copy the **Redirect URI** shown in the form and add it as an authorized redirect URI in your OAuth provider's application settings. + + + + Fill in the **Authorization Endpoint**, **Token Endpoint**, **Client ID**, and optionally the **Client Secret** and **Scopes**. + + + + Select the appropriate **Token Auth Method**. Most providers use the default **Standard (POST body)**. Some older providers require **Basic Auth (header)**. + + + + Check **PKCE Supported** if your provider supports it. PKCE adds an extra layer of security to the authorization code flow and is recommended for all new integrations. + + + + Click **Create MCP Server**. You will be redirected to your OAuth provider to authorize access. Once authorized, CrewAI will store the tokens and automatically refresh them as needed. + + + +## Using Your Custom MCP Server + +Once connected, your custom MCP server's tools appear alongside built-in connections on the **Tools & Integrations** page. You can: + +- **Assign tools to agents** in your crews just like any other CrewAI tool. +- **Manage visibility** to control which team members can use the server. +- **Edit or remove** the connection at any time from the Connections list. + + +If your MCP server becomes unreachable or the credentials expire, tool calls using that server will fail. Make sure the server URL is stable and credentials are kept up to date. + + + + Contact our support team for assistance with custom MCP server configuration or troubleshooting. + diff --git a/docs/images/enterprise/custom-mcp-auth-token.png b/docs/images/enterprise/custom-mcp-auth-token.png new file mode 100644 index 000000000..dc1f3455a Binary files /dev/null and b/docs/images/enterprise/custom-mcp-auth-token.png differ diff --git a/docs/images/enterprise/custom-mcp-oauth.png b/docs/images/enterprise/custom-mcp-oauth.png new file mode 100644 index 000000000..7db66b41c Binary files /dev/null and b/docs/images/enterprise/custom-mcp-oauth.png differ diff --git a/docs/ko/enterprise/guides/custom-mcp-server.mdx b/docs/ko/enterprise/guides/custom-mcp-server.mdx new file mode 100644 index 000000000..530430ac8 --- /dev/null +++ b/docs/ko/enterprise/guides/custom-mcp-server.mdx @@ -0,0 +1,136 @@ +--- +title: "커스텀 MCP 서버" +description: "공개 액세스, API 키 인증 또는 OAuth 2.0을 사용하여 자체 MCP 서버를 CrewAI AMP에 연결하세요" +icon: "plug" +mode: "wide" +--- + +CrewAI AMP는 [Model Context Protocol](https://modelcontextprotocol.io/)을 구현하는 모든 MCP 서버에 연결할 수 있습니다. 인증이 필요 없는 공개 서버, API 키 또는 Bearer 토큰으로 보호되는 서버, OAuth 2.0을 사용하는 서버를 연결할 수 있습니다. + +## 사전 요구사항 + + + + 활성화된 [CrewAI AMP](https://app.crewai.com) 계정이 필요합니다. + + + 연결하려는 MCP 서버의 URL입니다. 서버는 인터넷에서 접근 가능해야 하며 Streamable HTTP 전송을 지원해야 합니다. + + + +## 커스텀 MCP 서버 추가하기 + + + + CrewAI AMP 왼쪽 사이드바에서 **Tools & Integrations**로 이동한 후 **Connections** 탭을 선택합니다. + + + + **Add Custom MCP Server** 버튼을 클릭합니다. 구성 양식이 포함된 대화 상자가 나타납니다. + + + + - **Name** (필수): MCP 서버의 설명적 이름 (예: "내부 도구 서버"). + - **Description**: 이 MCP 서버가 제공하는 기능에 대한 선택적 요약. + - **Server URL** (필수): MCP 서버 엔드포인트의 전체 URL (예: `https://my-server.example.com/mcp`). + + + + MCP 서버의 보안 방식에 따라 세 가지 인증 방법 중 하나를 선택합니다. 각 방법에 대한 자세한 내용은 아래 섹션을 참조하세요. + + + + MCP 서버가 모든 요청에 추가 헤더를 요구하는 경우 (예: 테넌트 식별자 또는 라우팅 헤더), **+ Add Header**를 클릭하고 헤더 이름과 값을 입력합니다. 여러 커스텀 헤더를 추가할 수 있습니다. + + + + **Create MCP Server**를 클릭하여 연결을 저장합니다. 커스텀 MCP 서버가 Connections 목록에 나타나고 해당 도구를 crew에서 사용할 수 있게 됩니다. + + + +## 인증 방법 + +### 인증 없음 + +MCP 서버가 공개적으로 접근 가능하고 자격 증명이 필요 없을 때 이 옵션을 선택합니다. 오픈 소스 서버나 VPN 뒤에서 실행되는 내부 서버에 일반적입니다. + +### 인증 토큰 + +MCP 서버가 API 키 또는 Bearer 토큰으로 보호되는 경우 이 방법을 사용합니다. + + + 인증 토큰을 사용하는 커스텀 MCP 서버 + + +| 필드 | 필수 | 설명 | +|------|------|------| +| **Header Name** | 예 | 토큰을 전달하는 HTTP 헤더 이름 (예: `X-API-Key`, `Authorization`). | +| **Value** | 예 | API 키 또는 Bearer 토큰. | +| **Add to** | 아니오 | 자격 증명을 첨부할 위치 — **Header** (기본값) 또는 **Query parameter**. | + + +서버가 `Authorization` 헤더에 `Bearer` 토큰을 예상하는 경우, Header Name을 `Authorization`으로, Value를 `Bearer <토큰>`으로 설정하세요. + + +### OAuth 2.0 + +OAuth 2.0 인증이 필요한 MCP 서버에 이 방법을 사용합니다. CrewAI가 토큰 갱신을 포함한 전체 OAuth 흐름을 처리합니다. + + + OAuth 2.0을 사용하는 커스텀 MCP 서버 + + +| 필드 | 필수 | 설명 | +|------|------|------| +| **Redirect URI** | — | 자동으로 채워지며 읽기 전용입니다. 이 URI를 복사하여 OAuth 제공자에 승인된 리디렉션 URI로 등록하세요. | +| **Authorization Endpoint** | 예 | 사용자가 접근을 승인하기 위해 이동하는 URL (예: `https://auth.example.com/oauth/authorize`). | +| **Token Endpoint** | 예 | 인증 코드를 액세스 토큰으로 교환하는 데 사용되는 URL (예: `https://auth.example.com/oauth/token`). | +| **Client ID** | 예 | OAuth 제공자가 발급한 클라이언트 ID. | +| **Client Secret** | 아니오 | OAuth 클라이언트 시크릿. PKCE를 사용하는 공개 클라이언트에는 필요하지 않습니다. | +| **Scopes** | 아니오 | 요청할 스코프의 공백으로 구분된 목록 (예: `read write`). | +| **Token Auth Method** | 아니오 | 토큰 교환 시 클라이언트 자격 증명을 보내는 방법 — **Standard (POST body)** 또는 **Basic Auth (header)**. 기본값은 Standard입니다. | +| **PKCE Supported** | 아니오 | OAuth 제공자가 Proof Key for Code Exchange를 지원하는 경우 활성화합니다. 보안 강화를 위해 권장됩니다. | + + +**Discover OAuth Config**: OAuth 제공자가 OpenID Connect Discovery를 지원하는 경우, **Discover OAuth Config** 링크를 클릭하여 제공자의 `/.well-known/openid-configuration` URL에서 인증 및 토큰 엔드포인트를 자동으로 채울 수 있습니다. + + +#### OAuth 2.0 단계별 설정 + + + + 양식에 표시된 **Redirect URI**를 복사하여 OAuth 제공자의 애플리케이션 설정에서 승인된 리디렉션 URI로 추가합니다. + + + + **Authorization Endpoint**, **Token Endpoint**, **Client ID**를 입력하고, 선택적으로 **Client Secret**과 **Scopes**를 입력합니다. + + + + 적절한 **Token Auth Method**를 선택합니다. 대부분의 제공자는 기본값인 **Standard (POST body)**를 사용합니다. 일부 오래된 제공자는 **Basic Auth (header)**를 요구합니다. + + + + 제공자가 지원하는 경우 **PKCE Supported**를 체크합니다. PKCE는 인증 코드 흐름에 추가 보안 계층을 제공하며 모든 새 통합에 권장됩니다. + + + + **Create MCP Server**를 클릭합니다. OAuth 제공자로 리디렉션되어 접근을 인증합니다. 인증 완료 후 CrewAI가 토큰을 저장하고 필요에 따라 자동으로 갱신합니다. + + + +## 커스텀 MCP 서버 사용하기 + +연결이 완료되면 커스텀 MCP 서버의 도구가 **Tools & Integrations** 페이지에서 기본 제공 연결과 함께 표시됩니다. 다음을 수행할 수 있습니다: + +- 다른 CrewAI 도구와 마찬가지로 crew의 **에이전트에 도구를 할당**합니다. +- **가시성을 관리**하여 어떤 팀원이 서버를 사용할 수 있는지 제어합니다. +- Connections 목록에서 언제든지 연결을 **편집하거나 제거**합니다. + + +MCP 서버에 접근할 수 없거나 자격 증명이 만료되면 해당 서버를 사용하는 도구 호출이 실패합니다. 서버 URL이 안정적이고 자격 증명이 최신 상태인지 확인하세요. + + + + 커스텀 MCP 서버 구성 또는 문제 해결에 대한 도움이 필요하면 지원팀에 문의하세요. + diff --git a/docs/pt-BR/enterprise/guides/custom-mcp-server.mdx b/docs/pt-BR/enterprise/guides/custom-mcp-server.mdx new file mode 100644 index 000000000..cb24baed8 --- /dev/null +++ b/docs/pt-BR/enterprise/guides/custom-mcp-server.mdx @@ -0,0 +1,136 @@ +--- +title: "Servidores MCP Personalizados" +description: "Conecte seus próprios servidores MCP ao CrewAI AMP com acesso público, autenticação por token ou OAuth 2.0" +icon: "plug" +mode: "wide" +--- + +O CrewAI AMP suporta a conexão com qualquer servidor MCP que implemente o [Model Context Protocol](https://modelcontextprotocol.io/). Você pode conectar servidores públicos que não exigem autenticação, servidores protegidos por chave de API ou token bearer, e servidores que utilizam OAuth 2.0 para acesso delegado seguro. + +## Pré-requisitos + + + + Você precisa de uma conta ativa no [CrewAI AMP](https://app.crewai.com). + + + A URL do servidor MCP que você deseja conectar. O servidor deve ser acessível pela internet e suportar transporte Streamable HTTP. + + + +## Adicionando um Servidor MCP Personalizado + + + + Navegue até **Tools & Integrations** no menu lateral esquerdo do CrewAI AMP e selecione a aba **Connections**. + + + + Clique no botão **Add Custom MCP Server**. Um diálogo aparecerá com o formulário de configuração. + + + + - **Name** (obrigatório): Um nome descritivo para seu servidor MCP (ex.: "Meu Servidor de Ferramentas Internas"). + - **Description**: Um resumo opcional do que este servidor MCP fornece. + - **Server URL** (obrigatório): A URL completa do endpoint do seu servidor MCP (ex.: `https://my-server.example.com/mcp`). + + + + Selecione um dos três métodos de autenticação disponíveis com base em como seu servidor MCP está protegido. Veja as seções abaixo para detalhes sobre cada método. + + + + Se seu servidor MCP requer headers adicionais em cada requisição (ex.: identificadores de tenant ou headers de roteamento), clique em **+ Add Header** e forneça o nome e valor do header. Você pode adicionar múltiplos headers personalizados. + + + + Clique em **Create MCP Server** para salvar a conexão. Seu servidor MCP personalizado aparecerá na lista de Connections e suas ferramentas estarão disponíveis para uso nas suas crews. + + + +## Métodos de Autenticação + +### Sem Autenticação + +Escolha esta opção quando seu servidor MCP é publicamente acessível e não requer nenhuma credencial. Isso é comum para servidores open-source ou servidores internos rodando atrás de uma VPN. + +### Token de Autenticação + +Use este método quando seu servidor MCP é protegido por uma chave de API ou token bearer. + + + Servidor MCP Personalizado com Token de Autenticação + + +| Campo | Obrigatório | Descrição | +|-------|-------------|-----------| +| **Header Name** | Sim | O nome do header HTTP que carrega o token (ex.: `X-API-Key`, `Authorization`). | +| **Value** | Sim | Sua chave de API ou token bearer. | +| **Add to** | Não | Onde anexar a credencial — **Header** (padrão) ou **Query parameter**. | + + +Se seu servidor espera um token `Bearer` no header `Authorization`, defina o Header Name como `Authorization` e o Value como `Bearer `. + + +### OAuth 2.0 + +Use este método para servidores MCP que requerem autorização OAuth 2.0. O CrewAI gerenciará todo o fluxo OAuth, incluindo a renovação de tokens. + + + Servidor MCP Personalizado com OAuth 2.0 + + +| Campo | Obrigatório | Descrição | +|-------|-------------|-----------| +| **Redirect URI** | — | Preenchido automaticamente e somente leitura. Copie esta URI e registre-a como URI de redirecionamento autorizada no seu provedor OAuth. | +| **Authorization Endpoint** | Sim | A URL para onde os usuários são enviados para autorizar o acesso (ex.: `https://auth.example.com/oauth/authorize`). | +| **Token Endpoint** | Sim | A URL usada para trocar o código de autorização por um token de acesso (ex.: `https://auth.example.com/oauth/token`). | +| **Client ID** | Sim | O Client ID OAuth emitido pelo seu provedor. | +| **Client Secret** | Não | O Client Secret OAuth. Não é necessário para clientes públicos usando PKCE. | +| **Scopes** | Não | Lista de escopos separados por espaço a solicitar (ex.: `read write`). | +| **Token Auth Method** | Não | Como as credenciais do cliente são enviadas ao trocar tokens — **Standard (POST body)** ou **Basic Auth (header)**. Padrão é Standard. | +| **PKCE Supported** | Não | Ative se seu provedor OAuth suporta Proof Key for Code Exchange. Recomendado para maior segurança. | + + +**Discover OAuth Config**: Se seu provedor OAuth suporta OpenID Connect Discovery, clique no link **Discover OAuth Config** para preencher automaticamente os endpoints de autorização e token a partir da URL `/.well-known/openid-configuration` do provedor. + + +#### Configurando OAuth 2.0 Passo a Passo + + + + Copie a **Redirect URI** exibida no formulário e adicione-a como URI de redirecionamento autorizada nas configurações do seu provedor OAuth. + + + + Preencha o **Authorization Endpoint**, **Token Endpoint**, **Client ID** e, opcionalmente, o **Client Secret** e **Scopes**. + + + + Selecione o **Token Auth Method** apropriado. A maioria dos provedores usa o padrão **Standard (POST body)**. Alguns provedores mais antigos requerem **Basic Auth (header)**. + + + + Marque **PKCE Supported** se seu provedor suporta. O PKCE adiciona uma camada extra de segurança ao fluxo de código de autorização e é recomendado para todas as novas integrações. + + + + Clique em **Create MCP Server**. Você será redirecionado ao seu provedor OAuth para autorizar o acesso. Uma vez autorizado, o CrewAI armazenará os tokens e os renovará automaticamente conforme necessário. + + + +## Usando Seu Servidor MCP Personalizado + +Uma vez conectado, as ferramentas do seu servidor MCP personalizado aparecem junto com as conexões integradas na página **Tools & Integrations**. Você pode: + +- **Atribuir ferramentas a agentes** nas suas crews, assim como qualquer outra ferramenta CrewAI. +- **Gerenciar visibilidade** para controlar quais membros da equipe podem usar o servidor. +- **Editar ou remover** a conexão a qualquer momento na lista de Connections. + + +Se seu servidor MCP ficar inacessível ou as credenciais expirarem, as chamadas de ferramentas usando esse servidor falharão. Certifique-se de que a URL do servidor seja estável e as credenciais estejam atualizadas. + + + + Entre em contato com nossa equipe de suporte para assistência com configuração ou resolução de problemas de servidores MCP personalizados. +