float-mcp
The Float MCP server is an archived community project that provides comprehensive integration with Float.com's resource management platform through the Model Context Protocol, enabling AI assistants to perform project management, resource allocation, time tracking, and team coordination operations.
Core Capabilities:
Team & People Management - Full CRUD operations on team members, departments, roles, and accounts with permissions and access controls
Project Management - Complete project lifecycle management including phases, milestones, tasks, dependencies, and custom status workflows
Resource Allocation - Schedule team member assignments, manage capacity planning, and track resource utilization
Time Tracking - Log billable/non-billable hours, manage timesheets, time-off requests with approval workflows, and holiday management
Client Management - Maintain client database with associated projects and filtering
Reporting & Analytics - Generate time reports, project reports, utilization metrics, capacity analysis, budget variance, and billable analysis with flexible grouping and filtering
Bulk Operations - Efficiently create multiple entries at once (time off, project tasks, logged time) and bulk update permissions
Technical Features:
4 Optimized Decision-Tree Tools - Consolidated entity management through
manage-entity,manage-project-workflow,manage-time-tracking, andgenerate-reportBackward Compatibility - All original 100+ granular tools remain available alongside optimized tools
Advanced Integration - Built-in rate limiting with exponential backoff, TypeScript/Zod validation, comprehensive logging, Docker containerization, and pagination support (up to 200 items)
Full MCP Compliance - Complete Model Context Protocol integration for AI assistants like Claude
Supports deployment and containerization through Docker with production-ready configuration and Docker Compose support for running the Float MCP server.
Uses environment variable configuration for API keys, logging levels, and other settings through .env file support.
Hosted on GitHub with releases, issue tracking, and discussions for community support and contributions.
Built on Node.js runtime environment requiring version 22.0.0 or later for execution.
Distributed and managed through npm package manager for installation and dependency management.
Plans to support optional Redis caching layer for enhanced performance in future roadmap.
Implemented in TypeScript with full type safety and comprehensive type definitions throughout the codebase.
Supports Yarn package manager as an alternative to npm for dependency installation and management.
Uses Zod schema validation library for runtime type checking and API response validation ensuring data integrity.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@float-mcp show me my team's time logged this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π¦ 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
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
A. DXT Extension (Recommended)
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 install2. 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=info3. Build & Run
# Build the project
npm run build
# Start the MCP server
npm start
# For development with auto-reload
npm run dev4. 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:
π§ Optimized Tools (Recommended)
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-reportAnalytics:
get-person-logged-time-summary,get-project-logged-time-summary
π§ Configuration
Environment Variables
Variable | Description | Required | Default |
| Your Float API key | β Yes | - |
| Float API base URL | β No |
|
| Logging level ( | β No |
|
| Maximum API retry attempts | β No |
|
| API request timeout (ms) | β No |
|
Getting a Float API Key
Log in to your Float account
Go to Settings > API > Personal Access Tokens
Click Generate New Token
Copy the API key
Add it to your
.envfile
π 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-mcpDocker 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 validityRate Limiting
Error: Too Many Requests (429)
# Solution: The server automatically handles rate limiting with exponential backoffConnection Issues
Error: Network timeout
# Solution: Check your internet connection and Float API statusDebug Mode
Enable detailed logging:
LOG_LEVEL=debugThis 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 devCode Quality
# Run linting
npm run lint
# Format code
npm run format
# Type checking
npm run typecheckπ Documentation
API Documentation - Complete API reference
Tool Reference - Detailed tool documentation
Usage Guide - Usage patterns and examples
Integration Testing - Testing guide
Claude Integration - Claude Desktop setup
π 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
π Documentation: See the docs directory
π Bug Reports: GitHub Issues
π¬ Discussions: GitHub Discussions
π·οΈ 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 toolsapprove-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
Scored across 136 tools
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 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.
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.
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
Related MCP Connectors
MCP server for Flux AI image generation
MCP server for freefirecommunity documentation, generated by doc2mcp.
An MCP server for deep research or task groups
Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels.
Related MCP Servers
- MIT
- AlicenseAqualityDmaintenanceAn MCP server for interacting with Discord.19190 npm13MIT
- AlicenseBqualityCmaintenanceMCP server for asking questions about Cortex Cloud documentation619 PyPI4MIT
- AlicenseAqualityDmaintenanceThis MCP server is the official resource of the Flowbite UI framework and enhances development of websites, layouts, and themes using Tailwind CSS2325 npm42MIT