Hub Planner MCP by usefulapi
Read Hub Planner resources, projects, bookings and timesheets; create clients and time entries.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"hub-planner": {
"url": "https://hub-planner.usefulapi.io/mcp"
}
}
}远程端点
https://hub-planner.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(16)
🟢hubplanner_list_resources(page, limit)
List one page of Hub Planner resources. Pages start at 0; follow next_page until null. For filtered results use the search tool where available.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_get_resource(id)
Get one Hub Planner resource by its ID.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_list_projects(page, limit)
List one page of Hub Planner projects. Pages start at 0; follow next_page until null. For filtered results use the search tool where available.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_get_project(id)
Get one Hub Planner project by its ID.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_list_bookings(page, limit)
List one page of Hub Planner bookings. Pages start at 0; follow next_page until null. For filtered results use the search tool where available.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_get_booking(id)
Get one Hub Planner booking by its ID.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_list_time_entries(page, limit)
List one page of Hub Planner time entries. Pages start at 0; follow next_page until null. For filtered results use the search tool where available.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_get_time_entry(id)
Get one Hub Planner timeentry by its ID.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_list_clients(page, limit)
List one page of Hub Planner clients. Pages start at 0; follow next_page until null. For filtered results use the search tool where available.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_get_client(id)
Get one Hub Planner client by its ID.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_search_projects(page, limit, name, status)
Search projects by exact name or status. Pagination is zero-based.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"name": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string",
"enum": [
"STATUS_ACTIVE",
"STATUS_ARCHIVED",
"STATUS_PENDING",
"STATUS_PLANNED",
"STATUS_FLOATING"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_search_resources(page, limit, email, firstName, lastName, ...)
Search resources by exact email, first name, last name or status. Pagination is zero-based.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"STATUS_ACTIVE",
"STATUS_ARCHIVED",
"STATUS_NON_BOOKABLE",
"STATUS_PARKED"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_search_bookings(page, limit, resource, project, start, ...)
Find bookings for a resource, project or date range. start/end select bookings overlapping that inclusive range. Pagination is zero-based.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"project": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢hubplanner_search_time_entries(page, limit, resource, project, start, ...)
Find time entries by resource, project, inclusive YYYY-MM-DD date range or submission status. Pagination is zero-based.
输入模式
{
"type": "object",
"properties": {
"page": {
"default": 0,
"description": "Zero-based page",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 100,
"description": "Results per page, max 1000",
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"project": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"status": {
"type": "string",
"enum": [
"UNSUBMITTED",
"SUBMITTED",
"APPROVED",
"REJECTED",
"PENDING"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡hubplanner_create_time_entry(resource, project, date, minutes, note)
WRITE: Create a time entry for a resource and project on one date. Requires a Read & Write API key. This records actual worked time and can affect reports and billing; verify details first. No automatic retries.
输入模式
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"project": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440
},
"note": {
"type": "string",
"maxLength": 10000
}
},
"required": [
"resource",
"project",
"date",
"minutes"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡hubplanner_create_client(name)
WRITE: Create a client by name. Requires a Read & Write API key. Repeating the call can create duplicates.
输入模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据