Hub Planner MCP by usefulapi

Read Hub Planner resources, projects, bookings and timesheets; create clients and time entries.

我该使用它吗

质量与安全性

A
描述质量
96%
模式完整度
82%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,267token 数(工具定义)
~953 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.77%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 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"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本16 个工具