{
  "package": {
    "name": "@teamgrid/mcp-server",
    "sourceCommit": "b0e4b3dfa4afd74822a73b8b5e8b647236f273ce",
    "sourceRepository": "TeamGrid/developer-platform",
    "version": "1.2.2"
  },
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "contract": {
    "domain": "time-write",
    "concurrency": "read",
    "idempotency": false,
    "coreCas": false
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "data": {
        "items": {
          "$ref": "#/$defs/TimeEntry"
        },
        "type": "array"
      },
      "meta": {
        "additionalProperties": false,
        "properties": {
          "page": {
            "additionalProperties": false,
            "properties": {
              "limit": {
                "maximum": 200,
                "minimum": 1,
                "type": "integer"
              },
              "nextCursor": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "limit",
              "nextCursor"
            ],
            "type": "object"
          },
          "requestId": {
            "type": "string"
          },
          "privateResource": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "uri",
              "maxBytes",
              "readMethod"
            ],
            "properties": {
              "uri": {
                "type": "string",
                "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
              },
              "maxBytes": {
                "const": 1048576
              },
              "readMethod": {
                "const": "resources/read"
              }
            }
          },
          "etag": {
            "type": "string",
            "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
          },
          "resume": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "tool",
              "arguments"
            ],
            "properties": {
              "tool": {
                "enum": [
                  "teamgrid_project_lifecycle_operation_get",
                  "teamgrid_planned_work_operation_get",
                  "teamgrid_task_recurrence_operation_get",
                  "teamgrid_export_get"
                ]
              },
              "arguments": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128
                  }
                }
              }
            }
          },
          "outcome": {
            "enum": [
              "completed",
              "accepted",
              "partial",
              "unknown",
              "failed"
            ]
          },
          "omittedFields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contentReadTool": {
            "const": "teamgrid_document_get"
          },
          "contentPage": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "unit": {
                "const": "utf16"
              },
              "offset": {
                "type": "integer",
                "minimum": 0
              },
              "nextOffset": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "totalLength": {
                "type": "integer",
                "minimum": 0
              },
              "complete": {
                "type": "boolean"
              },
              "revision": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "unit",
              "offset",
              "nextOffset",
              "totalLength",
              "complete",
              "revision"
            ]
          },
          "search": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "complete": {
                "const": false
              },
              "indexed": {
                "const": true
              },
              "returned": {
                "type": "integer",
                "minimum": 0
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 50
              },
              "continuation": {
                "const": "narrow-query-or-list"
              },
              "verification": {
                "const": "read-by-id"
              }
            },
            "required": [
              "complete",
              "indexed",
              "returned",
              "limit",
              "continuation",
              "verification"
            ]
          }
        },
        "required": [
          "page",
          "requestId"
        ],
        "type": "object"
      }
    },
    "required": [
      "data",
      "meta"
    ],
    "additionalProperties": false,
    "$defs": {
      "TimeEntry": {
        "additionalProperties": false,
        "properties": {
          "attributes": {
            "additionalProperties": false,
            "properties": {
              "archived": {
                "type": "boolean",
                "description": "Whether this resource is archived."
              },
              "billable": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "Whether this time or service can be billed."
              },
              "billed": {
                "type": "boolean",
                "description": "Whether billing has been finalized for this time entry."
              },
              "billedAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "Timestamp at which the time entry was marked as billed."
              },
              "comment": {
                "type": "string",
                "description": "The comment associated with this time entry attributes."
              },
              "createdAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "Timestamp at which the resource was created."
              },
              "createdById": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The created by id associated with this time entry attributes."
              },
              "durationMinutes": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "The duration minutes associated with this time entry attributes."
              },
              "endAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "ISO 8601 timestamp for end at."
              },
              "serviceId": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Identifier of the related service."
              },
              "startAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "ISO 8601 timestamp for start at."
              },
              "taskId": {
                "type": "string",
                "description": "Identifier of the related task."
              },
              "trackingActive": {
                "type": "boolean",
                "description": "Whether tracking active applies to this time entry attributes."
              },
              "updatedAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ],
                "description": "Timestamp of the most recent successful update."
              },
              "updatedById": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The updated by id associated with this time entry attributes."
              },
              "userId": {
                "type": "string",
                "description": "Identifier of the related workspace user."
              }
            },
            "required": [
              "archived",
              "billable",
              "billed",
              "billedAt",
              "comment",
              "createdAt",
              "createdById",
              "durationMinutes",
              "endAt",
              "serviceId",
              "startAt",
              "taskId",
              "trackingActive",
              "updatedAt",
              "updatedById",
              "userId"
            ],
            "type": "object",
            "description": "The attributes associated with this time entry."
          },
          "id": {
            "type": "string",
            "description": "Stable TeamGrid identifier for this resource."
          },
          "type": {
            "const": "timeEntry",
            "description": "Canonical type discriminator for this resource."
          }
        },
        "required": [
          "type",
          "id",
          "attributes"
        ],
        "type": "object",
        "description": "Public API representation of time entry."
      }
    }
  },
  "profileOutputSchemas": {
    "all": {
      "type": "object",
      "properties": {
        "data": {
          "items": {
            "$ref": "#/$defs/TimeEntry"
          },
          "type": "array"
        },
        "meta": {
          "additionalProperties": false,
          "properties": {
            "page": {
              "additionalProperties": false,
              "properties": {
                "limit": {
                  "maximum": 200,
                  "minimum": 1,
                  "type": "integer"
                },
                "nextCursor": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "limit",
                "nextCursor"
              ],
              "type": "object"
            },
            "requestId": {
              "type": "string"
            },
            "privateResource": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "uri",
                "maxBytes",
                "readMethod"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                },
                "maxBytes": {
                  "const": 1048576
                },
                "readMethod": {
                  "const": "resources/read"
                }
              }
            },
            "etag": {
              "type": "string",
              "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
            },
            "resume": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "tool",
                "arguments"
              ],
              "properties": {
                "tool": {
                  "enum": [
                    "teamgrid_project_lifecycle_operation_get",
                    "teamgrid_planned_work_operation_get",
                    "teamgrid_task_recurrence_operation_get",
                    "teamgrid_export_get"
                  ]
                },
                "arguments": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    }
                  }
                }
              }
            },
            "outcome": {
              "enum": [
                "completed",
                "accepted",
                "partial",
                "unknown",
                "failed"
              ]
            },
            "omittedFields": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "contentReadTool": {
              "const": "teamgrid_document_get"
            },
            "contentPage": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "unit": {
                  "const": "utf16"
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "nextOffset": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "totalLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "complete": {
                  "type": "boolean"
                },
                "revision": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "unit",
                "offset",
                "nextOffset",
                "totalLength",
                "complete",
                "revision"
              ]
            },
            "search": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "complete": {
                  "const": false
                },
                "indexed": {
                  "const": true
                },
                "returned": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 50
                },
                "continuation": {
                  "const": "narrow-query-or-list"
                },
                "verification": {
                  "const": "read-by-id"
                }
              },
              "required": [
                "complete",
                "indexed",
                "returned",
                "limit",
                "continuation",
                "verification"
              ]
            }
          },
          "required": [
            "page",
            "requestId"
          ],
          "type": "object"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "additionalProperties": false,
      "$defs": {
        "TimeEntry": {
          "additionalProperties": false,
          "properties": {
            "attributes": {
              "additionalProperties": false,
              "properties": {
                "archived": {
                  "type": "boolean",
                  "description": "Whether this resource is archived."
                },
                "comment": {
                  "type": "string",
                  "description": "The comment associated with this time entry attributes."
                },
                "createdAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp at which the resource was created."
                },
                "createdById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The created by id associated with this time entry attributes."
                },
                "durationMinutes": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "The duration minutes associated with this time entry attributes."
                },
                "endAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for end at."
                },
                "serviceId": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Identifier of the related service."
                },
                "startAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for start at."
                },
                "taskId": {
                  "type": "string",
                  "description": "Identifier of the related task."
                },
                "trackingActive": {
                  "type": "boolean",
                  "description": "Whether tracking active applies to this time entry attributes."
                },
                "updatedAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp of the most recent successful update."
                },
                "updatedById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The updated by id associated with this time entry attributes."
                },
                "userId": {
                  "type": "string",
                  "description": "Identifier of the related workspace user."
                }
              },
              "required": [
                "archived",
                "comment",
                "createdAt",
                "createdById",
                "durationMinutes",
                "endAt",
                "serviceId",
                "startAt",
                "taskId",
                "trackingActive",
                "updatedAt",
                "updatedById",
                "userId"
              ],
              "type": "object",
              "description": "The attributes associated with this time entry."
            },
            "id": {
              "type": "string",
              "description": "Stable TeamGrid identifier for this resource."
            },
            "type": {
              "const": "timeEntry",
              "description": "Canonical type discriminator for this resource."
            }
          },
          "required": [
            "type",
            "id",
            "attributes"
          ],
          "type": "object",
          "description": "Public API representation of time entry."
        }
      }
    },
    "collaboration": {
      "type": "object",
      "properties": {
        "data": {
          "items": {
            "$ref": "#/$defs/TimeEntry"
          },
          "type": "array"
        },
        "meta": {
          "additionalProperties": false,
          "properties": {
            "page": {
              "additionalProperties": false,
              "properties": {
                "limit": {
                  "maximum": 200,
                  "minimum": 1,
                  "type": "integer"
                },
                "nextCursor": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "limit",
                "nextCursor"
              ],
              "type": "object"
            },
            "requestId": {
              "type": "string"
            },
            "privateResource": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "uri",
                "maxBytes",
                "readMethod"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                },
                "maxBytes": {
                  "const": 1048576
                },
                "readMethod": {
                  "const": "resources/read"
                }
              }
            },
            "etag": {
              "type": "string",
              "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
            },
            "resume": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "tool",
                "arguments"
              ],
              "properties": {
                "tool": {
                  "enum": [
                    "teamgrid_project_lifecycle_operation_get",
                    "teamgrid_planned_work_operation_get",
                    "teamgrid_task_recurrence_operation_get",
                    "teamgrid_export_get"
                  ]
                },
                "arguments": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    }
                  }
                }
              }
            },
            "outcome": {
              "enum": [
                "completed",
                "accepted",
                "partial",
                "unknown",
                "failed"
              ]
            },
            "omittedFields": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "contentReadTool": {
              "const": "teamgrid_document_get"
            },
            "contentPage": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "unit": {
                  "const": "utf16"
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "nextOffset": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "totalLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "complete": {
                  "type": "boolean"
                },
                "revision": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "unit",
                "offset",
                "nextOffset",
                "totalLength",
                "complete",
                "revision"
              ]
            },
            "search": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "complete": {
                  "const": false
                },
                "indexed": {
                  "const": true
                },
                "returned": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 50
                },
                "continuation": {
                  "const": "narrow-query-or-list"
                },
                "verification": {
                  "const": "read-by-id"
                }
              },
              "required": [
                "complete",
                "indexed",
                "returned",
                "limit",
                "continuation",
                "verification"
              ]
            }
          },
          "required": [
            "page",
            "requestId"
          ],
          "type": "object"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "additionalProperties": false,
      "$defs": {
        "TimeEntry": {
          "additionalProperties": false,
          "properties": {
            "attributes": {
              "additionalProperties": false,
              "properties": {
                "archived": {
                  "type": "boolean",
                  "description": "Whether this resource is archived."
                },
                "comment": {
                  "type": "string",
                  "description": "The comment associated with this time entry attributes."
                },
                "createdAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp at which the resource was created."
                },
                "createdById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The created by id associated with this time entry attributes."
                },
                "durationMinutes": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "The duration minutes associated with this time entry attributes."
                },
                "endAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for end at."
                },
                "serviceId": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Identifier of the related service."
                },
                "startAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for start at."
                },
                "taskId": {
                  "type": "string",
                  "description": "Identifier of the related task."
                },
                "trackingActive": {
                  "type": "boolean",
                  "description": "Whether tracking active applies to this time entry attributes."
                },
                "updatedAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp of the most recent successful update."
                },
                "updatedById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The updated by id associated with this time entry attributes."
                },
                "userId": {
                  "type": "string",
                  "description": "Identifier of the related workspace user."
                }
              },
              "required": [
                "archived",
                "comment",
                "createdAt",
                "createdById",
                "durationMinutes",
                "endAt",
                "serviceId",
                "startAt",
                "taskId",
                "trackingActive",
                "updatedAt",
                "updatedById",
                "userId"
              ],
              "type": "object",
              "description": "The attributes associated with this time entry."
            },
            "id": {
              "type": "string",
              "description": "Stable TeamGrid identifier for this resource."
            },
            "type": {
              "const": "timeEntry",
              "description": "Canonical type discriminator for this resource."
            }
          },
          "required": [
            "type",
            "id",
            "attributes"
          ],
          "type": "object",
          "description": "Public API representation of time entry."
        }
      }
    },
    "core": {
      "type": "object",
      "properties": {
        "data": {
          "items": {
            "$ref": "#/$defs/TimeEntry"
          },
          "type": "array"
        },
        "meta": {
          "additionalProperties": false,
          "properties": {
            "page": {
              "additionalProperties": false,
              "properties": {
                "limit": {
                  "maximum": 200,
                  "minimum": 1,
                  "type": "integer"
                },
                "nextCursor": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "limit",
                "nextCursor"
              ],
              "type": "object"
            },
            "requestId": {
              "type": "string"
            },
            "privateResource": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "uri",
                "maxBytes",
                "readMethod"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                },
                "maxBytes": {
                  "const": 1048576
                },
                "readMethod": {
                  "const": "resources/read"
                }
              }
            },
            "etag": {
              "type": "string",
              "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
            },
            "resume": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "tool",
                "arguments"
              ],
              "properties": {
                "tool": {
                  "enum": [
                    "teamgrid_project_lifecycle_operation_get",
                    "teamgrid_planned_work_operation_get",
                    "teamgrid_task_recurrence_operation_get",
                    "teamgrid_export_get"
                  ]
                },
                "arguments": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    }
                  }
                }
              }
            },
            "outcome": {
              "enum": [
                "completed",
                "accepted",
                "partial",
                "unknown",
                "failed"
              ]
            },
            "omittedFields": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "contentReadTool": {
              "const": "teamgrid_document_get"
            },
            "contentPage": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "unit": {
                  "const": "utf16"
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "nextOffset": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "totalLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "complete": {
                  "type": "boolean"
                },
                "revision": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "unit",
                "offset",
                "nextOffset",
                "totalLength",
                "complete",
                "revision"
              ]
            },
            "search": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "complete": {
                  "const": false
                },
                "indexed": {
                  "const": true
                },
                "returned": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 50
                },
                "continuation": {
                  "const": "narrow-query-or-list"
                },
                "verification": {
                  "const": "read-by-id"
                }
              },
              "required": [
                "complete",
                "indexed",
                "returned",
                "limit",
                "continuation",
                "verification"
              ]
            }
          },
          "required": [
            "page",
            "requestId"
          ],
          "type": "object"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "additionalProperties": false,
      "$defs": {
        "TimeEntry": {
          "additionalProperties": false,
          "properties": {
            "attributes": {
              "additionalProperties": false,
              "properties": {
                "archived": {
                  "type": "boolean",
                  "description": "Whether this resource is archived."
                },
                "comment": {
                  "type": "string",
                  "description": "The comment associated with this time entry attributes."
                },
                "createdAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp at which the resource was created."
                },
                "createdById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The created by id associated with this time entry attributes."
                },
                "durationMinutes": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "The duration minutes associated with this time entry attributes."
                },
                "endAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for end at."
                },
                "serviceId": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Identifier of the related service."
                },
                "startAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for start at."
                },
                "taskId": {
                  "type": "string",
                  "description": "Identifier of the related task."
                },
                "trackingActive": {
                  "type": "boolean",
                  "description": "Whether tracking active applies to this time entry attributes."
                },
                "updatedAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp of the most recent successful update."
                },
                "updatedById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The updated by id associated with this time entry attributes."
                },
                "userId": {
                  "type": "string",
                  "description": "Identifier of the related workspace user."
                }
              },
              "required": [
                "archived",
                "comment",
                "createdAt",
                "createdById",
                "durationMinutes",
                "endAt",
                "serviceId",
                "startAt",
                "taskId",
                "trackingActive",
                "updatedAt",
                "updatedById",
                "userId"
              ],
              "type": "object",
              "description": "The attributes associated with this time entry."
            },
            "id": {
              "type": "string",
              "description": "Stable TeamGrid identifier for this resource."
            },
            "type": {
              "const": "timeEntry",
              "description": "Canonical type discriminator for this resource."
            }
          },
          "required": [
            "type",
            "id",
            "attributes"
          ],
          "type": "object",
          "description": "Public API representation of time entry."
        }
      }
    },
    "governance": {
      "type": "object",
      "properties": {
        "data": {
          "items": {
            "$ref": "#/$defs/TimeEntry"
          },
          "type": "array"
        },
        "meta": {
          "additionalProperties": false,
          "properties": {
            "page": {
              "additionalProperties": false,
              "properties": {
                "limit": {
                  "maximum": 200,
                  "minimum": 1,
                  "type": "integer"
                },
                "nextCursor": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "limit",
                "nextCursor"
              ],
              "type": "object"
            },
            "requestId": {
              "type": "string"
            },
            "privateResource": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "uri",
                "maxBytes",
                "readMethod"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "pattern": "^teamgrid://(?:files|exports)/[A-Za-z0-9_.:%-]+$"
                },
                "maxBytes": {
                  "const": 1048576
                },
                "readMethod": {
                  "const": "resources/read"
                }
              }
            },
            "etag": {
              "type": "string",
              "pattern": "^\"[\\x21\\x23-\\x7e]{1,256}\"$"
            },
            "resume": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "tool",
                "arguments"
              ],
              "properties": {
                "tool": {
                  "enum": [
                    "teamgrid_project_lifecycle_operation_get",
                    "teamgrid_planned_work_operation_get",
                    "teamgrid_task_recurrence_operation_get",
                    "teamgrid_export_get"
                  ]
                },
                "arguments": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128
                    }
                  }
                }
              }
            },
            "outcome": {
              "enum": [
                "completed",
                "accepted",
                "partial",
                "unknown",
                "failed"
              ]
            },
            "omittedFields": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "contentReadTool": {
              "const": "teamgrid_document_get"
            },
            "contentPage": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "unit": {
                  "const": "utf16"
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "nextOffset": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "totalLength": {
                  "type": "integer",
                  "minimum": 0
                },
                "complete": {
                  "type": "boolean"
                },
                "revision": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "unit",
                "offset",
                "nextOffset",
                "totalLength",
                "complete",
                "revision"
              ]
            },
            "search": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "complete": {
                  "const": false
                },
                "indexed": {
                  "const": true
                },
                "returned": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 50
                },
                "continuation": {
                  "const": "narrow-query-or-list"
                },
                "verification": {
                  "const": "read-by-id"
                }
              },
              "required": [
                "complete",
                "indexed",
                "returned",
                "limit",
                "continuation",
                "verification"
              ]
            }
          },
          "required": [
            "page",
            "requestId"
          ],
          "type": "object"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "additionalProperties": false,
      "$defs": {
        "TimeEntry": {
          "additionalProperties": false,
          "properties": {
            "attributes": {
              "additionalProperties": false,
              "properties": {
                "archived": {
                  "type": "boolean",
                  "description": "Whether this resource is archived."
                },
                "comment": {
                  "type": "string",
                  "description": "The comment associated with this time entry attributes."
                },
                "createdAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp at which the resource was created."
                },
                "createdById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The created by id associated with this time entry attributes."
                },
                "durationMinutes": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "The duration minutes associated with this time entry attributes."
                },
                "endAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for end at."
                },
                "serviceId": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Identifier of the related service."
                },
                "startAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "ISO 8601 timestamp for start at."
                },
                "taskId": {
                  "type": "string",
                  "description": "Identifier of the related task."
                },
                "trackingActive": {
                  "type": "boolean",
                  "description": "Whether tracking active applies to this time entry attributes."
                },
                "updatedAt": {
                  "format": "date-time",
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Timestamp of the most recent successful update."
                },
                "updatedById": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The updated by id associated with this time entry attributes."
                },
                "userId": {
                  "type": "string",
                  "description": "Identifier of the related workspace user."
                }
              },
              "required": [
                "archived",
                "comment",
                "createdAt",
                "createdById",
                "durationMinutes",
                "endAt",
                "serviceId",
                "startAt",
                "taskId",
                "trackingActive",
                "updatedAt",
                "updatedById",
                "userId"
              ],
              "type": "object",
              "description": "The attributes associated with this time entry."
            },
            "id": {
              "type": "string",
              "description": "Stable TeamGrid identifier for this resource."
            },
            "type": {
              "const": "timeEntry",
              "description": "Canonical type discriminator for this resource."
            }
          },
          "required": [
            "type",
            "id",
            "attributes"
          ],
          "type": "object",
          "description": "Public API representation of time entry."
        }
      }
    }
  },
  "exposure": "read",
  "apiOperations": [
    {
      "href": "/api/v1/reference/operations/listtimeentries/",
      "method": "GET",
      "operationId": "listTimeEntries",
      "path": "/time-entries"
    }
  ],
  "availableIn": [
    "all",
    "collaboration",
    "context",
    "core",
    "governance",
    "work",
    "full",
    "time-write"
  ],
  "baseProfile": "core",
  "description": "List time entries",
  "inputSchema": {
    "type": "object",
    "properties": {
      "cursor": {
        "maxLength": 1024,
        "type": "string"
      },
      "limit": {
        "default": 50,
        "maximum": 200,
        "minimum": 1,
        "type": "integer"
      },
      "archived": {
        "default": false,
        "type": "boolean"
      },
      "billable": {
        "type": "boolean"
      },
      "billed": {
        "type": "boolean"
      },
      "createdById": {
        "maxLength": 128,
        "type": "string"
      },
      "from": {
        "format": "date-time",
        "type": "string"
      },
      "serviceId": {
        "maxLength": 128,
        "type": "string"
      },
      "to": {
        "format": "date-time",
        "type": "string"
      },
      "taskId": {
        "maxLength": 128,
        "type": "string"
      },
      "userId": {
        "maxLength": 128,
        "type": "string"
      }
    },
    "required": [],
    "additionalProperties": false
  },
  "profileInputSchemas": {
    "all": {
      "type": "object",
      "properties": {
        "cursor": {
          "type": "string",
          "maxLength": 512
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "archived": {
          "type": "boolean"
        },
        "createdById": {
          "type": "string",
          "maxLength": 128
        },
        "from": {
          "type": "string"
        },
        "serviceId": {
          "type": "string",
          "maxLength": 128
        },
        "taskId": {
          "type": "string",
          "maxLength": 128
        },
        "to": {
          "type": "string"
        },
        "userId": {
          "type": "string",
          "maxLength": 128
        }
      },
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false
    },
    "collaboration": {
      "type": "object",
      "properties": {
        "cursor": {
          "type": "string",
          "maxLength": 512
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "archived": {
          "type": "boolean"
        },
        "createdById": {
          "type": "string",
          "maxLength": 128
        },
        "from": {
          "type": "string"
        },
        "serviceId": {
          "type": "string",
          "maxLength": 128
        },
        "taskId": {
          "type": "string",
          "maxLength": 128
        },
        "to": {
          "type": "string"
        },
        "userId": {
          "type": "string",
          "maxLength": 128
        }
      },
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false
    },
    "core": {
      "type": "object",
      "properties": {
        "cursor": {
          "type": "string",
          "maxLength": 512
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "archived": {
          "type": "boolean"
        },
        "createdById": {
          "type": "string",
          "maxLength": 128
        },
        "from": {
          "type": "string"
        },
        "serviceId": {
          "type": "string",
          "maxLength": 128
        },
        "taskId": {
          "type": "string",
          "maxLength": 128
        },
        "to": {
          "type": "string"
        },
        "userId": {
          "type": "string",
          "maxLength": 128
        }
      },
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false
    },
    "governance": {
      "type": "object",
      "properties": {
        "cursor": {
          "type": "string",
          "maxLength": 512
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "archived": {
          "type": "boolean"
        },
        "createdById": {
          "type": "string",
          "maxLength": 128
        },
        "from": {
          "type": "string"
        },
        "serviceId": {
          "type": "string",
          "maxLength": 128
        },
        "taskId": {
          "type": "string",
          "maxLength": 128
        },
        "to": {
          "type": "string"
        },
        "userId": {
          "type": "string",
          "maxLength": 128
        }
      },
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false
    }
  },
  "name": "teamgrid_time_entries_list",
  "scopes": {
    "optional": [],
    "conditional": [],
    "required": [
      "time-entries:read"
    ]
  },
  "security": {
    "classification": "work-record-data",
    "summary": "Time-entry records expose individual work activity. Preserved read profiles remove billing fields; domain profiles require the relevant billing scopes."
  },
  "output": {
    "format": "The bounded API result is returned as MCP structured content and equivalent JSON text.",
    "kind": "cursor-page",
    "maxSerializedBytes": 262144,
    "pagination": {
      "input": "Pass the opaque `meta.page.nextCursor` value as `cursor`.",
      "maxPageSize": 200,
      "nextCursor": "meta.page.nextCursor"
    },
    "redactions": [],
    "searchLimit": null
  },
  "examplePrompt": "List the first 20 TeamGrid time entries. Do not request another page; tell me whether another cursor is available.",
  "typicalErrors": [
    {
      "condition": "An argument violates this tool’s input schema: required field, type, enum, pattern, length, or range.",
      "result": "MCP input validation rejects the call before an API request is made."
    },
    {
      "condition": "The credential lacks `time-entries:read` or cannot access the requested resource.",
      "result": "The tool preserves a safe API error code such as `insufficient_scope`, with redacted detail and available status/request metadata."
    },
    {
      "condition": "A read exceeds the 256 KiB tool result limit.",
      "result": "The tool returns `result_too_large`. Request a smaller page or narrower filters."
    },
    {
      "condition": "An unknown input property is supplied.",
      "result": "The strict input schema rejects the call before an API request is made."
    }
  ]
}
