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 dayong@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.
WIP
Currently only these tools are enabled:
freelo_get_task- Get detailed task informationfreelo_download_file- Download file attachments (base64 or save to temp file)
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