Protime MCP by usefulapi
Read clockings, absences, assignments, contracts, people and departments in Protime.
我该使用它吗
质量与安全性
发现(1)
- LOW在 protime_list_absence_definitions 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"protime": {
"url": "https://protime.usefulapi.io/mcp"
}
}
}远程端点
https://protime.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(12)
🟢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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据