freelo-mcp-server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FREELO_EMAIL | Yes | Freelo account email | |
| FREELO_API_KEY | Yes | Freelo API key | |
| FREELO_READONLY | No | Enable readonly mode | |
| FREELO_AUDIT_LOG | No | Audit log path | |
| FREELO_USER_AGENT | No | Custom User-Agent | |
| FREELO_AUDIT_ENABLED | No | Enable/disable audit | |
| FREELO_AUDIT_WEBHOOK | No | Webhook URL |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| freelo_get_projectsA | Fetches your own active projects in Freelo. Returns only projects that you own. For all accessible projects, use freelo_get_all_projects. |
| freelo_get_all_projectsA | Fetches all projects in Freelo - both owned and shared. Supports pagination. |
| freelo_get_project_detailsB | Fetches detailed information about a specific project including workers, tasklists, and settings. |
| freelo_get_project_workersB | Fetches all workers (team members) assigned to a specific project. |
| freelo_get_all_tasksA | Fetches all tasks across all projects with filtering. Supports search, project/tasklist filter, label filter, date ranges, worker assignment, and pagination. |
| freelo_get_task_detailsA | Fetches complete details about a specific task including name, description, assignees, due date, priority, status, labels, and metadata. Use after finding tasks with freelo_get_all_tasks. |
| freelo_get_task_descriptionA | Fetches only the description content of a task. More lightweight than freelo_get_task_details when you only need the description text. |
| freelo_get_finished_tasksA | Fetches completed/finished tasks from a specific tasklist. For finished tasks across all projects, use freelo_get_all_tasks with state_id=2. |
| freelo_get_public_linkA | Generates or retrieves a public sharing link for a task. Anyone with this link can view task details without logging in. |
| freelo_create_taskB | Creates a new task in a specific tasklist. Task is created in active state. |
| freelo_create_task_from_templateA | Creates a new task based on an existing template task. The new task inherits the template's name, description, and structure. |
| freelo_edit_taskA | Updates an existing task. Can modify name, assignment, due date, or priority. For description updates, use freelo_update_task_description. |
| freelo_update_task_descriptionA | Updates only the description of a task. Supports plain text or markdown. Previous description is replaced completely. |
| freelo_finish_taskA | Marks a task as finished/completed. Task is moved to finished state, preserving all data. Can be reactivated with freelo_activate_task. |
| freelo_activate_taskA | Reactivates a finished task, moving it back to active state. Use when a completed task needs to be reopened. |
| freelo_get_project_tasklistsA | Fetches all tasklists within a project. Tasklists organize tasks into logical groups (e.g., "To Do", "In Progress", "Done"). Use after freelo_get_projects to drill down into project structure. |
| freelo_get_tasklist_detailsA | Fetches detailed information about a specific tasklist including name, description, color, workers, and settings. |
| freelo_get_subtasksA | Fetches all subtasks belonging to a parent task. Returns subtasks with their names, statuses, and assignments. |
| freelo_create_subtaskA | Creates a subtask under an existing task. Subtasks help break down complex tasks into smaller pieces. |
| freelo_get_all_commentsA | Fetches all comments across projects with filtering and sorting. Includes discussions on tasks, documents, files, and links. |
| freelo_get_usersA | Fetches all users in the Freelo workspace. Returns user list with names, emails, IDs, and roles. Essential for getting user IDs before assigning tasks. |
| freelo_get_assignable_workersA | Fetches users who can be assigned to tasks in a specific tasklist. Use before creating or assigning tasks to ensure the assignee has access. |
| freelo_start_time_trackingA | Starts real-time time tracking for a task. Creates an active timer that runs until stopped with freelo_stop_time_tracking. |
| freelo_stop_time_trackingA | Stops the currently active time tracking session. Calculates elapsed time and automatically creates a work report. |
| freelo_get_work_reportsA | Fetches work reports (time entries) with filtering. Essential for billing, productivity analysis, and project reporting. |
| freelo_create_work_reportA | Creates a new work report (time entry) for a task. Use after completing work for timesheet entry. |
| freelo_update_work_reportA | Updates an existing work report. Use to correct time entries or add descriptions. |
| freelo_get_noteA | Fetches a specific note by ID, including title, content, and metadata. Notes are standalone documents for project documentation. |
| freelo_create_noteA | Creates a new note in a project. Notes are standalone documents for project documentation, meeting minutes, or specifications. |
| freelo_update_noteA | Updates an existing note's title or content. All fields are optional - only provide what needs to change. |
| freelo_get_all_statesA | Fetches all available task states in Freelo. States represent task lifecycle (1=active, 2=finished). Essential for state_id filters. |
| freelo_search_elasticsearchA | Performs full-text search across Freelo using Elasticsearch. Searches tasks, subtasks, projects, tasklists, files, and comments. |
| freelo_get_tasks_by_filter_uuidA | Fetches tasks using a custom filter UUID. Custom filters are pre-configured task searches with multiple criteria. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
Several tools have overlapping scopes: freelo_get_projects vs freelo_get_all_projects, freelo_get_task_details vs freelo_get_task_description, and freelo_get_finished_tasks vs filtered freelo_get_all_tasks. The descriptions help clarify boundaries, but the similarity is enough to cause misselection. Most tools target distinct entities, but the overlaps prevent a higher score.
The freelo_ prefix and verb_noun structure are used consistently across most tools, making the surface predictable. Minor deviations exist: freelo_edit_task uses 'edit' while related tools use 'update', and freelo_search_elasticsearch uses a product name rather than a noun. These are small enough not to break the overall pattern.
33 tools is well beyond the 25+ threshold and includes several near-duplicate getters such as freelo_get_projects/freelo_get_all_projects, freelo_get_task_details/freelo_get_task_description, and freelo_get_finished_tasks plus filtered freelo_get_all_tasks. While Freelo is a broad PM platform, the toolset could be consolidated significantly without losing capability.
The surface covers a broad read/create/update landscape, but has clear dead ends: comments can only be listed, subtasks can only be created and read, notes cannot be listed, and there is no delete task or project creation. Common PM operations like adding a comment or removing a task would fail, so the set is not sufficiently complete.