> ## Documentation Index
> Fetch the complete documentation index at: https://strattumai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Conectar via Microsoft Copilot

> Configure o MCP Server da strattum.ai no Microsoft Copilot Studio e no Microsoft 365 Copilot usando transporte SSE (HTTP).

O Microsoft Copilot se conecta a servidores MCP via **transporte SSE (Server-Sent Events)** sobre HTTP. Nesse modo, o MCP Server da strattum.ai é executado como um serviço HTTP na porta `8005` e o Copilot se conecta a ele via rede — seja na VPC interna do cliente ou via tunnel seguro.

<Warning>
  O transporte SSE expõe o servidor via HTTP. Em ambientes de produção, configure sempre o `MCP_API_KEY` e coloque o servidor atrás de um proxy reverso com TLS (HTTPS). Nunca exponha a porta 8005 diretamente à internet sem autenticação.
</Warning>

## Pré-requisitos

* Microsoft Copilot Studio (licença Microsoft 365 ou Copilot Studio standalone)
* MCP Server da strattum.ai acessível via rede pelo Copilot (URL HTTPS com certificado válido)
* Memory API e Knowledge API em execução e acessíveis pelo MCP Server
* `MCP_API_KEY` definido para autenticação Bearer

## Iniciando o MCP Server em modo SSE

O modo SSE é o padrão da imagem Docker. Para subir o servidor:

<Tabs>
  <Tab title="Docker Compose (recomendado)">
    Adicione o serviço ao `docker-compose.yml` do seu ambiente:

    ```yaml theme={null}
    mcp-server:
      image: ghcr.io/strattum-ai/mcp-server:latest
      ports:
        - "8005:8005"
      environment:
        MCP_TRANSPORT: sse
        MCP_HOST: 0.0.0.0
        MCP_PORT: 8005
        MCP_API_KEY: ${MCP_API_KEY}
        MEMORY_API_URL: http://strattum-memory-api:8002
        KNOWLEDGE_API_URL: http://strattum-knowledge-api:8003
      healthcheck:
        test: ["CMD", "curl", "-f", "http://localhost:8005/healthz"]
        interval: 30s
        timeout: 10s
        retries: 3
    ```

    Defina `MCP_API_KEY` no seu `.env`:

    ```bash theme={null}
    MCP_API_KEY=seu-token-seguro-aqui
    ```
  </Tab>

  <Tab title="Python direto">
    ```bash theme={null}
    export MCP_TRANSPORT=sse
    export MCP_PORT=8005
    export MCP_API_KEY=seu-token-seguro-aqui
    export MEMORY_API_URL=http://localhost:8002
    export KNOWLEDGE_API_URL=http://localhost:8003

    cd strattum-ai/services/mcp-server
    pip install -e .
    python -m mcp_server.server
    ```
  </Tab>
</Tabs>

Confirme que o servidor está saudável:

```bash theme={null}
curl http://localhost:8005/healthz
```

Resposta esperada:

```json theme={null}
{
  "status": "ok",
  "service": "strattum-mcp-server",
  "transport": "sse",
  "dependencies": {
    "memory_api": { "status": "ok", "http_status": 200 },
    "knowledge_api": { "status": "ok", "http_status": 200 }
  }
}
```

## Endpoints SSE

| Endpoint     | Método | Descrição                             |
| ------------ | ------ | ------------------------------------- |
| `/sse`       | `GET`  | Conexão SSE — ponto de entrada do MCP |
| `/messages/` | `POST` | Canal de mensagens bidirecional       |
| `/healthz`   | `GET`  | Healthcheck (sem autenticação)        |

Todas as requisições a `/sse` e `/messages/` exigem o header:

```
Authorization: Bearer <MCP_API_KEY>
```

## Configuração no Microsoft Copilot Studio

<Steps>
  <Step title="Acesse o Copilot Studio">
    Navegue para [copilotstudio.microsoft.com](https://copilotstudio.microsoft.com) e abra ou crie um agente.
  </Step>

  <Step title="Adicione uma Action (MCP)">
    No painel lateral, vá em **Actions** > **Add an action** > **Model Context Protocol**.
  </Step>

  <Step title="Configure a conexão">
    Preencha os campos:

    | Campo              | Valor                                     |
    | ------------------ | ----------------------------------------- |
    | **Name**           | `Strattum Memory & Knowledge`             |
    | **Server URL**     | `https://mcp.sua-empresa.strattum.ai/sse` |
    | **Authentication** | Bearer Token                              |
    | **Token**          | `<MCP_API_KEY>`                           |
  </Step>

  <Step title="Teste a conexão">
    Clique em **Test connection**. O Copilot Studio listará as três ferramentas: `search_entity`, `get_entity_context` e `search_knowledge`.
  </Step>

  <Step title="Publique o agente">
    Salve e publique o agente. As ferramentas da strattum.ai estarão disponíveis automaticamente nas conversas.
  </Step>
</Steps>

## Exemplos de uso no Copilot

### Consultar perfil de cliente antes de uma reunião

No chat do Microsoft 365 Copilot (Teams, Outlook):

```
@Copilot Busque o perfil da empresa TechCorp na strattum e traga também
os SLAs aplicáveis para clientes enterprise.
```

O Copilot chamará `search_entity` para localizar a entidade, `get_entity_context` para o perfil completo e `search_knowledge` para os documentos de SLA.

### Pesquisar procedimentos internos

```
@Copilot Qual é o processo de escalation para contratos enterprise segundo
nossa base de conhecimento?
```

O Copilot chamará `search_knowledge` com a query e retornará os trechos mais relevantes dos documentos indexados.

## Considerações de segurança

* **Sempre use HTTPS** em produção. Configure um proxy reverso (nginx, Caddy, Azure Application Gateway) na frente da porta 8005.
* **Rotacione o `MCP_API_KEY`** periodicamente. Trate-o como uma senha — não o exponha em logs ou no código-fonte.
* **Restrinja o acesso por IP** quando possível: o Copilot Studio tem [ranges de IP publicados pela Microsoft](https://learn.microsoft.com/microsoft-365/enterprise/urls-and-ip-address-ranges) que podem ser usados em regras de firewall.
* O endpoint `/healthz` não requer autenticação por design — não exponha dados sensíveis nele.
