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,267トークン数(ツール定義)
~953 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.77%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件