Project Management

Hub Planner MCP Server

Connect your account, then chat with AI to run tools.

Hub Planner is a resource management and project scheduling platform. Plan projects, allocate resources via bookings, track time with timesheets, manage billing rates, and organize work with groups and categories.

55 tools
Agent guide included
Start Chatting

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for Hub Planner — workflow patterns, data models, and gotchas for your AI agent.

Hub Planner

Hub Planner is a resource management and project scheduling platform for planning projects, allocating resources, tracking time, managing billing, and handling vacation/leave workflows.

Data Model

  • Projects — Work containers with name, status (STATUS_ACTIVE/STATUS_ARCHIVED/STATUS_PENDING/ STATUS_PLANNED/STATUS_FLOATING), budget (hours + cash), timeline (start/end with useProjectDuration=true), assigned resources, project managers, tags, custom fields, and projectCode. Projects are what resources get booked against.

  • Resources — People or assets with firstName, lastName, email, status (STATUS_ACTIVE/STATUS_ARCHIVED/STATUS_NON_BOOKABLE/STATUS_PARKED), role (ROLE_OWNER/ROLE_ADMIN/ROLE_MANAGER/ROLE_MEMBER), billing rates, custom availability, tags, and custom fields. Resources are allocated to projects via bookings.

  • Bookings — The core scheduling unit. A booking allocates a resource to a project for a date range. Key fields: resource (ID), project (ID), start/end dates, state (STATE_PERCENTAGE / STATE_DAY_MINUTE / STATE_TOTAL_MINUTE), stateValue (the allocation amount), type (SCHEDULED / APPROVED / WAITING_FOR_APPROVAL / REJECTED), and optional booking category. Bookings default to 20 results per page — always paginate.

  • Events — Non-project activities (conferences, training, company events). Events work like projects for booking purposes — resources can be booked against events using the booking tools with the event ID as the project_id. Events have name, eventCode, and backgroundColor.

  • Time Entries — Timesheet records. Each entry logs minutes for a resource on a project for a specific date. Status flow: UNSUBMITTED → SUBMITTED → APPROVED/REJECTED. Time entries also default to 20 results per page.

  • Milestones — Key dates within a project timeline. Each milestone has a name, date (YYYY-MM-DD), and project association. Use milestones to mark deliverables, deadlines, or phase gates. Milestones are queried via search (POST /milestone/search) — there is no GET-all endpoint.

  • Vacations — Leave/time-off requests with an approval workflow. Each vacation has a resource, start/end dates, type (SCHEDULED/APPROVED/WAITING_FOR_APPROVAL/REJECTED), percentAllocation (100 = full day, 50 = half day), title, and approvalInfo containing approvers, notes, and approval/rejection details. Requires the Vacation extension.

  • Holidays — Public/company holidays with name, date, optional yearly repeat, and color. Holidays affect resource availability calculations.

  • Clients — Customer organizations that can be linked to projects via the customers array.

  • Billing Rates — Rate cards with label, rate amount, and currency. Assigned to projects (projectRate) and resources (resourceRates) for budget tracking. Supports 20+ currencies.

  • Project Tags / Resource Tags — Simple key-value labels for categorization. Project tags are assigned to projects, resource tags to resources (e.g. skills like "Python", "Design"). Each tag has a unique value. No pagination or search — the full list is returned.

  • Booking Categories — Define booking types (e.g. At Client, Remote Work, Design, Development) with name, gridColor, and type (NON_OPTIONAL for default, CUSTOM for user-created). Categories belong to category groups. Used for categorizing and color-coding bookings on the scheduler.

  • Custom Fields — Configurable fields on resources or projects. Templates define the field type (TEXT, TEXTAREA, EMAIL, DATE, COLOR, NUMBER, CHECKBOX, SELECT, RADIO), label, instructions, choices (for select/radio/checkbox), and settings (required, editable by resource, etc.). Values are stored on individual resources/projects via their customFields array.

  • Project Groups / Resource Groups — Organizational containers. System groups (Active Projects, Archived Projects, Events) are auto-managed. Custom groups can be created for team/department structure. Each group has a name and array of member IDs.

  • Project Managers — Resources with isProjectManager=true. A read-only view of resources eligible to manage projects. Assigned to projects via the project's managers field.

  • Unassigned Work — Placeholder items for tasks/roles not yet assigned to a resource. Requires the Unassigned Work extension.

  • Project Cost Categories — Expense categories (Accommodation, Flights, Equipment, etc.) for tracking project costs and budgets.

Key Relationships

  • A booking connects one resource to one project (or event) for a date range
  • Milestones belong to a project — each milestone references a project ID
  • Time entries log actual hours: one resource, one project, one date, N minutes
  • Vacations are per-resource with an approval workflow and optional approvers
  • Billing rates are referenced by projects (projectRate) and resources (resourceRates)
  • Clients are linked to projects via the customers array
  • Tags are assigned to projects (project tags) or resources (resource tags)
  • Booking categories classify individual bookings for filtering and reporting
  • Custom field templates define fields; values live on resource/project objects
  • Groups contain arrays of project or resource IDs

Common Workflows

  1. Project setup: Create project → set budget/timeline → assign project managers → add tags
  2. Resource allocation: Create booking (resource → project, date range, allocation %) → track on scheduler
  3. Time tracking: Resource logs time entries (project, date, minutes) → submit → approve/reject
  4. Capacity planning: List resources → check bookings → identify over/under-allocated → adjust
  5. Leave management: Create vacation request (WAITING_FOR_APPROVAL) → approver reviews → approve/reject
  6. Milestone tracking: Add milestones to project → monitor dates vs progress

Booking vs Event Distinction

Bookings are allocations (resource → project, with dates and effort). Events are a type of schedulable entity, similar to projects but for non-project activities. To schedule a resource for an event, create a booking with the event's ID as the project_id.

Pagination

Projects and resources return all results by default. Bookings, time entries, and vacations return 20 per page by default. Max limit is 1000. Use limit + page params. Pages start at 0.

Sorting

Most list endpoints support a sort parameter. Field name for ascending, prefix with - for descending: sort=name (A-Z), sort=-createdDate (newest first). Chain: sort=-status&sort=name.

Update Patterns

Different entities use different update approaches:

  • Projects and resources: PATCH with array of objects — partial updates
  • Bookings: PATCH with partial data on single object
  • Events, time entries, holidays, billing rates, milestones: GET → merge → PUT (full object)
  • Vacations: PATCH with partial data (preferred over PUT)
  • Tags: PUT with just the new value
  • Clients: PUT with the updated fields

API Rate Limits

6000 calls/day, burst limit of 50 per 5 seconds. Rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Exceeding burst limit returns Retry-After header.

API Quirks

  • Milestone listing uses POST /milestone/search (no GET-all endpoint)
  • Tag values must be unique per type — creating a duplicate returns TAG_VALUE_EXIST error
  • Vacation approval requires either default approvers on the resource or explicit approver IDs
  • Booking category deletion is not supported via API
  • Custom field values are stored on resource/project objects, not on the template
  • Project/resource status values are prefixed: STATUS_ACTIVE, STATUS_ARCHIVED, etc.

Tools in this Server (55)

Hubplanner Create Billing Rate

Create a new Hub Planner billing rate. Requires label, rate amount, and currency code.

Hubplanner Create Booking

Create a new Hub Planner booking (allocate a resource to a project for a date range). Requires resource_id, project_id, start, and end dates. Set stat...

Hubplanner Create Client

Create a new Hub Planner client. Requires a name. Clients can be linked to projects.

Hubplanner Create Event

Create a new Hub Planner event. Events represent non-project activities like conferences or training. Resources can be booked against events.

Hubplanner Create Holiday

Create a new Hub Planner public holiday. Requires name and date. Optionally set repeat=true for yearly recurrence.

Hubplanner Create Milestone

Create a new Hub Planner milestone on a project. Requires name, date (YYYY-MM-DD), and project_id.

Hubplanner Create Project

Create a new Hub Planner project. Only name is required. Optionally set status, budget (hours/cash/currency), timeline (start/end dates), project code...

Hubplanner Create Project Tag

Create a new Hub Planner project tag. Requires a unique value. Returns TAG_VALUE_EXIST error if the tag already exists.

Hubplanner Create Resource

Create a new Hub Planner resource (person or asset). Requires first_name. Optionally set last_name, email, status, and notes. Does not send an invitat...

Hubplanner Create Resource Tag

Create a new Hub Planner resource tag. Requires a unique value. Useful for tagging skills (Python, Java) or departments.

Hubplanner Create Time Entry

Create a new Hub Planner time entry (timesheet record). Requires resource_id, project_id, date (YYYY-MM-DD), and minutes. Optionally add a note.

Hubplanner Create Vacation

Create a new Hub Planner vacation request. Requires resource_id, start, and end dates. Set type to WAITING_FOR_APPROVAL (default) for approval workflo...

Hubplanner Delete Billing Rate

Delete a Hub Planner billing rate by its ID.

Hubplanner Delete Booking

Delete a Hub Planner booking by its ID.

Hubplanner Delete Client

Delete a Hub Planner client by its ID.

Hubplanner Delete Event

Delete a Hub Planner event by its ID.

Hubplanner Delete Holiday

Delete a Hub Planner public holiday by its ID.

Hubplanner Delete Milestone

Delete a Hub Planner milestone by its ID.

Hubplanner Delete Project

Permanently delete a Hub Planner project by its ID. This removes the project and cannot be undone.

Hubplanner Delete Project Tag

Delete a Hub Planner project tag by its ID.

Hubplanner Delete Resource

Permanently delete a Hub Planner resource by its ID.

Hubplanner Delete Resource Tag

Delete a Hub Planner resource tag by its ID.

Hubplanner Delete Time Entry

Delete a Hub Planner time entry by its ID.

Hubplanner Delete Vacation

Delete a Hub Planner vacation by its ID.

Hubplanner Get Billing Rates

Retrieve Hub Planner billing rates. Pass billing_rate_id to get one, or list all. Billing rates define hourly/daily rates with a label, rate amount, a...

Hubplanner Get Booking Categories

Retrieve Hub Planner booking categories. Pass category_id to get one, or omit to list all. Categories define the type of booking (e.g. At Client, Remo...

Hubplanner Get Bookings

Retrieve Hub Planner bookings (resource allocations to projects). Pass booking_id to get one, or filter by resource_id, project_id, and date range. Bo...

Hubplanner Get Clients

Retrieve Hub Planner clients. Pass client_id to get one, or list all. Clients can be associated with projects to track which customer a project is for...

Hubplanner Get Cost Categories

Retrieve Hub Planner project cost categories. Pass category_id to get one, or omit to list all. Cost categories (e.g. Accommodation, Flights, Equipmen...

Hubplanner Get Custom Fields

Retrieve Hub Planner custom field templates. Set target_type to 'resource' or 'project' to get fields for that entity type, or omit to get both. Custo...

Hubplanner Get Events

Retrieve Hub Planner events. Events are non-project activities (conferences, training, company events) that resources can be booked against — use the ...

Hubplanner Get Holidays

Retrieve Hub Planner public holidays. Pass holiday_id to get one, or list all. Holidays have name, date (YYYY-MM-DD), color, repeat (yearly recurrence...

Hubplanner Get Milestones

Retrieve Hub Planner milestones. Pass milestone_id to get one, or search by project_id and date range. Milestones mark key dates in a project timeline...

Hubplanner Get Project Groups

Retrieve Hub Planner project groups. Groups organize projects into categories. Each group has a name and a list of project IDs. System groups include ...

Hubplanner Get Project Managers

Retrieve all Hub Planner project managers. Returns resources that have isProjectManager=true, with their firstName, lastName, email, status, role, bil...

Hubplanner Get Projects

Retrieve Hub Planner projects. Pass project_id to get one project, or omit to list all. Filter by status, paginate with limit/page, and sort by name o...

Hubplanner Get Project Tags

Retrieve all Hub Planner project tags. Returns an array of tags with _id, value, and category. Project tags can be assigned to projects for categoriza...

Hubplanner Get Resource Groups

Retrieve Hub Planner resource groups. Groups organize resources (people/assets) into teams or departments. Each group has a name and a list of resourc...

Hubplanner Get Resources

Retrieve Hub Planner resources (people or assets). Pass resource_id to get one, or omit to list all. Resources have firstName, lastName, email, status...

Hubplanner Get Resource Tags

Retrieve all Hub Planner resource tags. Returns an array of tags with _id, value, and category. Resource tags can be assigned to resources for skills,...

Hubplanner Get Time Entries

Retrieve Hub Planner time entries (timesheet records). Pass time_entry_id to get one, or filter by resource_id, project_id, and date range. Entries ha...

Hubplanner Get Unassigned Work

Retrieve Hub Planner unassigned work items. Pass work_id to get one, or omit to list all. Unassigned work represents tasks or roles that have not yet ...

Hubplanner Get Vacations

Retrieve Hub Planner vacations. Pass vacation_id to get one, or filter by resource_id, date range, and type. Vacations have resource, start/end dates,...

Hubplanner Update Billing Rate

Update an existing Hub Planner billing rate. Fetches the current rate, merges your changes, and saves.

Hubplanner Update Booking

Update an existing Hub Planner booking. Pass booking_id and any fields to change. Uses partial update — only provided fields are modified.

Hubplanner Update Client

Update an existing Hub Planner client name.

Hubplanner Update Event

Update an existing Hub Planner event. Fetches the current event, merges your changes, and saves.

Hubplanner Update Holiday

Update an existing Hub Planner holiday. Fetches the current holiday, merges your changes, and saves.

Hubplanner Update Milestone

Update an existing Hub Planner milestone. Fetches the current milestone, merges your changes, and saves.

Hubplanner Update Project

Update an existing Hub Planner project. Pass the project_id and any fields to change. Only provided fields are modified.

Hubplanner Update Project Tag

Update an existing Hub Planner project tag value. Returns TAG_VALUE_EXIST error if the new value already exists.

Hubplanner Update Resource

Update an existing Hub Planner resource. Pass the resource_id and any fields to change.

Hubplanner Update Resource Tag

Update an existing Hub Planner resource tag value.

Hubplanner Update Time Entry

Update an existing Hub Planner time entry. Fetches the current entry, merges your changes, and saves.

Hubplanner Update Vacation

Update an existing Hub Planner vacation. Uses PATCH — only provided fields are modified.

Frequently Asked Questions

What is the Hub Planner MCP server?

Hub Planner is a resource management and project scheduling platform. Plan projects, allocate resources via bookings, track time with timesheets, manage billing rates, and organize work with groups and categories. It provides 55 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect Hub Planner to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/hubplanner. Authentication is handled automatically.

How many tools does Hub Planner provide?

Hub Planner provides 55 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Hub Planner require?

Hub Planner uses API Key. Hub Planner requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Hub Planner to any MCP client in minutes

https://mcp.mcpbundles.com/bundle/hubplanner

What is MCP?

Model Context Protocol lets AI tools call external capabilities securely through a single URL. This bundle groups tools behind an MCP endpoint that many clients can use.

Use this bundle in 3 steps

  1. Copy the MCP URL above
  2. Open your AI tool and add a new MCP/connector
  3. Paste the URL and follow any auth prompts

Claude Desktop Users

Skip the manual setup! Use the .mcpb file format for one-click installation. Check the Claude Desktop tab for setup instructions.

Pick your tool tab for exact steps

Select ChatGPT, Cursor, Claude Code, or another tab for copy-paste config.

Ready to use Hub Planner?

Sign in to connect your credentials and start running tools from the chat.

Hub Planner MCP Server & Skill — 55 Tools