Protime MCP by usefulapi

Read clockings, absences, assignments, contracts, people and departments in Protime.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
91%
Naming quality
78%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'protime_list_absence_definitions' name length outside 3-30 rangein protime_list_absence_definitions

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,051Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.60% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "protime": {
      "url": "https://protime.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://protime.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (12)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢protime_list_clockings(from, to, person, kind, continuationToken)

List time clockings (in/out, reasons, activities) for a date range. Deleted clockings have status Deleted. Location data is left out. A date range is required (at most one year). Returns one page: pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-clockings.read.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day, yyyy-mm-dd."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day, yyyy-mm-dd."
    },
    "person": {
      "description": "Internal person IDs. Leave out for all people.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "kind": {
      "type": "string",
      "enum": [
        "InOut",
        "Reason",
        "Activity",
        "ActivityEnd"
      ]
    },
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "required": [
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_absences(from, to, person, continuationToken)

List absence instances (leave, sickness) for a date range. A date range is required (at most one year). Returns one page: pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-absences.read.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day, yyyy-mm-dd."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day, yyyy-mm-dd."
    },
    "person": {
      "description": "Internal person IDs. Leave out for all people.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "required": [
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_assignments(from, to, person, continuationToken)

List work assignments (planned and registered activities) for a date range. A date range is required. Returns one page: pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-assignments.read.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day, yyyy-mm-dd."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day, yyyy-mm-dd."
    },
    "person": {
      "description": "Internal person IDs. Leave out for all people.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "required": [
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_contracts(person, continuationToken)

List employment contracts (percentage, hours, dates). Optional person filter. Returns one page: pass continuationToken for the next. Read only. Needs scope connector-protimeapi-contracts.read.

Input Schema

{
  "type": "object",
  "properties": {
    "person": {
      "description": "Internal person IDs. Leave out for all people.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_people(person, continuationToken)

List people with name, work email and service dates. Home address, birth date, bank, passport and social security data are never returned. Optional person filter. Pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-people.read.

Input Schema

{
  "type": "object",
  "properties": {
    "person": {
      "description": "Internal person IDs. Leave out for all people.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_departments(continuationToken)

List all departments configured in the tenant. No filters. Pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-departments.read.

Input Schema

{
  "type": "object",
  "properties": {
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_jobs(continuationToken)

List all jobs configured in the tenant. No filters. Pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-jobs.read.

Input Schema

{
  "type": "object",
  "properties": {
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_work_locations(continuationToken)

List all work locations configured in the tenant. No filters. Pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-work-locations.read.

Input Schema

{
  "type": "object",
  "properties": {
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_shift_definitions(continuationToken)

List all shift definitions (codes and names) configured in the tenant. No filters. Pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-shift-definitions.read.

Input Schema

{
  "type": "object",
  "properties": {
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_absence_definitions(continuationToken)

List all absence definitions (codes, groups) configured in the tenant. No filters. Pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-absence-definitions.read.

Input Schema

{
  "type": "object",
  "properties": {
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_list_absence_groups(continuationToken)

List all absence groups configured in the tenant. No filters. Pass continuationToken for the next page. Read only. Needs scope connector-protimeapi-absence-groups.read.

Input Schema

{
  "type": "object",
  "properties": {
    "continuationToken": {
      "description": "continuationToken from the previous page (use the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢protime_get_person(id)

Get one person by internal ID: name, work email, service dates. Sensitive personal data is never returned. Read only. Needs scope connector-protimeapi-people.read.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded12 tools