Skip to main content
Glama
IMPORTANT

πŸ“¦ This project is now archived

Float has released their own first-class MCP server, and we're archiving this community project in favor of it. Float has the resources and direct API access to continue this work far better than we can.

A huge thank you to the community for the contributions, feedback, and support β€” and to the Float team for embracing MCP natively. πŸ™Œ

πŸ‘‰ Use Float's official MCP server going forward: float.com/whats-new/float-mcp-ask-float-in-chatgpt-or-claude


Float MCP Server

MIT License TypeScript MCP

A comprehensive Model Context Protocol (MCP) server that provides seamless integration with Float.com - the resource management and project planning platform. This server exposes Float's complete API as MCP tools, enabling AI assistants like Claude to interact with Float for project management, resource allocation, time tracking, and team coordination.

Related MCP server: Discord MCP Server

🌟 Features

Complete Float API Coverage

  • πŸ‘₯ People Management - Full CRUD operations for team members

  • πŸ“ Project Management - Projects, phases, tasks, and milestones

  • ⏱️ Time Tracking - Logged time, timesheets, and billable hours

  • πŸ“Š Resource Allocation - Team member assignments and scheduling

  • 🎯 Task Management - Project tasks, dependencies, and workflows

  • 🏒 Organization - Departments, roles, accounts, and permissions

  • πŸ“… Time Off - PTO requests, approvals, and holiday management

  • πŸ“ˆ Reports - Time reports, utilization, and project analytics

Advanced Features

  • πŸ”„ Rate Limiting - Built-in API rate limiting with exponential backoff

  • πŸ›‘οΈ Type Safety - Full TypeScript support with Zod schema validation

  • πŸ“ Comprehensive Logging - Detailed logging for debugging and monitoring

  • ⚑ Performance - Optimized for fast response times and efficient API usage

  • πŸ§ͺ Testing - Comprehensive integration test suite

  • 🐳 Docker Support - Ready-to-deploy Docker container

πŸš€ Quick Start

Prerequisites

  • Node.js 22.0.0 or later

  • Float.com account with API access

  • Valid Float API key

1. Installation Options

For DXT-compatible environments, download the latest DXT package:

πŸ“¦ Download Float MCP Extension (.dxt)

Install the .dxt file through your DXT-compatible application.

B. Manual Installation

# Using npm
npm install

# Using yarn
yarn install

2. Configuration

Create a .env file in the project root:

# Float API Configuration
FLOAT_API_KEY=your_float_api_key_here
FLOAT_API_BASE_URL=https://api.float.com/v3

# Optional: Enable debug logging
LOG_LEVEL=info

3. Build & Run

# Build the project
npm run build

# Start the MCP server
npm start

# For development with auto-reload
npm run dev

4. MCP Client Integration

For DXT Installation

After installing the DXT extension, configure your Float API key in the extension settings. The extension will handle the MCP server configuration automatically.

For Manual Installation

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "float-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "FLOAT_API_KEY=YOURAPIKEY",
        "-e",
        "LOG_LEVEL=debug",
        "ghcr.io/asachs01/float-mcp:latest"
      ]
    }
  }
}

πŸš€ Available Tools

The Float MCP server provides 4 optimized decision-tree tools that efficiently replace 246+ granular tools while maintaining complete functionality:

1. manage-entity - Core Entity Management

Consolidates all CRUD operations for core entities with decision tree routing:

manageEntity({
  entity_type: "people" | "projects" | "tasks" | "clients" | "departments" | "roles" | "accounts" | "statuses",
  operation: "list" | "get" | "create" | "update" | "delete" | "get-current-account" | "bulk-update-account-permissions",
  // ... entity-specific parameters
})

Replaces: All CRUD tools for people, departments, roles, accounts, projects, tasks, clients, and statuses (~120 tools)

2. manage-project-workflow - Project Operations

Handles all project-specific workflow operations:

manageProjectWorkflow({
  workflow_type: "phases" | "milestones" | "project-tasks" | "allocations", 
  operation: "list" | "get" | "create" | "update" | "delete" | "complete" | "archive" | "bulk-create" | "reorder",
  // ... workflow-specific parameters
})

Replaces: Project phases, milestones, project tasks, allocations, dependencies, bulk operations (~60 tools)

3. manage-time-tracking - Time Management

Manages all time-related operations with comprehensive reporting:

manageTimeTracking({
  tracking_type: "logged-time" | "timeoff" | "public-holidays" | "team-holidays",
  operation: "list" | "get" | "create" | "update" | "delete" | "approve" | "reject" | "bulk-create",
  report_type?: "person-summary" | "project-summary" | "timesheet" | "billable-analysis",
  // ... time-specific parameters  
})

Replaces: Logged time, time off, holidays, approvals, timesheets, summaries (~45 tools)

4. generate-report - Analytics & Reporting

Comprehensive reporting and analytics engine:

generateReport({
  report_type: "time-report" | "project-report" | "people-utilization-report" | "capacity-report" | "budget-report",
  // Advanced filtering and grouping options
  group_by?: "person" | "project" | "client" | "department" | "date" | "week" | "month",
  include_details?: boolean,
  // ... extensive reporting parameters
})

Replaces: All reporting tools with advanced analytics, grouping, filtering (~20 tools)

πŸ“Š Optimization Benefits

  • πŸ”₯ Massive Efficiency: 246+ tools β†’ 4 optimized tools (98.4% reduction)

  • 🧠 AI-Friendly: Decision tree parameters instead of tool proliferation

  • ⚑ Better Performance: Consolidated API calls and reduced overhead

  • πŸ”’ Full Compatibility: Zero functionality loss, complete backward compatibility

  • πŸ› οΈ Easier Maintenance: Centralized logic with consistent patterns

πŸ”„ Legacy Tools (Backward Compatibility)

All original 246+ granular tools remain available for backward compatibility:

Reporting & Analytics

  • Reports: get-time-report, get-project-report, get-people-utilization-report

  • Analytics: get-person-logged-time-summary, get-project-logged-time-summary

πŸ”§ Configuration

Environment Variables

Variable

Description

Required

Default

FLOAT_API_KEY

Your Float API key

βœ… Yes

-

FLOAT_API_BASE_URL

Float API base URL

❌ No

https://api.float.com/v3

LOG_LEVEL

Logging level (error, warn, info, debug)

❌ No

info

MAX_RETRIES

Maximum API retry attempts

❌ No

3

REQUEST_TIMEOUT

API request timeout (ms)

❌ No

30000

Getting a Float API Key

  1. Log in to your Float account

  2. Go to Settings > API > Personal Access Tokens

  3. Click Generate New Token

  4. Copy the API key

  5. Add it to your .env file

πŸ“– Usage Examples

Basic Operations

// List all projects
const projects = await listProjects({});

// Get a specific project
const project = await getProject({ project_id: 12345 });

// Create a new person
const person = await createPerson({
  name: 'John Doe',
  email: 'john@example.com',
  department_id: 1,
});

// Schedule an allocation
const allocation = await createAllocation({
  project_id: 12345,
  people_id: 67890,
  start_date: '2024-01-15',
  end_date: '2024-01-31',
  hours: 8,
});

Advanced Workflows

// Get team utilization report
const utilization = await getPeopleUtilizationReport({
  start_date: '2024-01-01',
  end_date: '2024-12-31',
});

// Bulk create project tasks
const tasks = await bulkCreateProjectTasks({
  project_id: 12345,
  tasks: [
    { name: 'Design Phase', start_date: '2024-01-01' },
    { name: 'Development Phase', start_date: '2024-01-15' },
  ],
});

// Process time off request
await createTimeOff({
  people_ids: [67890],
  timeoff_type_id: 1,
  start_date: '2024-02-01',
  end_date: '2024-02-05',
  status: 1, // Pending approval
});

await approveTimeOff({
  timeoff_id: 123,
  approved_by: 456,
  notes: 'Approved for vacation',
});

πŸ§ͺ Testing

Running Tests

# Run all tests
npm test

# Run integration tests (requires API key)
npm run test:integration

# Run tests with coverage
npm run test:coverage

# Run specific test suites
npm run test:integration:mock  # Mock API responses
npm run test:integration:real  # Real API calls (use with caution)

Test Configuration

For integration tests with real API calls:

# .env.test
FLOAT_API_KEY=flt_your_test_api_key
TEST_REAL_API=true
TEST_MOCK_MODE=false

🐳 Docker Support

Using Docker

# Build the image
docker build -t float-mcp .

# Run the container
docker run -d \
  --name float-mcp \
  -e FLOAT_API_KEY=your_float_api_key_here \
  -p 3000:3000 \
  float-mcp

Docker Compose

version: '3.8'
services:
  float-mcp:
    build: .
    environment:
      - FLOAT_API_KEY=your_float_api_key_here
      - LOG_LEVEL=info
    ports:
      - '3000:3000'
    restart: unless-stopped

πŸ” Troubleshooting

Common Issues

API Key Issues

Error: Unauthorized (401)
# Solution: Check your API key format and validity

Rate Limiting

Error: Too Many Requests (429)
# Solution: The server automatically handles rate limiting with exponential backoff

Connection Issues

Error: Network timeout
# Solution: Check your internet connection and Float API status

Debug Mode

Enable detailed logging:

LOG_LEVEL=debug

This will show all API requests/responses and internal operations.

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Clone the repository
git clone https://github.com/asachs01/float-mcp.git
cd float-mcp

# Install dependencies
npm install

# Set up environment
cp .env.example .env
# Edit .env with your Float API key

# Run in development mode
npm run dev

Code Quality

# Run linting
npm run lint

# Format code
npm run format

# Type checking
npm run typecheck

πŸ“„ Documentation

πŸ“Š Project Status

  • βœ… Complete Float API Coverage - All Float v3 endpoints implemented

  • βœ… Production Ready - Full error handling, rate limiting, and logging

  • βœ… Well Tested - Comprehensive integration test suite

  • βœ… Type Safe - Full TypeScript with Zod validation

  • βœ… Docker Ready - Production-ready containerization

  • βœ… MCP Compatible - Full Model Context Protocol compliance

πŸ—ΊοΈ Roadmap

  • Float API v4 Support - When released by Float

  • Enhanced Caching - Optional Redis caching layer

  • Webhook Support - Real-time Float event notifications

  • Bulk Operations - Enhanced bulk import/export tools

  • Custom Reports - Advanced reporting and analytics

  • Multi-tenant Support - Multiple Float account support

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™‹ Support

🏷️ Tags

float mcp model-context-protocol project-management resource-management time-tracking typescript api-integration claude ai-tools


Built with ❀️ for the Float and MCP communities

Available Tools

136 tools
approve-timeoffB

Approve a pending time off request

Inputs: timeoff_id (required), approved_by, notes.

archive-project-taskB

Archive or unarchive a project task

Inputs: project_task_id (required), archive (required).

bulk-create-logged-timeA

Create multiple logged time entries at once for batch time logging

Inputs: logged_time_entries (required).

bulk-create-project-tasksB

Create multiple project tasks at once

Inputs: project_id (required), tasks (required).

bulk-create-timeoffA

Create multiple time off requests at once

Inputs: timeoff_requests (required).

bulk-update-account-permissionsB

Update permissions for multiple accounts at once

Inputs: account_ids (required), permissions (required).

check-role-accessB

Check if a role has specific permissions (useful for RBAC implementation)

Inputs: role_id (required), required_permissions (required), require_all.

complete-milestoneB

Mark a milestone as completed with optional completion date

Inputs: milestone_id (required), completed_date, notes.

create-accountB

Create a new account (if supported by your Float plan)

Inputs: name (required), email (required), access, active, +5 more.

create-allocationC

Create a new allocation

Inputs: project_id (required), people_id (required), start_date (required), hours (required), +4 more.

create-clientB

Create a new client

Inputs: name (required), notes, active.

create-departmentC

Create a new department

Inputs: name (required), parent_id.

create-logged-timeC

Create a new logged time entry for tracking work hours

Inputs: people_id (required), project_id (required), date (required), hours (required), +4 more.

create-milestoneB

Create a new milestone for a project or phase

Inputs: name (required), project_id (required), phase_id, description, +11 more.

create-personB

Create a new person

Inputs: name (required), email, active, job_title, +4 more.

create-phaseC

Create a new phase within a project

Inputs: project_id (required), name (required), start_date (required), end_date (required), +7 more.

create-projectB

Create a new project with comprehensive settings including budget, timeline, client association, and project configuration. Essential for project initialization and setup.

Inputs: name (required), client_id (required), start_date (required), color, +8 more.

create-project-taskC

Create a new project task

Inputs: project_id (required), task_names (required), phase_id, notes, +10 more.

create-public-holidayC

Create a new public holiday

Inputs: name (required), date (required), region, country, +6 more.

create-roleB

Create a new role with permissions and settings

Inputs: name (required), level, active, description, +4 more.

create-statusB

Create a new status for projects or tasks

Inputs: name (required), status_type (required), color, active, +2 more.

create-taskD

Create a new task/allocation

Inputs: project_id (required), people_id (required), name (required), start_date (required), +6 more.

create-team-holidayC

Create a new team holiday

Inputs: name (required), start_date (required), end_date (required), description, +10 more.

create-timeoffB

Create a new time off request

Inputs: people_ids (required), timeoff_type_id (required), start_date (required), end_date (required), +6 more.

create-time-off-typeB

Create a new time off type (e.g., vacation, sick leave, personal time)

Inputs: name (required), active, is_default, color.

deactivate-accountB

Deactivate an account (sets active status to 0)

Inputs: account_id (required).

delete-allocationC

Delete an allocation

Inputs: task_id (required).

delete-clientB

Delete a client (archives it in Float)

Inputs: client_id (required).

delete-departmentB

Delete a department

Inputs: department_id (required).

delete-logged-timeC

Delete a logged time entry

Inputs: logged_time_id (required).

delete-milestoneA

Delete a milestone (archives it in Float)

Inputs: milestone_id (required).

delete-personA

Delete a person (archives them in Float)

Inputs: people_id (required).

delete-phaseB

Delete a phase (archives it in Float)

Inputs: phase_id (required).

delete-projectA

Delete a project (archives it in Float). This action sets the project status to archived rather than permanently deleting it, preserving historical data and references.

Inputs: project_id (required), format.

delete-project-taskB

Delete a project task (archives it in Float)

Inputs: project_task_id (required).

delete-public-holidayA

Delete a public holiday (archives it in Float)

Inputs: holiday_id (required).

delete-roleA

Delete a role (archives it in Float). Note: Roles assigned to users should be reassigned first.

Inputs: role_id (required).

delete-statusB

Delete a status (archives it in Float)

Inputs: status_id (required).

delete-taskC

Delete a task/allocation

Inputs: task_id (required).

delete-team-holidayB

Delete a team holiday

Inputs: holiday_id (required).

delete-timeoffC

Delete a time off entry

Inputs: timeoff_id (required).

delete-time-off-typeA

Delete a time off type (archives it in Float). Cannot delete if time off entries exist for this type.

Inputs: timeoff_type_id (required).

generate-reportC

Consolidated tool for generating comprehensive reports and analytics from Float data. Supports various report types including time tracking, project performance, resource utilization, budget analysis, and team metrics with flexible filtering and formatting options.

Inputs: report_type (required), active, format, status, +21 more.

get-accountA

Get comprehensive details about a specific user account including permissions, access rights, department assignments, and account settings. Essential for user management and access control.

Inputs: account_id (required).

get-active-phasesB

Get all active phases, optionally filtered by project

Inputs: project_id, status.

get-allocationC

Get detailed information about a specific allocation

Inputs: task_id (required).

get-billable-time-reportA

Get a detailed report of billable vs non-billable logged time with breakdown by person and project

Inputs: start_date (required), end_date (required), people_id, project_id.

get-clientA

Get detailed information about a specific client

Inputs: client_id (required), format.

get-current-accountA

Get information about the current authenticated account

Inputs: no named parameters.

get-default-statusA

Get the default status for a specific type (project or task)

Inputs: status_type (required).

get-departmentB

Get detailed information about a specific department

Inputs: department_id (required).

get-logged-timeA

Get detailed information about a specific logged time entry

Inputs: logged_time_id (required).

get-logged-time-timesheetB

Get logged time in timesheet format for a specific date range, organized by person and date

Inputs: start_date (required), end_date (required), people_id, project_id, +1 more.

get-milestoneB

Get detailed information about a specific milestone

Inputs: milestone_id (required).

get-milestone-remindersC

Get milestones that have reminders set within a specified date range

Inputs: project_id, phase_id, reminder_date_from, reminder_date_to, +5 more.

get-overdue-milestonesB

Get milestones that are overdue (past their due date and not completed)

Inputs: project_id, phase_id, priority, active, +2 more.

get-people-utilization-reportC

Get people utilization report

Inputs: start_date (required), end_date (required), people_id, department_id.

get-personA

Get comprehensive details about a specific team member including role, department, skills, contact information, and employment details. Essential for team management and resource allocation.

Inputs: people_id (required), format.

get-person-logged-time-summaryB

Get logged time summary for a specific person including billable/non-billable hours

Inputs: people_id (required), start_date, end_date, project_id, +1 more.

get-person-timeoff-summaryB

Get time off summary for a specific person including balance and usage

Inputs: people_id (required), year, timeoff_type_id.

get-phaseC

Get detailed information about a specific phase

Inputs: phase_id (required).

get-phases-by-date-rangeC

Get phases that fall within a specific date range

Inputs: start_date (required), end_date (required), project_id, status.

get-phase-scheduleC

Get scheduling information for phases including dependencies and timeline

Inputs: project_id (required), include_tasks.

get-projectA

Get comprehensive details about a specific project including budget, timeline, client information, and project settings. Use this to retrieve complete project information for planning and analysis.

Inputs: project_id (required), format.

get-project-logged-time-summaryC

Get logged time summary for a specific project including team member contributions

Inputs: project_id (required), start_date, end_date, people_id, +1 more.

get-project-milestonesC

Get all milestones for a specific project with optional filtering

Inputs: project_id (required), status, completed, active, +5 more.

get-project-reportC

Get project summary report

Inputs: start_date, end_date, project_id, client_id, +1 more.

get-project-taskC

Get detailed information about a specific project task

Inputs: project_task_id (required), fields.

get-project-task-dependenciesC

Get dependency information for project tasks

Inputs: project_id (required), project_task_id.

get-project-tasks-by-phaseB

Get all project tasks for a specific project phase

Inputs: phase_id (required), active, fields.

get-project-tasks-by-projectC

Get all project tasks for a specific project

Inputs: project_id (required), active, include_phases, fields.

get-public-holidayB

Get detailed information about a specific public holiday

Inputs: holiday_id (required).

get-roleB

Get detailed information about a specific role

Inputs: role_id (required).

get-role-hierarchyC

Get roles organized by hierarchy levels

Inputs: active, department_id.

get-role-permissionsB

Get all permissions for a specific role

Inputs: role_id (required).

get-roles-by-permissionB

Get all roles that have a specific permission

Inputs: permission (required), active.

get-statusB

Get detailed information about a specific status

Inputs: status_id (required).

get-statuses-by-typeC

Get all statuses for a specific type with default status information

Inputs: status_type (required), active.

get-taskC

Get detailed information about a specific task/allocation

Inputs: task_id (required).

get-team-holidayB

Get detailed information about a specific team holiday

Inputs: holiday_id (required).

get-timeoffB

Get detailed information about a specific time off entry

Inputs: timeoff_id (required).

get-timeoff-calendarC

Get time off calendar view for a specific date range

Inputs: start_date (required), end_date (required), people_id, department_id, +1 more.

get-time-off-typeB

Get detailed information about a specific time off type

Inputs: timeoff_type_id (required).

get-time-reportC

Get time tracking report with various filters

Inputs: start_date (required), end_date (required), people_id, project_id, +4 more.

get-upcoming-milestonesC

Get milestones that are upcoming within a specified date range

Inputs: project_id, phase_id, days_ahead, priority, +4 more.

get-upcoming-team-holidaysB

Get team holidays occurring from today onwards

Inputs: days_ahead, department_id, region_id, active, +2 more.

list-accountsA

Retrieve a paginated list of all user accounts with advanced filtering options. Use for user management, access control, and organizational oversight. Supports filtering by account type, active status, and department access.

Inputs: page, active, per-page, account_type, +1 more.

list-allocationsC

List all allocations with optional filtering (same as tasks in Float API)

Inputs: project_id, people_id, start_date, end_date, +3 more.

list-clientsA

List all clients with optional filtering

Inputs: active, page, per-page, format.

list-departmentsC

List all departments

Inputs: page, active, per-page.

list-logged-timeA

List all logged time entries with optional filtering by person, project, date range, and billable status

Inputs: people_id, project_id, task_id, start_date, +6 more.

list-milestonesB

List all milestones with optional filtering by project, phase, status, or date range

Inputs: project_id, phase_id, status, completed, +9 more.

list-peopleA

Retrieve a paginated list of all team members with advanced filtering options. Use for team management, resource planning, and organizational oversight. Supports filtering by department, role, and active status.

Inputs: page, active, format, status, +2 more.

list-phasesC

List all phases with optional filtering by project, status, or date range

Inputs: project_id, status, start_date, end_date, +3 more.

list-phases-by-projectB

List all phases for a specific project

Inputs: project_id (required), status, active.

list-projectsA

Retrieve a paginated list of all projects with advanced filtering options. Use this for project overview, status tracking, and finding specific projects by client or status. Supports pagination for large project datasets.

Inputs: page, active, format, status, +2 more.

list-project-tasksC

List all project tasks with optional filtering by project, phase, or status

Inputs: project_id, phase_id, active, billable, +4 more.

list-public-holidaysB

List all public holidays with optional filtering by date range, region, and status

Inputs: start_date, end_date, region, country, +6 more.

list-recurring-team-holidaysC

List all recurring team holidays

Inputs: department_id, region_id, active, page, +1 more.

list-rolesC

List all roles with optional filtering by status, department, or active status

Inputs: page, level, active, per-page, +1 more.

list-statusesC

List all statuses with optional filtering by status type (project or task)

Inputs: page, active, per-page, status_type.

list-tasksC

List all tasks/allocations with optional filtering by project, person, or date range

Inputs: page, status, end_date, per-page, +3 more.

list-team-holidaysC

List all team holidays with optional filtering by department, date range, or active status

Inputs: department_id, region_id, start_date, end_date, +5 more.

list-team-holidays-by-date-rangeB

List team holidays within a specific date range

Inputs: start_date (required), end_date (required), department_id, region_id, +3 more.

list-team-holidays-by-departmentB

List team holidays filtered by specific department

Inputs: department_id (required), start_date, end_date, active, +2 more.

list-timeoffB

List all time off entries with optional filtering by person, project, status, and date range

Inputs: people_id, timeoff_type_id, start_date, end_date, +3 more.

list-time-off-typesB

List all time off types with optional filtering by active status

Inputs: active, page, per-page.

list-timeoff-typesB

List all available time off types

Inputs: page, per-page.

manage-account-permissionsC

Manage and update account permissions and access rights including view/edit permissions, department filters, and access levels. Critical for security and access control management.

Inputs: account_id (required), access, edit_rights, view_rights, +1 more.

manage-entityC

Consolidated tool for managing all core Float entities (people, projects, tasks, clients, departments, roles, accounts, statuses). Supports all CRUD operations and specialized functions through a decision-tree approach. Use entity_type to specify the entity and operation to specify the action.

Inputs: operation (required), entity_type (required), id, name, +51 more.

manage-project-workflowC

Consolidated tool for managing project workflow entities (phases, milestones, project-tasks, allocations). Handles all project-specific operations including scheduling, task management, and resource allocation through a decision-tree approach.

Inputs: operation (required), entity_type (required), id, date, +37 more.

manage-time-trackingC

Consolidated tool for managing all time tracking entities (logged-time, timeoff, timeoff-types, public-holidays, team-holidays). Handles time logging, leave management, and holiday tracking through a decision-tree approach with comprehensive reporting capabilities.

Inputs: operation (required), entity_type (required), id, date, +43 more.

reactivate-accountA

Reactivate an account (sets active status to 1)

Inputs: account_id (required).

reject-timeoffB

Reject a pending time off request

Inputs: timeoff_id (required), rejected_by, notes.

reorder-project-tasksB

Reorder project tasks by updating their sort_order

Inputs: project_id (required), task_order (required).

set-account-department-filterB

Set department filter to restrict account access to specific departments

Inputs: account_id (required), department_filter_id (required).

set-default-statusB

Set a status as the default for its type

Inputs: status_id (required), status_type (required).

update-accountB

Update an existing user account with new information including contact details, permissions, timezone settings, and account configuration. Use for profile management and access control updates.

Inputs: account_id (required), name, email, access, +7 more.

update-account-timezoneC

Update the timezone for a specific account

Inputs: timezone (required), account_id (required).

update-allocationC

Update an existing allocation

Inputs: task_id (required), project_id, people_id, start_date, +6 more.

update-clientC

Update an existing client

Inputs: client_id (required), name, notes, active.

update-departmentB

Update an existing department

Inputs: department_id (required), name, parent_id.

update-logged-timeB

Update an existing logged time entry

Inputs: logged_time_id (required), people_id, project_id, task_id, +5 more.

update-milestoneC

Update an existing milestone

Inputs: milestone_id (required), name, project_id, phase_id, +12 more.

update-personB

Update an existing person

Inputs: people_id (required), name, email, active, +5 more.

update-phaseC

Update an existing phase

Inputs: phase_id (required), project_id, name, start_date, +8 more.

update-projectC

Update an existing project with new information including timeline changes, budget updates, status modifications, and project configuration adjustments.

Inputs: project_id (required), name, color, notes, +10 more.

update-project-taskC

Update an existing project task

Inputs: project_task_id (required), task_names, project_id, phase_id, +11 more.

update-public-holidayB

Update an existing public holiday

Inputs: holiday_id (required), name, date, region, +7 more.

update-roleC

Update an existing role with new information or permissions

Inputs: role_id (required), name, level, active, +5 more.

update-role-permissionsC

Update permissions for a specific role

Inputs: role_id (required), permissions (required), replace.

update-statusC

Update an existing status

Inputs: status_id (required), name, color, active, +3 more.

update-taskC

Update an existing task/allocation

Inputs: task_id (required), name, project_id, people_id, +9 more.

update-team-holidayC

Update an existing team holiday

Inputs: holiday_id (required), name, description, start_date, +11 more.

update-timeoffB

Update an existing time off request (including approval/rejection)

Inputs: timeoff_id (required), people_ids, timeoff_type_id, start_date, +11 more.

update-time-off-typeC

Update an existing time off type

Inputs: timeoff_type_id (required), name, active, is_default, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.4/5.0

    Scored across 136 tools

    Disambiguation1/5

    Massive overlap between tools: list-allocations/delete-allocation/create-allocation/update-allocation duplicate list-tasks/update-task/delete-task/create-task since allocations and tasks are the same Float API entity. Additional confusion from manage-entity and manage-project-workflow consolidated tools that overlap with nearly every CRUD tool, and duplicate timeoff/time-off-type tools.

    Naming Consistency1/5

    Naming is highly inconsistent: some use 'timeoff' (list-timeoff, create-timeoff) while others use 'time-off' (list-time-off-types, create-time-off-type). Conventions mix verb-object and object-verb patterns (get-project-tasks-by-project vs list-project-tasks, delete-allocation vs list-allocations). No clear consistent prefix or pattern emerges.

    Tool Count1/5

    With 136 tools, this is an extreme case of over-proliferation. Even accounting for Float's broad API surface, the count is excessive and would overwhelm any agent. The presence of redundant consolidated tools (manage-entity, manage-project-workflow) alongside granular CRUD tools compounds the problem.

    Completeness4/5

    The tool surface is quite thorough for Float's domain, covering projects, tasks, phases, milestones, time off, holidays, logged time, people, accounts, roles, departments, clients, and reports. Minor gaps exist around some specialized operations, but overall coverage is comprehensive.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers