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

# Conectando Agentes

> Configuração passo a passo para Claude Desktop, Cursor, Windsurf e clientes MCP personalizados.

## Endpoint SSE

Todos os clientes MCP se conectam a:

```
https://app.alana.shopping/api/mcp/sse
```

## Claude Desktop

Adicione o Alana ao arquivo de configuração MCP do Claude Desktop:

**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json theme={null}
{
  "mcpServers": {
    "alana": {
      "url": "https://app.alana.shopping/api/mcp/sse",
      "headers": {
        "Authorization": "Bearer sk_live_sua_chave_api"
      }
    }
  }
}
```

Reinicie o Claude Desktop após salvar. As ferramentas do Alana aparecerão no painel de ferramentas.

## Cursor

No Cursor, abra **Configurações → MCP** e adicione um novo servidor:

```json theme={null}
{
  "alana": {
    "url": "https://app.alana.shopping/api/mcp/sse",
    "headers": {
      "Authorization": "Bearer sk_live_sua_chave_api"
    }
  }
}
```

## Windsurf

No Windsurf, abra **Configurações → Extensões → MCP** e configure:

```json theme={null}
{
  "servers": {
    "alana": {
      "transport": "sse",
      "url": "https://app.alana.shopping/api/mcp/sse",
      "headers": {
        "Authorization": "Bearer sk_live_sua_chave_api"
      }
    }
  }
}
```

## Agente Personalizado (TypeScript)

```typescript theme={null}
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

const transport = new SSEClientTransport(
  new URL("https://app.alana.shopping/api/mcp/sse"),
  {
    requestInit: {
      headers: {
        Authorization: "Bearer sk_live_sua_chave_api",
      },
    },
  }
);

const client = new Client({ name: "meu-agente", version: "1.0.0" }, {});
await client.connect(transport);

const result = await client.callTool({
  name: "search_products",
  arguments: { query: "camiseta algodão", limit: 5 },
});

console.log(result.content);
```

## Agente Personalizado (Python)

```python theme={null}
import asyncio
from mcp import ClientSession
from mcp.client.sse import sse_client

async def main():
    url = "https://app.alana.shopping/api/mcp/sse"
    headers = {"Authorization": "Bearer sk_live_sua_chave_api"}

    async with sse_client(url, headers=headers) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()

            result = await session.call_tool(
                "search_products",
                arguments={"query": "camiseta algodão", "limit": 5},
            )
            print(result.content)

asyncio.run(main())
```

## Variáveis de Ambiente

Para implantações em produção, use variáveis de ambiente em vez de hardcode:

```bash theme={null}
ALANA_API_KEY=sk_live_sua_chave_api
ALANA_MCP_URL=https://app.alana.shopping/api/mcp/sse
```
