# Hub Planner — how to use (mcp.ai)

Connect your Hub Planner account and use 122 tools for productivity straight from your AI agent. Connect with your own API key. A Modern and Smart Resource Management, Planning & Scheduling tool with Time Sheets and Powerful Reporting. Ideal for Managing Global Teams of Resources.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_hub_planner?ms=1787293440000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `hub_planner_add_clients_to_project`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/hub_planner`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/hub_planner/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/hub_planner/add/clients/to/project` — Tool to add clients to a project by project ID. Use when you need to associate one or more clients with a specific project.
  - body: { client_ids: string[], project_id: string }
- `POST https://api.mcp.ai/api/hub_planner/add/project/custom/field/choices` — Add choices to a project custom field template of SELECT, RADIO, or CHECKBOX type. Use when you need to add new options to an existing dropdown, radio button, or checkbox custom field in Hub Planner p
  - body: { choices: object[], template_id: string }
- `POST https://api.mcp.ai/api/hub_planner/add/project/tags` — Tool to add tags to a Hub Planner project. Preserves existing tags and appends new ones. Use when you need to add one or more tags to a project without removing existing tags.
  - body: { tags: string[], project_id: string }
- `POST https://api.mcp.ai/api/hub_planner/add/projects/to/group` — Tool to add projects to a project group in Hub Planner. Use when you need to associate one or more projects with a specific project group.
  - body: { group_id: string, project_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/add/resource/custom/field/choices` — Tool to add choices to a resource custom field template of SELECT, RADIO, or CHECKBOX type. Use when you need to add new selection options to an existing custom field template.
  - body: { id: string, choices: object[] }
- `POST https://api.mcp.ai/api/hub_planner/add/resource/tags` — Tool to add tags to a resource in Hub Planner. Preserves existing tags and appends new ones. Use when you need to categorize, label, or organize resources using tags.
  - body: { tags: string[], resource_id: string }
- `POST https://api.mcp.ai/api/hub_planner/add/resources/to/project` — Tool to add resources to a project by project ID. Use when you need to associate one or more resources with a specific project.
  - body: { project_id: string, resource_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/add/resources/to/resource/group` — Tool to add resources to a resource group by group ID. Use when you need to associate one or more resources with a specific resource group.
  - body: { group_id: string, resource_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/create/billing/rate` — Tool to create a new billing rate in Hub Planner. Use when you need to define a new billing rate with a specific name, currency, and rate amount.
  - body: { rate: number, label: string, currency: string, metadata?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/booking` — Tool to create a new booking for a resource on a project in Hub Planner. Supports scheduled bookings, booking requests (WAITING_FOR_APPROVAL), and hourly bookings. Use when you need to allocate resour
  - body: { end: string, note?: string, type?: string, start: string, state?: string, title?: string, allDay?: boolean, repeat?: boolean, project: string, interval?: string, metadata?: string, resource: string, stateValue?: number, bookingRate?: object, customFields?: object[], allowOverschedule?: boolean, repeatEndsAfterTimes?: integer }
- `POST https://api.mcp.ai/api/hub_planner/create/booking/category` — Tool to create a new booking category in Hub Planner. Use when you need to define a new category type for classifying bookings (e.g., "At Client", "Remote Work", "Training").
  - body: { name: string, type: string, groupId: string, gridColor: string }
- `POST https://api.mcp.ai/api/hub_planner/create/client` — Tool to create a new client in Hub Planner. Use when you need to add a new client organization to the system.
  - body: { name: string, metadata?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/cost/category` — Tool to create a new project cost category in Hub Planner. Use when you need to add a new cost category for tracking project expenses.
  - body: { name: string }
- `POST https://api.mcp.ai/api/hub_planner/create/event` — Tool to create a new event in Hub Planner. Use when you need to set up a new event with a specified name and optional code, color, and metadata.
  - body: { name: string, metadata?: string, eventCode?: string, backgroundColor?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/holiday` — Tool to create a new holiday in Hub Planner. Use when you need to add a company holiday, public holiday, or special date that should be marked in the calendar.
  - body: { date: string, name: string, repeat?: boolean, metadata?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/milestone` — Tool to create a new milestone for a project in Hub Planner. Use when you need to set up a milestone with a specified name, date, and project association.
  - body: { date: string, name: string, project: string, metadata?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/project` — Tool to create a new project in Hub Planner. Use when you need to set up a new project with specified name, budget, resources, and other configuration options.
  - body: { name: string, note?: string, status?: string, resources?: string[], budgetHours?: number, projectCode?: string, customFields?: object[], budgetCurrency?: string, projectManagers?: string[], budgetCashAmount?: number, budgetCategories?: object[] }
- `POST https://api.mcp.ai/api/hub_planner/create/project/custom/field/template` — Tool to create a new project custom field template in Hub Planner. Use when you need to define reusable custom field structures for projects with specific types like TEXT, SELECT, DATE, etc.
  - body: { type: string, label: string, status?: string, choices?: object[], isRequired?: boolean, defaultValue?: string, instructions?: string, characterLimit?: integer, canResourceEdit?: boolean, placeholderText?: string, allowMultipleValues?: boolean, isChoicesSortedAlphabetically?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/create/project/group` — Tool to create a new project group in Hub Planner. Use when you need to organize projects into groups for better management and categorization. Can create top-level groups or subgroups (with parentGro
  - body: { name: string, metadata?: string, parentGroupId?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/project/tag` — Tool to create a new project tag in Hub Planner. Use when you need to add a new tag that can be associated with projects for categorization and organization purposes.
  - body: { value: string }
- `POST https://api.mcp.ai/api/hub_planner/create/resource` — Tool to create a new resource in Hub Planner. Pass a resource object with firstName (required) and optional fields. Can optionally send an invitation email by setting sendInviteEmail to true (requires
  - body: { note?: string, role?: string, email?: string, links?: object, status?: string, billing?: object, lastName?: string, metadata?: string, firstName: string, calendarIds?: string[], customFields?: object[], resourceRates?: object, sendInviteEmail?: boolean, isProjectManager?: boolean, useCustomAvailability?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/create/resource/custom/field/template` — Tool to create a new resource custom field template in Hub Planner. Use when you need to add custom fields to resource profiles (e.g., department, skills, certifications).
  - body: { type: string, label: string, choices?: object[], isRequired?: boolean, instructions?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/resource/tag` — Tool to create a new resource tag in Hub Planner. Use when you need to add a new tag for categorizing or labeling resources.
  - body: { value: string }
- `POST https://api.mcp.ai/api/hub_planner/create/time/entry` — Tool to create a new time entry for a resource on a project in Hub Planner. Use when you need to log time spent by team members on specific projects with date and duration.
  - body: { date: string, note?: string, minutes: integer, project: string, metadata?: string, resource: string, categoryTemplateId?: string }
- `POST https://api.mcp.ai/api/hub_planner/create/vacation` — Tool to create a new vacation request for a resource in Hub Planner. Supports approval workflow with configurable approvers and statuses. Use when you need to create time-off requests for team members
  - body: { end: string, type?: string, start: string, title?: string, metadata?: string, resource: string, approvalInfo?: object, minutesPerDay?: integer, percentAllocation?: number }
- `POST https://api.mcp.ai/api/hub_planner/delete/billing/rate` — Tool to delete a specific billing rate by ID in Hub Planner. Use when you need to permanently remove a billing rate.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/booking` — Tool to delete a specific booking by ID in Hub Planner. Use when you need to permanently remove a booking.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/bookings` — Tool to delete multiple bookings by IDs, resource ID, or project ID. Use when you need to remove bookings from Hub Planner based on specific criteria.
  - body: { ids?: string, projectId?: string, resourceId?: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/client` — Tool to delete a specific client by ID in Hub Planner. Use when you need to permanently remove a client organization.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/cost/category` — Tool to delete a specific project cost category by ID in Hub Planner. Use when you need to permanently remove a cost category.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/event` — Tool to delete a specific event by ID in Hub Planner. Use when you need to permanently remove an event.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/holiday` — Tool to delete a specific holiday by ID in Hub Planner. Use when you need to permanently remove a holiday.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/milestone` — Tool to delete a specific milestone by ID in Hub Planner. Use when you need to permanently remove a milestone.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/project` — Tool to delete a specific project by ID in Hub Planner. Use when you need to permanently remove a project.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/project/custom/field/template` — Tool to delete a project custom field template by its ID. Use when you need to remove a custom field template from the project configuration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/project/group` — Tool to delete a specific project group by ID in Hub Planner. Use when you need to permanently remove a project group.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/project/tag` — Tool to delete a specific project tag by ID in Hub Planner. Use when you need to permanently remove a project tag from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/projects` — Tool to delete multiple projects by their IDs in a single operation. Use when you need to remove multiple projects from Hub Planner.
  - body: { project_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/delete/resource` — Tool to delete a specific resource by ID. Use when you need to remove a resource from Hub Planner.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/resource/custom/field/template` — Tool to delete a specific resource custom field template by ID. Use when permanently removing a custom field template after confirming the correct template ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/resource/tag` — Tool to delete a specific resource tag by ID in Hub Planner. Use when you need to permanently remove a resource tag from the system.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/resources` — Tool to delete multiple resources by their IDs in a single operation. Use when you need to remove multiple resources from Hub Planner.
  - body: { resource_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/delete/time/entries` — Tool to delete multiple time entries by their IDs in a single operation. Use when you need to remove multiple time entries from Hub Planner timesheets.
  - body: { time_entry_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/delete/time/entry` — Tool to delete a specific time entry by ID in Hub Planner. Use when you need to permanently remove a time entry.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/delete/vacation` — Tool to delete a specific vacation by ID in Hub Planner. Use when you need to permanently remove a vacation.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/billing/rate` — Tool to retrieve a specific billing rate by ID from Hub Planner. Use when you need to fetch detailed information about a billing rate including its label, currency, and rate amount.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/booking` — Tool to retrieve a specific booking by ID from Hub Planner. Use when you need to fetch detailed information about a specific booking including resource assignments, project associations, dates, approv
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/booking/category` — Tool to retrieve a specific booking category by ID from Hub Planner. Use when you need to fetch detailed information about a booking category including its name, color, type, and group associations.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/client` — Tool to retrieve a specific client by ID from Hub Planner. Use when you need to fetch detailed information about a client organization.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/cost/category` — Tool to retrieve a specific project cost category by ID from Hub Planner. Returns the cost category object including name and timestamps. Use when you need detailed information about a specific projec
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/event` — Tool to retrieve a specific event by ID from Hub Planner. Use when you need to fetch detailed information about a specific event including its name, code, dates, and color settings.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/holiday` — Tool to retrieve a specific holiday by ID from Hub Planner. Use when you need to fetch detailed information about a specific holiday including its name, date, color, and repeat settings.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/milestone` — Tool to retrieve a specific milestone by ID from Hub Planner. Returns the milestone details including name, date, project reference, and metadata. Use when you need information about a specific projec
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/project` — Tool to retrieve a specific project by ID from Hub Planner. Returns the full project object including name, status, resources, budget, custom fields, and tags. Use when you need detailed information a
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/project/custom/field/template` — Tool to retrieve a specific project custom field template by ID. Use when you need to get details about a particular project custom field configuration.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/project/custom/field/templates` — Tool to retrieve all project custom field templates defined for your Hub Planner account. Use when you need to see available custom field configurations that can be applied to projects.
- `POST https://api.mcp.ai/api/hub_planner/get/project/group` — Tool to retrieve a specific project group by ID from Hub Planner. Returns the project group object including name, associated project IDs, and metadata. Use when you need detailed information about a 
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/project/tags` — Tool to retrieve all tags associated with a specific Hub Planner project. Use when you need to view the current tags on a project.
  - body: { project_id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/resource` — Tool to retrieve a specific resource by ID from Hub Planner. Use when you need to fetch detailed information about a team member or resource.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/resource/custom/field/template` — Tool to retrieve a specific resource custom field template by ID from Hub Planner. Use when you need to fetch detailed configuration and schema information about a custom field template.
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/resource/custom/field/templates` — Tool to retrieve custom field templates defined for resources in your Hub Planner account. Use when you need to understand available custom fields, their types, validation rules, and configuration opt
- `POST https://api.mcp.ai/api/hub_planner/get/resource/tags` — Tool to retrieve all tags associated with a specific resource from Hub Planner. Returns an array of tag objects containing tag ID, value, and category. Use when you need to view all tags assigned to a
  - body: { resource_id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/time/entry` — Tool to retrieve a specific time entry by ID from Hub Planner. Use when you need to fetch detailed information about a logged time entry including project details, duration, status, and approval state
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/get/vacation` — Tool to retrieve a specific vacation by ID from Hub Planner. Use when you need to fetch detailed information about a vacation request including approval status, dates, resource assignment, and approva
  - body: { id: string }
- `POST https://api.mcp.ai/api/hub_planner/list/billing/rates` — Tool to retrieve all billing rates from Hub Planner. Returns an array of billing rate objects with details including label, currency, rate amount, and metadata. Use when you need to list all available
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/list/booking/categories` — Tool to retrieve all booking categories from Hub Planner. Returns an array of category objects including name, color, type, and group associations. Use when you need to list available booking categori
- `POST https://api.mcp.ai/api/hub_planner/list/bookings` — Tool to retrieve all bookings from Hub Planner with pagination support. Returns booking details including resource assignments, project associations, dates, approval states, and billing rates. Use whe
  - body: { page?: integer, limit?: integer, deleted?: boolean, dependencies?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/list/category/groups` — Tool to get all category groups from Hub Planner. Returns an array of category group objects with group name, type, and associated category IDs. Use when you need to retrieve booking category groups. 
- `POST https://api.mcp.ai/api/hub_planner/list/clients` — Tool to get all clients from Hub Planner. Returns an array of client objects with details including name and creation date. Use when you need to retrieve the complete list of clients with optional pag
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/list/cost/categories` — Tool to retrieve all project cost categories from Hub Planner. Returns an array of cost category objects with details including name and timestamps. Use when you need to list all available cost catego
- `POST https://api.mcp.ai/api/hub_planner/list/events` — Tool to retrieve all events from Hub Planner. Events work like projects but are used for non-project activities. Returns an array of event objects with details including name, event code, and custom m
  - body: { page?: integer, sort?: string, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/list/holidays` — Tool to retrieve all public holidays from Hub Planner. Returns an array of holiday objects with details including name, date, color, and recurrence settings. Use when you need to check public holidays
- `POST https://api.mcp.ai/api/hub_planner/list/project/groups` — Tool to get all project groups from Hub Planner. Returns an array of project group objects with group name, associated project IDs, and metadata. Use when you need to retrieve the complete list of pro
- `POST https://api.mcp.ai/api/hub_planner/list/project/managers` — Tool to get all project managers from Hub Planner. Returns an array of project manager objects with details including email, name, status, role, and custom fields. Use when you need to retrieve the co
- `POST https://api.mcp.ai/api/hub_planner/list/project/tags` — Tool to retrieve all project tags from Hub Planner. Returns an array of project tag objects containing tag ID, value, and category. Use when you need to view all available project tags in the system.
- `POST https://api.mcp.ai/api/hub_planner/list/projects` — Tool to retrieve all projects from Hub Planner. Returns an array of project objects with details including name, status, resources, project managers, budget settings, custom fields, and tags. Use when
  - body: { page?: integer, sort?: string, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/list/resource/groups` — Tool to get all resource groups from Hub Planner. Returns an array of resource group objects with group name, associated resource IDs, approvers, and metadata. Use when you need to retrieve the comple
- `POST https://api.mcp.ai/api/hub_planner/list/resource/tags` — Tool to get all resource tags from Hub Planner. Returns an array of resource tag objects with ID, value, and category. Use when you need to retrieve the complete list of resource tags in the system.
- `POST https://api.mcp.ai/api/hub_planner/list/resources` — Tool to get all resources from Hub Planner. Returns an array of resource objects with details including name, email, status, role, billing, and custom fields. Use when you need to retrieve the complet
  - body: { page?: integer, sort?: string, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/list/time/entries` — Tool to get all time entries from Hub Planner. Returns paginated results with time entry details including resource, project, date, minutes, and status. Use when you need to retrieve time tracking dat
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/list/unassigned/work` — Tool to retrieve all unassigned work from Hub Planner. Use when you need to get a list of work items that have not been assigned to any resource. Requires the unassigned work extension to be enabled.
- `POST https://api.mcp.ai/api/hub_planner/list/vacations` — Tool to retrieve all vacations from Hub Planner. Requires Vacation extension to be enabled. Returns an array of vacation objects with details including resource assignments, dates, approval status, an
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/patch/booking` — Tool to partially update an existing booking in Hub Planner. Unlike PUT, only pass the properties you want to modify. Use when you need to update booking details like dates, notes, state values, or to
  - body: { id: string, end?: string, note?: string, type?: string, start?: string, metadata?: string, stateValue?: number, approvalInfo?: object, allowOverschedule?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/patch/vacation` — Tool to partially update an existing vacation by ID in Hub Planner. Preferred method over PUT for partial updates. Use when you need to modify specific vacation fields like percentAllocation, title, o
  - body: { id: string, end?: string, type?: string, start?: string, state?: string, title?: string, project?: string, metadata?: string, resource?: string, approvalInfo?: object, minutesPerDay?: integer, percentAllocation?: integer }
- `POST https://api.mcp.ai/api/hub_planner/remove/client/from/projects` — Tool to remove a client from one or more projects in Hub Planner. Use when you need to unlink a client from specific projects by providing an array of project IDs.
  - body: { client_id: string, project_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/remove/project/from/groups` — Tool to remove a project from one or more project groups in Hub Planner. Use when you need to unlink a project from specific groups by providing an array of group IDs.
  - body: { group_ids: string[], project_id: string }
- `POST https://api.mcp.ai/api/hub_planner/remove/project/tag` — Tool to remove a tag from a Hub Planner project. Use when you need to detach a tag from a specific project.
  - body: { tag_id: string, project_id: string }
- `POST https://api.mcp.ai/api/hub_planner/remove/resource/from/projects` — Tool to remove a resource from one or more projects in Hub Planner. Use when you need to unassign a resource from specific projects by providing the resource ID and an array of project IDs.
  - body: { project_ids: string[], resource_id: string }
- `POST https://api.mcp.ai/api/hub_planner/remove/resource/tag` — Tool to remove a tag from a resource. Use when you need to disassociate a specific tag from a resource.
  - body: { tag_id: string, resource_id: string }
- `POST https://api.mcp.ai/api/hub_planner/search/billing/rates` — Tool to search billing rates in Hub Planner with filters. Supports filtering by currency, label, rate amount, and metadata. Use when you need to find billing rates matching specific criteria.
  - body: { rate?: number, label?: string, currency?: string, metadata?: string }
- `POST https://api.mcp.ai/api/hub_planner/search/booking/categories` — Tool to search booking categories in Hub Planner with filters. Use when you need to find booking categories by type, name, or category group. Supports filtering by NON_OPTIONAL/CUSTOM types and partia
  - body: { name?: string, page?: integer, type?: string, group?: string, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/search/bookings` — Tool to search bookings in Hub Planner with advanced filters. Supports filtering by resource, project, dates, metadata, and more using MongoDB-style operators ($in, $nin, $lt, $lte, $gte, $gt). Use wh
  - body: { _id?: object, end?: string|object, page?: integer, limit?: integer, start?: string|object, deleted?: boolean, project?: string|object, metadata?: string|object, resource?: string|object, deletedDate?: object, updatedDate?: object }
- `POST https://api.mcp.ai/api/hub_planner/search/clients` — Tool to search clients with filters in Hub Planner. Use when you need to find clients based on name or metadata. Supports operators like $in, $nin, and $like for flexible filtering.
  - body: { name?: string|object, page?: integer, limit?: integer, metadata?: string|object }
- `POST https://api.mcp.ai/api/hub_planner/search/cost/categories` — Tool to search project cost categories in Hub Planner with filters. Use when you need to find cost categories based on ID or name. Supports MongoDB-style operators like $in and $nin for flexible filte
  - body: { _id?: string|object, name?: string|object, page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/hub_planner/search/events` — Tool to search events with filters in Hub Planner. Use when you need to find events based on name, event code, resources, or custom metadata. Supports operators like $in and $nin for flexible filterin
  - body: { _id?: string|object, name?: string|object, page?: integer, limit?: integer, metadata?: string|object, eventCode?: string|object, resources?: string|object }
- `POST https://api.mcp.ai/api/hub_planner/search/holidays` — Tool to search holidays with filters in Hub Planner. Use when you need to find holidays based on name, date range, or metadata. Supports operators like $in, $nin, $lt, $lte, and $gte for flexible filt
  - body: { _id?: string|object, date?: object, name?: string|object, metadata?: string|object }
- `POST https://api.mcp.ai/api/hub_planner/search/milestones` — Tool to search milestones in Hub Planner with filters. Supports filtering by project, date, name, and metadata using MongoDB-style operators ($in, $nin, $lt, $lte, $gte). Use when you need to find mil
  - body: { _id?: object, date?: string|object, name?: string|object, page?: integer, limit?: integer, project?: string|object, metadata?: string|object }
- `POST https://api.mcp.ai/api/hub_planner/search/project/custom/fields` — Tool to search project custom field templates by type, label, or required status. Use when you need to find specific custom fields or retrieve all project custom field templates.
  - body: { type?: string, label?: string, isRequired?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/search/projects` — Tool to search projects with filters in Hub Planner. Use when you need to find projects based on status, name, project code, resources, dates, or custom fields. Supports operators like $in, $nin, $lt,
  - body: { _id?: string|object, end?: object, name?: string|object, page?: integer, limit?: integer, start?: object, status?: string|object, metadata?: string|object, resources?: string|object, projectCode?: string|object, customFieldsValue?: string|object, customFieldsTemplateId?: string|object, customFieldsTemplateLabel?: string|object }
- `POST https://api.mcp.ai/api/hub_planner/search/resource/custom/field/templates` — Tool to search resource custom field templates by type, label, or other properties. Use when you need to find specific custom field templates defined for resources in Hub Planner.
  - body: { type?: string, label?: string, isRequired?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/search/resources` — Tool to search for resources with various filters in Hub Planner. Use when you need to find resources by status, name, email, role, or custom fields.
  - body: { page?: integer, role?: string, email?: string, limit?: integer, status?: string, lastName?: string, firstName?: string }
- `POST https://api.mcp.ai/api/hub_planner/search/time/entries` — Tool to search time entries with filters in Hub Planner. Use when you need to find time entries based on resource, project, date range, or status. Supports operators like $in, $nin, $lt, $lte, $gt, $g
  - body: { date?: object, page?: integer, limit?: integer, status?: string|object, project?: string|object, resource?: string|object }
- `POST https://api.mcp.ai/api/hub_planner/search/vacations` — Tool to search vacations in Hub Planner with advanced filters. Supports filtering by resource, dates, type, title, and metadata using MongoDB-style operators ($in, $nin, $lt, $lte, $gte). Use when you
  - body: { _id?: object, end?: object, page?: integer, type?: string|object, limit?: integer, start?: object, title?: string|object, metadata?: string|object, resource?: string|object }
- `POST https://api.mcp.ai/api/hub_planner/set/project/managers` — Tool to set project managers for a Hub Planner project. Replaces existing project managers with the provided list. Requires Project Managers Extension to be enabled.
  - body: { project_id: string, project_manager_ids: string[] }
- `POST https://api.mcp.ai/api/hub_planner/update/billing/rate` — Tool to update an existing billing rate by ID in Hub Planner. Must pass the entire billing rate object with all required fields (_id, rate, label, currency). Use when you need to modify billing rate p
  - body: { _id: string, rate: number, label: string, currency: string, metadata?: string, createdDate?: string, updatedDate?: string, billingRateId: string }
- `POST https://api.mcp.ai/api/hub_planner/update/booking` — Tool to update an existing booking in Hub Planner by ID. Must pass the entire booking object with all required fields. Use when you need to modify booking properties like dates, resources, projects, s
  - body: { _id: string, end: string, note?: string, type: string, scale: string, start: string, state: string, title?: string, allDay: boolean, repeat?: boolean, details?: object, project: string, billable?: boolean, interval?: string, metadata?: string, resource: string, bookingId: string, stateValue: number, bookingRate?: object, createdDate?: string, updatedDate?: string, categoryName: string, customFields?: object[], deadlineName?: string, backgroundColor?: string, bookingCreatorId: string, categoryTemplateId: string }
- `POST https://api.mcp.ai/api/hub_planner/update/booking/category` — Tool to update an existing booking category by ID in Hub Planner. Use when you need to modify category properties like name, color, or type.
  - body: { id: string, name?: string, type: string, gridColor?: string }
- `POST https://api.mcp.ai/api/hub_planner/update/client` — Tool to update an existing client by ID in Hub Planner. Only the name property can be updated. Use when you need to rename a client organization.
  - body: { id: string, name: string }
- `POST https://api.mcp.ai/api/hub_planner/update/cost/category` — Tool to update an existing project cost category by ID in Hub Planner. Updates the name of the cost category. Use when you need to rename or modify a project cost category used for tracking expenses.
  - body: { id: string, name: string }
- `POST https://api.mcp.ai/api/hub_planner/update/event` — Tool to update an existing event in Hub Planner by ID. Must pass the entire event object with all required fields. Use when you need to modify event properties like name, status, resources, budget det
  - body: { _id?: string, name: string, note?: string, links?: object, status?: string, event_id: string, metadata?: string, eventCode?: string, resources?: string[], budgetHours?: number, createdDate?: string, updatedDate?: string, customFields?: object[], budgetCurrency?: string, backgroundColor?: string, budgetCashAmount?: number, budgetCategories?: object[] }
- `POST https://api.mcp.ai/api/hub_planner/update/holiday` — Tool to update an existing holiday by ID in Hub Planner. Must pass the entire holiday object with all required fields (_id, name, date). Use when you need to modify holiday properties such as name, da
  - body: { _id: string, date: string, name: string, color?: string, repeat?: boolean, metadata?: string, holidayId: string, createdDate?: string, updatedDate?: string }
- `POST https://api.mcp.ai/api/hub_planner/update/milestone` — Tool to update an existing milestone by ID in Hub Planner. Must pass the entire milestone object with all required fields (_id, name, date, project). Use when you need to modify milestone properties s
  - body: { _id: string, date: string, name: string, project: string, metadata?: string, milestone_id: string }
- `POST https://api.mcp.ai/api/hub_planner/update/project/custom/field/template` — Tool to update an existing project custom field template in Hub Planner. Use when you need to modify field properties like label, type, instructions, or choices.
  - body: { _id?: string, type?: string, label?: string, status?: string, choices?: object[], filterGrid?: boolean, isRequired?: boolean, templateId: string, defaultValue?: string, instructions?: string, characterLimit?: integer, defaultRadioId?: string, canResourceEdit?: boolean, placeholderText?: string, allowMultipleValues?: boolean, isChoicesSortedAlphabetically?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/update/project/group` — Tool to update an existing project group by ID in Hub Planner. Use when you need to modify a project group's name, associated projects, metadata, or parent group. Returns the updated project group obj
  - body: { id: string, name: string, metadata?: string, projects?: string[], parentGroupId?: string }
- `POST https://api.mcp.ai/api/hub_planner/update/project/tag` — Tool to update an existing project tag by ID in Hub Planner. Use when you need to change the value/name of a project tag. Note that the new value cannot conflict with an existing tag value.
  - body: { id: string, value: string }
- `POST https://api.mcp.ai/api/hub_planner/update/projects` — Tool to update one or more projects in Hub Planner. Use when you need to modify project properties such as name, status, budget, or other settings. Supports bulk updates by passing multiple project ob
  - body: { projects: object[] }
- `POST https://api.mcp.ai/api/hub_planner/update/resource/custom/field/template` — Tool to update an existing resource custom field template in Hub Planner. Use when you need to modify field properties like label, type, instructions, or configuration settings.
  - body: { _id: string, type: string, label: string, status?: string, choices?: object[], isRequired?: boolean, template_id: string, defaultValue?: string, instructions?: string, characterLimit?: integer, canResourceEdit?: boolean, placeholderText?: string, allowMultipleValues?: boolean, isChoicesSortedAlphabetically?: boolean }
- `POST https://api.mcp.ai/api/hub_planner/update/resource/group` — Tool to update an existing resource group by ID in Hub Planner. Can update the group name, approvers array, and metadata. Use when you need to modify resource group properties or assign approvers to t
  - body: { id: string, name?: string, metadata?: string, approvers?: string[] }
- `POST https://api.mcp.ai/api/hub_planner/update/resource/tag` — Tool to update an existing resource tag by ID in Hub Planner. Use when you need to change the value/name of a resource tag. Note that the new value cannot conflict with an existing tag value.
  - body: { id: string, value: string }
- `POST https://api.mcp.ai/api/hub_planner/update/resources` — Tool to update one or more resources in Hub Planner. Pass an array of resource objects with _id and properties to update. Supports bulk updates by providing multiple resource objects. Use when you nee
  - body: { resources: object[] }
- `POST https://api.mcp.ai/api/hub_planner/update/time/entry` — Tool to update an existing time entry by ID in Hub Planner. Must pass the entire time entry object with all required fields (resource, project, date, minutes). Use when you need to modify time trackin
  - body: { id: string, date: string, note?: string, status?: string, minutes: number, project: string, metadata?: string, resource: string, categoryTemplateId?: string }
- `POST https://api.mcp.ai/api/hub_planner/update/vacation` — Tool to update an existing vacation by ID in Hub Planner. Use when you need to modify vacation properties such as dates, title, approval status, or allocation. When setting type to APPROVED or REJECTE
  - body: { end?: string, type?: string, start?: string, title?: string, metadata?: string, vacationId: string, approvalInfo?: object, minutesPerDay?: integer, percentAllocation?: integer }

## Example prompts
- "What can I do in Hub Planner?"
- "Show me a summary of my Hub Planner account"

## More
- Page: https://mcp.ai/hub_planner
- Agent spec (llms.txt): https://mcp.ai/hub_planner/llms.txt
- Postman collection: https://mcp.ai/hub_planner/postman.json
