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

# Herramientas MCP

> Catálogo completo de herramientas disponibles via MCP.

Horneross soporta herramientas MCP de dos fuentes principales: **Composio** (integraciones pre-configuradas) y **servidores HTTP personalizados**.

## Composio: Integraciones disponibles

Composio provee +100 integraciones con OAuth pre-configurado. Acá están las más utilizadas:

### Email & Comunicación

<AccordionGroup>
  <Accordion title="Gmail" icon="envelope">
    **Toolkit slug:** `gmail`

    | Herramienta             | Descripción              |
    | ----------------------- | ------------------------ |
    | `GMAIL_SEND_EMAIL`      | Enviar un email          |
    | `GMAIL_GET_EMAILS`      | Obtener emails recientes |
    | `GMAIL_SEARCH_EMAILS`   | Buscar emails con query  |
    | `GMAIL_GET_EMAIL_BY_ID` | Obtener email específico |
    | `GMAIL_CREATE_DRAFT`    | Crear borrador           |
    | `GMAIL_REPLY_TO_EMAIL`  | Responder email          |
    | `GMAIL_DELETE_EMAIL`    | Eliminar email           |
    | `GMAIL_ADD_LABEL`       | Agregar etiqueta         |

    **Ejemplo de uso:**

    ```
    Usuario: "Mandá un email a juan@ejemplo.com diciéndole que la reunión se reprogramó"

    Agente ejecuta: GMAIL_SEND_EMAIL
    - to: "juan@ejemplo.com"
    - subject: "Reunión reprogramada"
    - body: "Hola Juan, te informo que la reunión fue reprogramada..."
    ```
  </Accordion>

  <Accordion title="Slack" icon="slack">
    **Toolkit slug:** `slack`

    | Herramienta                  | Descripción               |
    | ---------------------------- | ------------------------- |
    | `SLACK_SEND_MESSAGE`         | Enviar mensaje a canal/DM |
    | `SLACK_GET_CHANNEL_MESSAGES` | Obtener mensajes de canal |
    | `SLACK_SEARCH_MESSAGES`      | Buscar mensajes           |
    | `SLACK_CREATE_CHANNEL`       | Crear nuevo canal         |
    | `SLACK_INVITE_TO_CHANNEL`    | Invitar usuario a canal   |
    | `SLACK_SET_CHANNEL_TOPIC`    | Cambiar tema del canal    |
    | `SLACK_GET_USERS`            | Listar usuarios           |
  </Accordion>

  <Accordion title="Microsoft Teams" icon="microsoft">
    **Toolkit slug:** `teams`

    | Herramienta              | Descripción      |
    | ------------------------ | ---------------- |
    | `TEAMS_SEND_MESSAGE`     | Enviar mensaje   |
    | `TEAMS_CREATE_CHANNEL`   | Crear canal      |
    | `TEAMS_GET_MESSAGES`     | Obtener mensajes |
    | `TEAMS_SCHEDULE_MEETING` | Agendar reunión  |
  </Accordion>
</AccordionGroup>

### Calendarios

<AccordionGroup>
  <Accordion title="Google Calendar" icon="calendar">
    **Toolkit slug:** `googlecalendar`

    | Herramienta                      | Descripción               |
    | -------------------------------- | ------------------------- |
    | `GOOGLECALENDAR_CREATE_EVENT`    | Crear evento              |
    | `GOOGLECALENDAR_GET_EVENTS`      | Listar eventos            |
    | `GOOGLECALENDAR_GET_EVENT_BY_ID` | Obtener evento específico |
    | `GOOGLECALENDAR_UPDATE_EVENT`    | Actualizar evento         |
    | `GOOGLECALENDAR_DELETE_EVENT`    | Eliminar evento           |
    | `GOOGLECALENDAR_FIND_FREE_SLOTS` | Buscar disponibilidad     |
    | `GOOGLECALENDAR_GET_CALENDARS`   | Listar calendarios        |

    **Ejemplo de uso:**

    ```
    Usuario: "Agendá una reunión con el equipo mañana a las 10am"

    Agente ejecuta: GOOGLECALENDAR_CREATE_EVENT
    - title: "Reunión de equipo"
    - start: "2024-01-22T10:00:00"
    - end: "2024-01-22T11:00:00"
    - attendees: ["equipo@ejemplo.com"]
    ```
  </Accordion>

  <Accordion title="Outlook Calendar" icon="microsoft">
    **Toolkit slug:** `outlookcalendar`

    | Herramienta                          | Descripción                 |
    | ------------------------------------ | --------------------------- |
    | `OUTLOOKCALENDAR_CREATE_EVENT`       | Crear evento                |
    | `OUTLOOKCALENDAR_GET_EVENTS`         | Listar eventos              |
    | `OUTLOOKCALENDAR_UPDATE_EVENT`       | Actualizar evento           |
    | `OUTLOOKCALENDAR_DELETE_EVENT`       | Eliminar evento             |
    | `OUTLOOKCALENDAR_FIND_MEETING_TIMES` | Buscar horarios disponibles |
  </Accordion>
</AccordionGroup>

### CRM & Ventas

<AccordionGroup>
  <Accordion title="HubSpot" icon="hubspot">
    **Toolkit slug:** `hubspot`

    | Herramienta               | Descripción         |
    | ------------------------- | ------------------- |
    | `HUBSPOT_CREATE_CONTACT`  | Crear contacto      |
    | `HUBSPOT_GET_CONTACTS`    | Listar contactos    |
    | `HUBSPOT_UPDATE_CONTACT`  | Actualizar contacto |
    | `HUBSPOT_SEARCH_CONTACTS` | Buscar contactos    |
    | `HUBSPOT_CREATE_DEAL`     | Crear negocio       |
    | `HUBSPOT_GET_DEALS`       | Listar negocios     |
    | `HUBSPOT_UPDATE_DEAL`     | Actualizar negocio  |
    | `HUBSPOT_CREATE_NOTE`     | Crear nota          |
    | `HUBSPOT_CREATE_TASK`     | Crear tarea         |
  </Accordion>

  <Accordion title="Salesforce" icon="salesforce">
    **Toolkit slug:** `salesforce`

    | Herramienta                     | Descripción            |
    | ------------------------------- | ---------------------- |
    | `SALESFORCE_CREATE_LEAD`        | Crear lead             |
    | `SALESFORCE_GET_LEADS`          | Listar leads           |
    | `SALESFORCE_CREATE_OPPORTUNITY` | Crear oportunidad      |
    | `SALESFORCE_UPDATE_OPPORTUNITY` | Actualizar oportunidad |
    | `SALESFORCE_SEARCH_RECORDS`     | Buscar registros       |
    | `SALESFORCE_CREATE_TASK`        | Crear tarea            |
  </Accordion>

  <Accordion title="Pipedrive" icon="chart-line">
    **Toolkit slug:** `pipedrive`

    | Herramienta                   | Descripción         |
    | ----------------------------- | ------------------- |
    | `PIPEDRIVE_CREATE_PERSON`     | Crear persona       |
    | `PIPEDRIVE_CREATE_DEAL`       | Crear negocio       |
    | `PIPEDRIVE_UPDATE_DEAL_STAGE` | Mover etapa         |
    | `PIPEDRIVE_ADD_NOTE`          | Agregar nota        |
    | `PIPEDRIVE_SCHEDULE_ACTIVITY` | Programar actividad |
  </Accordion>
</AccordionGroup>

### Productividad

<AccordionGroup>
  <Accordion title="Notion" icon="book">
    **Toolkit slug:** `notion`

    | Herramienta              | Descripción           |
    | ------------------------ | --------------------- |
    | `NOTION_CREATE_PAGE`     | Crear página          |
    | `NOTION_GET_PAGE`        | Obtener página        |
    | `NOTION_UPDATE_PAGE`     | Actualizar página     |
    | `NOTION_SEARCH`          | Buscar en workspace   |
    | `NOTION_ADD_TO_DATABASE` | Agregar registro a DB |
    | `NOTION_QUERY_DATABASE`  | Consultar database    |
    | `NOTION_APPEND_BLOCK`    | Agregar bloque        |
  </Accordion>

  <Accordion title="Google Sheets" icon="table">
    **Toolkit slug:** `googlesheets`

    | Herramienta                       | Descripción       |
    | --------------------------------- | ----------------- |
    | `GOOGLESHEETS_GET_VALUES`         | Leer celdas       |
    | `GOOGLESHEETS_UPDATE_VALUES`      | Escribir celdas   |
    | `GOOGLESHEETS_APPEND_ROW`         | Agregar fila      |
    | `GOOGLESHEETS_CREATE_SPREADSHEET` | Crear spreadsheet |
    | `GOOGLESHEETS_GET_SPREADSHEET`    | Obtener metadata  |
  </Accordion>

  <Accordion title="Airtable" icon="database">
    **Toolkit slug:** `airtable`

    | Herramienta               | Descripción         |
    | ------------------------- | ------------------- |
    | `AIRTABLE_CREATE_RECORD`  | Crear registro      |
    | `AIRTABLE_GET_RECORDS`    | Listar registros    |
    | `AIRTABLE_UPDATE_RECORD`  | Actualizar registro |
    | `AIRTABLE_DELETE_RECORD`  | Eliminar registro   |
    | `AIRTABLE_SEARCH_RECORDS` | Buscar registros    |
  </Accordion>

  <Accordion title="Todoist" icon="check-square">
    **Toolkit slug:** `todoist`

    | Herramienta              | Descripción      |
    | ------------------------ | ---------------- |
    | `TODOIST_CREATE_TASK`    | Crear tarea      |
    | `TODOIST_GET_TASKS`      | Listar tareas    |
    | `TODOIST_COMPLETE_TASK`  | Completar tarea  |
    | `TODOIST_UPDATE_TASK`    | Actualizar tarea |
    | `TODOIST_CREATE_PROJECT` | Crear proyecto   |
  </Accordion>
</AccordionGroup>

### Desarrollo

<AccordionGroup>
  <Accordion title="GitHub" icon="github">
    **Toolkit slug:** `github`

    | Herramienta           | Descripción        |
    | --------------------- | ------------------ |
    | `GITHUB_CREATE_ISSUE` | Crear issue        |
    | `GITHUB_GET_ISSUES`   | Listar issues      |
    | `GITHUB_UPDATE_ISSUE` | Actualizar issue   |
    | `GITHUB_CREATE_PR`    | Crear pull request |
    | `GITHUB_GET_PR`       | Obtener PR         |
    | `GITHUB_ADD_COMMENT`  | Agregar comentario |
    | `GITHUB_SEARCH_CODE`  | Buscar código      |
  </Accordion>

  <Accordion title="Jira" icon="jira">
    **Toolkit slug:** `jira`

    | Herramienta             | Descripción        |
    | ----------------------- | ------------------ |
    | `JIRA_CREATE_ISSUE`     | Crear issue        |
    | `JIRA_GET_ISSUE`        | Obtener issue      |
    | `JIRA_UPDATE_ISSUE`     | Actualizar issue   |
    | `JIRA_SEARCH_ISSUES`    | Buscar con JQL     |
    | `JIRA_ADD_COMMENT`      | Agregar comentario |
    | `JIRA_TRANSITION_ISSUE` | Cambiar estado     |
  </Accordion>

  <Accordion title="Linear" icon="chart-line">
    **Toolkit slug:** `linear`

    | Herramienta           | Descripción        |
    | --------------------- | ------------------ |
    | `LINEAR_CREATE_ISSUE` | Crear issue        |
    | `LINEAR_GET_ISSUES`   | Listar issues      |
    | `LINEAR_UPDATE_ISSUE` | Actualizar issue   |
    | `LINEAR_ADD_COMMENT`  | Agregar comentario |
    | `LINEAR_SEARCH`       | Buscar             |
  </Accordion>
</AccordionGroup>

### Almacenamiento

<AccordionGroup>
  <Accordion title="Google Drive" icon="google-drive">
    **Toolkit slug:** `googledrive`

    | Herramienta                 | Descripción       |
    | --------------------------- | ----------------- |
    | `GOOGLEDRIVE_UPLOAD_FILE`   | Subir archivo     |
    | `GOOGLEDRIVE_GET_FILE`      | Obtener archivo   |
    | `GOOGLEDRIVE_LIST_FILES`    | Listar archivos   |
    | `GOOGLEDRIVE_SEARCH_FILES`  | Buscar archivos   |
    | `GOOGLEDRIVE_CREATE_FOLDER` | Crear carpeta     |
    | `GOOGLEDRIVE_SHARE_FILE`    | Compartir archivo |
  </Accordion>

  <Accordion title="Dropbox" icon="dropbox">
    **Toolkit slug:** `dropbox`

    | Herramienta                  | Descripción           |
    | ---------------------------- | --------------------- |
    | `DROPBOX_UPLOAD_FILE`        | Subir archivo         |
    | `DROPBOX_GET_FILE`           | Descargar archivo     |
    | `DROPBOX_LIST_FOLDER`        | Listar carpeta        |
    | `DROPBOX_SEARCH`             | Buscar                |
    | `DROPBOX_CREATE_SHARED_LINK` | Crear link compartido |
  </Accordion>
</AccordionGroup>

***

## Chatwoot MCP (Built-in)

Horneross incluye un servidor MCP nativo para Chatwoot:

| Herramienta                         | Descripción                      |
| ----------------------------------- | -------------------------------- |
| `chatwoot_add_label`                | Agregar etiquetas a conversación |
| `chatwoot_assign_agent`             | Asignar a agente humano          |
| `chatwoot_resolve_conversation`     | Marcar como resuelto             |
| `chatwoot_reopen_conversation`      | Reabrir conversación             |
| `chatwoot_add_private_note`         | Agregar nota interna             |
| `chatwoot_search_contacts`          | Buscar contactos                 |
| `chatwoot_update_contact`           | Actualizar contacto              |
| `chatwoot_get_conversation_history` | Obtener historial                |
| `chatwoot_update_custom_attributes` | Actualizar atributos             |
| `chatwoot_escalate_to_human`        | Escalar a humano                 |
| `chatwoot_schedule_followup`        | Programar follow-up              |

***

## Configuración de herramientas

### Habilitar herramientas específicas

Usá `enabledTools` para limitar qué herramientas están disponibles:

```json theme={null}
{
  "custom_mcp": [
    {
      "name": "gmail-readonly",
      "type": "composio",
      "toolkit_slug": "gmail",
      "config": {
        "profile_id": "profile_abc123"
      },
      "enabledTools": [
        "GMAIL_GET_EMAILS",
        "GMAIL_SEARCH_EMAILS"
        // Solo lectura, sin envío
      ]
    }
  ]
}
```

### Múltiples integraciones

Podés conectar múltiples MCPs al mismo agente:

```json theme={null}
{
  "custom_mcp": [
    {
      "name": "gmail",
      "type": "composio",
      "toolkit_slug": "gmail",
      "config": { "profile_id": "profile_gmail" }
    },
    {
      "name": "calendar",
      "type": "composio",
      "toolkit_slug": "googlecalendar",
      "config": { "profile_id": "profile_cal" }
    },
    {
      "name": "hubspot",
      "type": "composio",
      "toolkit_slug": "hubspot",
      "config": { "profile_id": "profile_hs" }
    }
  ]
}
```

***

## Descubrir herramientas

Usá el endpoint de discovery para ver qué herramientas ofrece un servidor:

```bash theme={null}
curl -X POST https://app.horneross.com/api/mcp/discover-tools \
  -H "Authorization: Bearer API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "streamable-http",
    "config": {
      "url": "https://mi-servidor.com/mcp"
    }
  }'
```

### Response

```json theme={null}
{
  "tools": [
    {
      "name": "get_weather",
      "description": "Obtiene el clima actual de una ciudad",
      "inputSchema": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "Nombre de la ciudad"
          }
        },
        "required": ["city"]
      }
    }
  ]
}
```

***

## Próximos pasos

<Card title="Crear servidor custom" icon="server" href="/developers/mcp/custom-servers">
  Aprendé a crear tu propio servidor MCP
</Card>
