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

# Projects

> Conoce las herramientas de Projects disponibles a través de Profound MCP

Profound MCP ofrece a los asistentes de IA herramientas para leer, generar y gestionar Projects y sus tareas. Para conectar tu cliente MCP al servidor alojado, consulta las [guías de conexión](/es/mcp/common-mcp-clients).

<Note>
  Profound MCP funciona con la versión heredada de Projects. Los Projects que creas en la plataforma Profound aún no están disponibles a través de MCP. Obtén más información sobre Projects en el [Centro de ayuda de Profound](https://help.tryprofound.com/articles/8581387448-about-projects).
</Note>

## Cómo funcionan las herramientas en conjunto

<Steps>
  <Step title="Resolver la categoría del Project">
    Los Projects están vinculados a una categoría, así que antes de hacer cualquier cosa con Projects, el asistente resuelve la categoría con [`list_categories`](/es/mcp/capabilities/discovery-tools#list-categories).
  </Step>

  <Step title="Encontrar un Project">
    Pregunta qué trabajo existe en una categoría. El asistente lista sus Projects con [`list_projects`](#list-projects) y filtra por trabajo activo o archivado cuando lo pides.
  </Step>

  <Step title="Leerlo">
    Pregunta por un Project. El asistente lee el objetivo, la identidad resuelta y la lista completa de tareas con [`get_project`](#get-project).
  </Step>

  <Step title="Generar un nuevo Project">
    Pide un nuevo Project. El asistente muestra una vista previa del plan de generación con [`new_project`](#new-project), inicia la generación una vez que confirmas y sigue el progreso con [`get_project_status`](#get-project-status). La generación tarda unos 10 minutos.
  </Step>

  <Step title="Gestionar tareas">
    Pide agregar, editar o avanzar tareas. El asistente usa [`create_project_task`](#create-project-task), [`update_project_task`](#update-project-task) y [`set_project_task_status`](#set-project-task-status). Cuando un Project esté terminado o ya no sea relevante, pide archivarlo: [`archive_project`](#archive-project) lo aparta sin eliminarlo.
  </Step>
</Steps>

## Comportamiento y seguridad

### Comportamientos

Todas las herramientas de escritura, excepto `delete_project_task`, usan por defecto el modo de vista previa: el asistente recibe primero un plan del cambio, te lo muestra y aplica el cambio solo después de que lo confirmas.

| Comportamiento | Qué significa |
| - | - |
| Vista previa antes de aplicar | Las herramientas de escritura devuelven un plan del cambio y no modifican nada hasta que el asistente lo aplica |
| Archivar en lugar de eliminar | `archive_project` marca un Project como `retired` y conserva su historial |
| Briefs de reemplazo completo | Un `brief` enviado a `update_project_task` reemplaza el brief existente en lugar de combinarse con él |
| Eliminaciones destructivas | `delete_project_task` elimina una tarea de forma permanente, sin vista previa y sin posibilidad de deshacer |
| Escrituras de texto claras | Las herramientas que reciben texto rechazan métricas sin procesar, por lo que los asistentes las sustituyen por valores legibles, por ejemplo `33%` en lugar de `0.33` para un Visibility Score. La redacción guardada de la tarea puede diferir del texto que proporcionaste |
| Datos en vivo | Las herramientas leen de la API de Profound, por lo que los resultados reflejan tu acceso y tus datos actuales |

### Indicaciones de MCP

Las herramientas de lectura (`list_projects`, `get_project` y `get_project_status`) están marcadas con `readOnlyHint: true` e `idempotentHint: true`: solo leen datos y es seguro reintentarlas. Las siguientes indicaciones de MCP están configuradas en las herramientas de escritura:

| Herramienta | Indicaciones | Qué significa |
| - | - | - |
| `new_project` | `destructiveHint: false`, `idempotentHint: false` | Aplicarla dos veces inicia dos generaciones y crea dos Projects |
| `archive_project` | `destructiveHint: false`, `idempotentHint: true` | Archivar un Project que ya está retirado no cambia nada |
| `create_project_task` | `destructiveHint: false`, `idempotentHint: false` | Aplicarla dos veces agrega la tarea dos veces |
| `update_project_task` | `destructiveHint: false`, `idempotentHint: true` | Aplicar el mismo cambio de nuevo deja la tarea como está |
| `set_project_task_status` | `destructiveHint: false`, `idempotentHint: true` | Establecer el mismo estado de nuevo no cambia nada |
| `delete_project_task` | `destructiveHint: true`, `idempotentHint: true` | La eliminación es permanente y una llamada repetida no tiene nada más que eliminar |

Todas las herramientas de escritura también establecen `openWorldHint: true`, lo que indica a tu cliente MCP que las escrituras se aplican en el entorno compartido en vivo, por lo que el cliente puede pedirte que confirmes antes de ejecutarlas.

## Herramientas de Projects

| Herramienta | Uso |
| - | - |
| `list_projects` | Listar los Projects de una categoría |
| `get_project` | Leer un Project con su objetivo y la lista completa de tareas |
| `get_project_status` | Consultar el ciclo de vida de un Project y el estado de generación en vivo |
| `new_project` | Generar un nuevo Project en una categoría |
| `archive_project` | Retirar un Project sin eliminarlo |
| `create_project_task` | Agregar una tarea a un Project |
| `update_project_task` | Actualizar campos de una tarea existente |
| `set_project_task_status` | Cambiar el estado de una tarea |
| `delete_project_task` | Eliminar una tarea de forma permanente |

<AccordionGroup>
  <Accordion title="list_projects" id="list-projects">
    Lista los Projects de una categoría y sus detalles, incluidos el título, la cantidad de tareas y la fecha de la última actualización.

    **Ejemplos de prompts**:

    * "¿Qué proyectos tenemos en la categoría Banca?"
    * "Muéstrame los proyectos que estamos siguiendo activamente."

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `category_id` | Sí | - | La categoría de Profound, obtenida de `list_categories` |
    | `status` | No | `null` | Filtra por `suggested`, `tracked` o `retired`. Si lo dejas en blanco, se devuelven todos los Projects |
    | `limit` | No | `20` | Cantidad máxima de Projects que se devuelven |
    | `offset` | No | `0` | Desplazamiento para la paginación |

    **Notas**

    * La herramienta no devuelve un recuento total de Projects.
  </Accordion>

  <Accordion title="get_project" id="get-project">
    Lee un Project, incluidos el título, el objetivo, la descripción y las tareas.

    **Ejemplos de prompts**:

    * "Explícame el proyecto 'Rank top three on savings accounts'."
    * "¿Qué tareas siguen abiertas en ese proyecto?"

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `project_id` | Sí | - | El ID del Project, obtenido de `list_projects` |
    | `category_id` | Sí | - | La categoría del Project |

    <Tip>
      Pide a tu asistente que compare las métricas en vivo con el objetivo del Project. Los datos que devuelve `get_project` combinan bien con las [herramientas de analítica](/es/mcp/capabilities/analytics-capabilities).
    </Tip>
  </Accordion>

  <Accordion title="get_project_status" id="get-project-status">
    Obtiene el estado del ciclo de vida de un Project:

    * `suggested` para trabajo propuesto
    * `tracked` para trabajo activo medido según el objetivo
    * `retired` para trabajo archivado

    Para los Projects que se generaron recientemente o que se están generando, esta herramienta también devuelve el estado `live_generation`: `queued`, `running`, `completed` o `failed`.

    **Ejemplos de prompts**:

    * "¿Ya está listo el proyecto que empezaste a generar?"
    * "¿La generación de ese proyecto terminó o falló?"

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `project_id` | Sí | - | El ID del Project, obtenido de `list_projects` o `new_project`. No es un `run_id` de generación |
    | `category_id` | Sí | - | La categoría del Project |
  </Accordion>

  <Accordion title="new_project" id="new-project">
    Inicia la generación de un Project. La vista previa muestra el plan de generación y, una vez que lo confirmas, Profound construye el Project en segundo plano y devuelve un enlace a él. La construcción tarda unos 10 minutos, y el asistente puede comprobar si terminó con `get_project_status`.

    **Ejemplos de prompts**:

    * "Crea un proyecto para mejorar nuestra visibilidad en los prompts sobre cuentas de ahorro."
    * "Genera un proyecto de medios ganados sobre el tema de cuentas corrientes, enfocado en el mercado de EE. UU."

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `category_id` | Sí | - | La categoría en la que se genera, obtenida de `list_categories` |
    | `focus` | Sí | - | Una oración concreta que nombra el Project que se va a generar. Comparte un límite de 2,000 caracteres con `context` |
    | `topics` | No | `null` | Nombres de los temas en los que debe enfocarse el Project |
    | `project_name` | No | `null` | Título del Project. Si lo dejas en blanco, Profound genera el nombre |
    | `work_types` | No | `null` | Tipo de trabajo que se produce: `publish`, `refresh`, `earned`, `creative` o `social` |
    | `date_range` | No | `null` | Período que debe cubrir el trabajo generado |
    | `platforms` | No | `null` | Plataformas o canales que se priorizan |
    | `regions` | No | `null` | Mercados o regiones que se priorizan |
    | `tags` | No | `null` | Etiquetas de categoría para orientar lo que se genera |
    | `context` | No | `null` | Detalles adicionales para orientar lo que se genera: objetivo, audiencia, competidores, evidencia, resultado deseado y restricciones. Comparte un límite de 2,000 caracteres con `focus` |
    | `preview` | No | `true` | Cuando es `true`, muestra el plan sin crear nada; cuando es `false`, inicia la generación |
  </Accordion>

  <Accordion title="archive_project" id="archive-project">
    Archiva un Project, lo que lo aparta sin eliminarlo. El Project y su historial se conservan y se marcan como `retired`, por lo que el cambio es reversible.

    **Ejemplos de prompts**:

    * "Archiva el proyecto de la campaña navideña, ya está terminado."
    * "Retira los proyectos en los que ya no estamos trabajando."

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `project_id` | Sí | - | El ID del Project |
    | `category_id` | Sí | - | La categoría del Project |
    | `reason` | No | `null` | Motivo breve del archivado, por ejemplo, ya no es relevante, ya está hecho o fue reemplazado |
    | `preview` | No | `true` | Cuando es `true`, devuelve el plan sin cambiar el Project; cuando es `false`, lo aplica |
  </Accordion>

  <Accordion title="create_project_task" id="create-project-task">
    Agrega una tarea a un Project.

    **Ejemplos de prompts**:

    * "Agrega al proyecto de ahorros una tarea para actualizar la página de precios."
    * "Agrega una tarea al proyecto 'Rank top three on savings accounts': promocionar el anuncio de las nuevas tasas en LinkedIn. Márcala como de alto impacto."

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `project_id` | Sí | - | El Project al que se agrega la tarea |
    | `category_id` | Sí | - | La categoría del Project |
    | `title` | Sí | - | El título de la tarea, de 5 a 12 palabras |
    | `summary` | No | `null` | El resumen de la tarea |
    | `brief` | No | `null` | Las instrucciones de trabajo de la tarea, enviadas como un objeto brief estructurado |
    | `type` | No | `null` | Tipo de tarea: `publish`, `refresh`, `earned`, `competitor_copy`, `creative` o `social` |
    | `topic` | No | `null` | El tema al que apunta esta tarea |
    | `impact` | No | `null` | Puntuación de impacto, de 1 a 5, donde 5 es la más alta |
    | `reference_url` | No | `null` | Un enlace de apoyo, como la página en la que se trabajará o una fuente de referencia |
    | `reference_label` | No | `null` | Nombre visible del enlace de referencia |
    | `position` | No | `null` | La posición de la tarea en la lista de tareas del Project |
    | `preview` | No | `true` | Cuando es `true`, muestra la tarea planificada sin crearla; cuando es `false`, la crea |
  </Accordion>

  <Accordion title="update_project_task" id="update-project-task">
    Actualiza los campos de una tarea existente.

    **Ejemplos de prompts**:

    * "Actualiza la tarea de la página de precios: la nueva página de tasas ya está publicada, enlázala como referencia."
    * "Reescribe el resumen de la tarea de LinkedIn para que se centre en las nuevas tasas de ahorro."

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `project_id` | Sí | - | El ID del Project |
    | `task_id` | Sí | - | El ID de la tarea, obtenido de la lista de tareas de `get_project` |
    | `category_id` | Sí | - | La categoría del Project |
    | `title` | No | `null` | Nuevo título |
    | `summary` | No | `null` | Nuevo párrafo de resumen |
    | `brief` | No | `null` | Nuevas instrucciones de la tarea, enviadas como un objeto brief estructurado |
    | `type` | No | `null` | Nuevo tipo de tarea |
    | `topic` | No | `null` | Nuevo tema objetivo |
    | `impact` | No | `null` | Nueva puntuación de impacto, de 1 a 5 |
    | `reference_url` | No | `null` | Nuevo enlace de apoyo para la tarea |
    | `reference_label` | No | `null` | Nuevo nombre visible para ese enlace |
    | `preview` | No | `true` | Cuando es `true`, muestra los cambios planificados; cuando es `false`, los aplica |

    **Notas**:

    * Un nuevo `brief` reemplaza por completo al anterior, por lo que el asistente envía el brief completo incluso para un cambio pequeño.
  </Accordion>

  <Accordion title="set_project_task_status" id="set-project-task-status">
    Cambia el estado de una tarea. Las opciones de estado son `not_started`, `in_progress`, `done` y `abandoned`. El estado `abandoned` no elimina las tareas.

    **Ejemplos de prompts**:

    * "Marca como terminada la tarea de actualización de precios."
    * "Vamos a pausar la tarea de medios ganados, déjala de lado."

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `project_id` | Sí | - | El ID del Project |
    | `task_id` | Sí | - | El ID de la tarea |
    | `category_id` | Sí | - | La categoría del Project |
    | `status` | Sí | - | El nuevo estado de la tarea |
    | `note` | No | `null` | Nota que se registra con el cambio de estado |
    | `preview` | No | `true` | Cuando es `true`, devuelve el cambio de estado propuesto; cuando es `false`, lo aplica |
  </Accordion>

  <Accordion title="delete_project_task" id="delete-project-task">
    Elimina de forma permanente una tarea de un Project. Es una acción destructiva e irreversible, sin paso de vista previa.

    <Tip>
      Para archivar una tarea sin perderla, pide que se cambie su estado a `abandoned`.
    </Tip>

    **Ejemplos de prompts**:

    * "Elimina la tarea duplicada que acabas de agregar."
    * "Quita definitivamente esa tarea de prueba."

    **Entradas**

    | Entrada | Obligatoria | Valor predeterminado | Descripción |
    | - | - | - | - |
    | `project_id` | Sí | - | El ID del Project |
    | `task_id` | Sí | - | El ID de la tarea que se va a eliminar |
    | `category_id` | Sí | - | La categoría del Project |
  </Accordion>
</AccordionGroup>

## Recursos

| URI del recurso | Descripción |
| - | - |
| `file:///profound/projects-guide` | El manual de Projects: objetivos y medición, el bloque de identidad resuelta, los tipos de tarea y los esquemas de brief, la rúbrica de impacto y la entrevista de `new_project` |
| `file:///profound/projects-guide/brief-examples` | Ejemplos completos de un brief de Project y de un brief de tarea |
