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

# MCP

> Usa las fuentes de datos de Croma como herramientas por MCP, con tu llave de API.

Croma expone cada fuente de datos como una herramienta mediante el [Model
Context Protocol](https://modelcontextprotocol.io) (MCP), servido sobre
Streamable HTTP en:

```
https://api.croma.run/mcp
```

Cualquier cliente MCP puede conectarse. Los clientes interactivos (Claude,
ChatGPT, Cursor) usan el flujo de OAuth, pero para tu propio código te
autenticas con la **misma llave de API que la API REST**: envíala como token
bearer y las herramientas se ejecutan con el alcance de tu organización,
compartiendo los mismos [límites de tasa](/es/rate-limits) y uso.

## Úsalo desde el AI SDK

El [AI SDK](https://ai-sdk.dev) puede cargar las herramientas de Croma
directamente y entregárselas a un modelo para llamadas a herramientas. Envía tu
llave en el encabezado `Authorization` del transporte:

```ts theme={"dark"}
import { experimental_createMCPClient as createMCPClient, generateText } from "ai";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { anthropic } from "@ai-sdk/anthropic";

const mcp = await createMCPClient({
  transport: new StreamableHTTPClientTransport(
    new URL("https://api.croma.run/mcp"),
    {
      requestInit: {
        headers: { Authorization: `Bearer ${process.env.CROMA_API_KEY}` },
      },
    },
  ),
});

// Cada fuente de datos, expuesta como una herramienta que el modelo puede llamar.
const tools = await mcp.tools();

const { text } = await generateText({
  model: anthropic("claude-opus-4-8"),
  tools,
  // Deja que el modelo llame herramientas y luego responda. Consulta la
  // documentación del AI SDK para la opción de varios pasos en tu versión
  // (`stopWhen` / `maxSteps`).
  prompt: "Consulta los antecedentes de la Policía Nacional para la cédula 1234567890.",
});

await mcp.close();
console.log(text);
```

<Warning>
  Trata la llave como un secreto: cárgala desde una variable de entorno o un
  gestor de secretos, nunca la subas al repositorio y cierra el cliente
  (`mcp.close()`) cuando termines para liberar la conexión.
</Warning>

## Nombres de las herramientas

Las herramientas se nombran según su fuente, con guiones bajos en lugar de
guiones, por ejemplo `policia_criminal_records`, `rues_entity_by_nit` y
`rama_judicial_cases_by_radicado`. Llama a `mcp.tools()` para listar el conjunto
completo con sus esquemas de entrada, o revisa la [referencia de la
API](/es/api-reference) para los campos que acepta cada una.

Las [consultas asíncronas](/es/async-jobs) siempre esperan en línea sobre MCP:
la llamada a la herramienta devuelve el resultado terminado, sin `202`, polling
ni callbacks.

## Cualquier cliente MCP

El AI SDK es una opción. Como el endpoint habla MCP estándar sobre Streamable
HTTP, el
[SDK oficial de MCP para TypeScript](https://github.com/modelcontextprotocol/typescript-sdk),
LangChain y otros frameworks compatibles con MCP se conectan de la misma forma:
apúntalos a `https://api.croma.run/mcp` y define el encabezado
`Authorization: Bearer`.
