Attanon/freelo-mcp
If you are the rightful owner of freelo-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Freelo MCP Server is a Model Context Protocol server designed to interact with the Freelo.io project management API, providing a suite of tools for efficient project and task management.
freelo_list_projects
List active projects
freelo_get_all_projects
Get all projects with pagination
freelo_create_project
Create a new project
freelo_list_tasks
List tasks in a tasklist
freelo_start_timer
Start time tracking
WIP
Freelo MCP Server
An MCP (Model Context Protocol) server that provides tools to interact with the Freelo.io project management API.
Features
- Project Management: Create, list, archive, and manage projects
- Task Management: Create, update, move, and track tasks
- Tasklist Management: Create and manage tasklists
- Time Tracking: Start/stop timers and create work reports
- Comments: Add comments to tasks
- Search & Filtering: Advanced search and filtering capabilities
Installation
- Clone this repository
- Install dependencies:
npm install
- Build the TypeScript code:
npm run build
Configuration
Create a .env
file in the root directory (copy from .env.example
):
FREELO_EMAIL=your@email.com
FREELO_API_KEY=your-api-key-from-freelo-settings
FREELO_USER_AGENT=FreeloMCP/1.0 (your@email.com)
You can find your API key in your Freelo settings.
Usage with Claude Desktop
Add the server to your Claude Desktop configuration:
- Open Claude Desktop settings
- Go to Developer > Model Context Protocol
- Add the following configuration:
{
"mcpServers": {
"freelo": {
"command": "node",
"args": ["/path/to/freelo-mcp/dist/index.js"],
"env": {
"FREELO_EMAIL": "your@email.com",
"FREELO_API_KEY": "your-api-key"
}
}
}
}
Usage with Claude Code
Run this command to add the MCP server. It will add mcp server global for all projects.
claude mcp add --scope user freelo -e FREELO_EMAIL="your@email.com" -e FREELO_API_KEY="your-api-key" -- node [path-to-cloned-directory]/dist/index.js
Available Tools
Project Management
freelo_list_projects
- List active projectsfreelo_get_all_projects
- Get all projects with paginationfreelo_get_project
- Get detailed project informationfreelo_create_project
- Create a new projectfreelo_archive_project
- Archive a projectfreelo_activate_project
- Activate an archived projectfreelo_delete_project
- Delete a project permanently
Task Management
freelo_list_tasks
- List tasks in a tasklistfreelo_get_all_tasks
- Search tasks across all projectsfreelo_get_task
- Get detailed task informationfreelo_create_task
- Create a new taskfreelo_update_task
- Update task propertiesfreelo_finish_task
- Mark task as finishedfreelo_activate_task
- Reactivate a finished taskfreelo_move_task
- Move task to another tasklistfreelo_delete_task
- Delete a task permanently
Tasklist Management
freelo_list_tasklists
- List all tasklistsfreelo_get_tasklist
- Get tasklist detailsfreelo_create_tasklist
- Create a new tasklist
Time Tracking
freelo_start_timer
- Start time trackingfreelo_stop_timer
- Stop time trackingfreelo_create_work_report
- Create a work reportfreelo_list_work_reports
- List work reports with filters
Comments
freelo_add_comment
- Add a comment to a taskfreelo_list_comments
- List all comments
Example Usage
Here are some example prompts you can use with Claude:
-
List all active projects:
Use the freelo tools to show me all my active projects
-
Create a new project:
Create a new Freelo project called "Website Redesign" with EUR currency
-
Search for tasks:
Find all unfinished tasks assigned to me that are due this week
-
Start time tracking:
Start tracking time on task ID 12345 with a note "Working on API integration"
-
Create a work report:
Log 2 hours of work for task 12345 for today with note "Completed API endpoints"
Development
Scripts
npm run dev
- Run in development mode with hot reloadnpm run build
- Build the TypeScript codenpm run typecheck
- Run TypeScript type checking
Project Structure
src/
āāā index.ts # MCP server entry point
āāā client/
ā āāā FreeloClient.ts # API client with authentication
ā āāā types.ts # TypeScript types
āāā tools/
ā āāā projects.ts # Project management tools
ā āāā tasks.ts # Task management tools
ā āāā tasklists.ts # Tasklist tools
ā āāā comments.ts # Comment tools
ā āāā timetracking.ts # Time tracking tools
āāā utils/
āāā formatters.ts # Data formatting utilities
āāā validators.ts # Input validation
API Rate Limiting
The Freelo API has a rate limit of 25 requests per minute. The MCP server automatically handles rate limiting to ensure compliance.
Error Handling
The server provides detailed error messages for:
- Authentication failures (401)
- Resource not found (404)
- Rate limit exceeded (429)
- Server errors (5xx)
- Invalid input parameters
License
MIT