# prescriptio_ao_planning

Taches et reunions d'un dossier AO (jalons jusqu'a la deadline, go/no-go, visite de site, comites de redaction). action = list (taches + reunions) ou add. Pour add : kind=task (title requis) ou kind=meeting (summary + start_at + end_at requis). Toujours draft_id. Dates en ISO 8601.

État : implémenté ; distribution : historique uniquement ; offre payante : true ; effets : lecture et écriture possibles.

## Entrée MCP

```json
{
  "properties": {
    "action": {
      "enum": [
        "list",
        "add"
      ],
      "type": "string"
    },
    "description": {
      "maxLength": 4000,
      "type": "string"
    },
    "draft_id": {
      "description": "UUID du dossier AO (obligatoire).",
      "type": "string"
    },
    "due_date": {
      "description": "Echeance de la tache (ISO 8601).",
      "type": "string"
    },
    "end_at": {
      "description": "Fin (ISO 8601, kind=meeting).",
      "type": "string"
    },
    "is_all_day": {
      "type": "boolean"
    },
    "kind": {
      "description": "Pour add : type d'item.",
      "enum": [
        "task",
        "meeting"
      ],
      "type": "string"
    },
    "location": {
      "maxLength": 500,
      "type": "string"
    },
    "meeting_type": {
      "maxLength": 100,
      "type": "string"
    },
    "priority": {
      "enum": [
        "low",
        "medium",
        "high",
        "urgent"
      ],
      "type": "string"
    },
    "start_at": {
      "description": "Debut (ISO 8601, kind=meeting).",
      "type": "string"
    },
    "status": {
      "enum": [
        "todo",
        "in_progress",
        "done",
        "canceled"
      ],
      "type": "string"
    },
    "summary": {
      "description": "Objet (kind=meeting).",
      "maxLength": 255,
      "type": "string"
    },
    "task_type": {
      "enum": [
        "todo",
        "call",
        "email",
        "meeting",
        "follow_up"
      ],
      "type": "string"
    },
    "title": {
      "description": "Intitule (kind=task).",
      "maxLength": 255,
      "type": "string"
    }
  },
  "required": [
    "action",
    "draft_id"
  ],
  "type": "object"
}
```

## Sortie MCP

```json
{
  "properties": {
    "action": {
      "type": "string"
    },
    "download_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "fields": {
      "type": "object"
    },
    "files": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "ok": {
      "type": "boolean"
    },
    "page": {
      "type": [
        "integer",
        "null"
      ]
    },
    "pages_total": {
      "type": [
        "integer",
        "null"
      ]
    },
    "quota": {
      "type": "object"
    },
    "texte": {
      "description": "Contenu textuel (pièce de DCE, PV…).",
      "type": "string"
    }
  },
  "type": "object"
}
```

[Contrats externes et limites](/docs/reference/concepts.md).
