JUHE API Marketplace
BluePointDigital avatar
MCP Server

Freedcamp MCP Server

A Model Context Protocol server that enables seamless integration with Freedcamp API for enterprise-level project management with advanced filtering, full CRUD operations, and extensive customization options.

1
GitHub Stars
8/23/2025
Last Updated
No Configuration
Please check the documentation below.

README Documentation

🚀 Enhanced Freedcamp MCP Server

A comprehensive Model Context Protocol (MCP) server for seamless integration with the Freedcamp API. This server provides enterprise-level project management capabilities with advanced filtering, full CRUD operations, and extensive customization options.

✨ Features

🏗️ Project Management

  • List projects with optional recent project tracking
  • Detailed project information including users, notifications, and capabilities
  • Create/Update/Delete projects with user management
  • Manage project teams (add, update, remove users)
  • Group management and project organization

📋 Advanced Task Management

  • Comprehensive task filtering with 15+ filter options:
    • Status filtering (not started, completed, in progress)
    • User assignment filtering (assigned to, created by)
    • Date range filtering (due dates, creation dates)
    • Priority-based filtering and ordering
    • Custom fields and tags support
  • Full task lifecycle - Create, Read, Update, Delete
  • Subtask support with parent-child relationships
  • File attachments and media management
  • Recurring tasks with iCalendar format support
  • Pagination and ordering for large datasets

👥 User Management

  • Complete user profiles with detailed information
  • Current user management and profile updates
  • User task assignments and workload tracking
  • Email and password management with secure token handling

💬 Comment System

  • Add/Update/Delete comments on tasks and items
  • File attachments in comments
  • Rich text support with HTML formatting
  • Comment threading and user attribution

📁 File Management

  • File details and metadata access
  • File deletion and cleanup
  • Multi-format support (images, documents, etc.)
  • Temporary file handling for uploads

🛠️ Installation & Setup

Prerequisites

  • Docker and Docker Compose
  • Freedcamp API credentials (API Key)

Quick Start

  1. Clone the repository:
git clone https://github.com/BluePointDigital/freedcamp-mcp-server.git
cd freedcamp-mcp-server
  1. Set up environment variables:
cp env-example.sh .env
# Edit .env and add your Freedcamp credentials
  1. Start the services:
docker-compose up -d
  1. Access the API:

🔧 Configuration

Environment Variables

Create a .env file with your Freedcamp credentials:

FREEDCAMP_API_KEY=your_api_key_here
FREEDCAMP_API_SECRET=your_api_secret_here  # Optional for some endpoints

Docker Configuration

The included docker-compose.yml provides:

  • Health checks for service monitoring
  • Restart policies for reliability
  • Resource limits for optimal performance
  • Network isolation for security

🔥 Workflow Instructions for LLMs

IMPORTANT: This MCP server includes comprehensive workflow guidance to ensure proper usage:

  1. Server Description: Built-in instructions provided when LLMs first connect
  2. get_workflow_help() Tool: Contextual workflow guidance for specific operations
  3. Enhanced Tool Docstrings: Workflow reminders in critical tools like create_task()
  4. Workflow Documentation: See freedcamp-workflow-instructions.md for detailed guidance

Key Rule: Always call get_projects() and get_users() first to look up IDs before using them in operations!

📚 API Reference

🏗️ Project Tools

ToolDescriptionParameters
get_projectsList all projects with groupinginclude_recent: bool
get_project_detailsDetailed project informationproject_id: str
create_projectCreate new project with teamname, description, color, users...
update_projectUpdate project and manage usersproject_id, name, users_to_add...
delete_projectRemove projectproject_id: str

📋 Task Tools

ToolDescriptionKey Features
get_all_tasksAdvanced task filtering15+ filter options, pagination
get_project_tasksProject-specific tasksStatus filtering, custom fields
get_user_tasksUser assignment trackingCompleted task inclusion
get_task_detailsComplete task informationComments, files, custom fields
create_taskEnhanced task creationSubtasks, files, recurring rules
update_taskFull task modificationAll properties, custom fields
delete_taskTask removalCascade handling

👥 User Tools

ToolDescriptionCapabilities
get_usersList all workspace usersFull profile data
get_current_userCurrent user informationProfile details
get_user_detailsSpecific user datauser_id: str
update_current_userProfile managementEmail, password, timezone

💬 Comment Tools

ToolDescriptionFeatures
add_commentCreate commentsFile attachments, HTML support
update_commentModify commentsRich text editing
delete_commentRemove commentsClean deletion

📁 File Tools

ToolDescriptionCapabilities
get_file_detailsFile informationMetadata, URLs, thumbnails
delete_fileFile removalClean deletion

🔍 Usage Examples

Advanced Task Filtering

# Get overdue high-priority tasks assigned to specific users
await get_all_tasks(
    status_filter=["0", "2"],  # Not started or in progress
    assigned_to_ids=["123", "456"],
    due_date_to="2024-01-01",  # Overdue
    order_by="priority",
    order_direction="desc",
    limit=50
)

Project Team Management

# Add users to a project
await update_project(
    project_id="789",
    users_to_add=[
        {"email": "user@example.com", "first_name": "John", "last_name": "Doe"},
        {"email": "admin@example.com", "first_name": "Jane", "last_name": "Admin"}
    ]
)

Task Creation with Subtasks

# Create a parent task with subtasks and files
parent_task = await create_task(
    title="Main Project Phase",
    project_id="123",
    priority=3,  # High priority
    due_date="2024-12-31"
)

# Create subtask
await create_task(
    title="Subtask 1",
    project_id="123",
    parent_task_id=parent_task["task"]["id"],
    attached_file_ids=[456, 789]
)

🏗️ Architecture

Components

  • FastMCP Core: High-performance MCP server framework
  • Freedcamp API Client: Secure, authenticated API wrapper
  • MCPO Proxy: OpenAPI generation and REST interface
  • Docker Environment: Containerized deployment with health monitoring

Key Features

  • Robust Error Handling: Comprehensive error management and logging
  • Data Formatting: Consistent response structures across all endpoints
  • Security: Secure credential management and API authentication
  • Performance: Optimized queries with pagination and filtering
  • Reliability: Health checks, restart policies, and connection management

🐳 Deployment

Production Deployment

  1. Environment Setup:
# Production environment file
FREEDCAMP_API_KEY=prod_api_key
FREEDCAMP_API_SECRET=prod_api_secret
  1. Service Scaling:
docker-compose up -d --scale freedcamp-fastapi=3
  1. Health Monitoring:
docker-compose ps  # Check service health
docker-compose logs -f  # Monitor logs

Development Mode

# Start with hot-reload
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up

🔧 Development

Project Structure

freedcamp-mcp-server/
├── freedcamp_mcp.py          # Main MCP server implementation
├── docker-compose.yml        # Docker services configuration
├── Dockerfile               # Container definition
├── requirements.txt         # Python dependencies
├── healthcheck.py          # Health monitoring
├── .env                    # Environment variables
├── .gitignore             # Git ignore rules
└── README.md              # This file

Adding New Features

  1. Implement the method in FreedcampMCP class
  2. Add the tool decorator in _setup_tools()
  3. Update documentation and examples
  4. Test with Docker Compose

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

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

🆘 Support

🎯 Roadmap

  • File Upload Support: Direct file upload capabilities
  • Webhook Integration: Real-time notifications
  • Advanced Reporting: Analytics and reporting tools
  • Bulk Operations: Mass task and project management
  • Custom Field Templates: Dynamic custom field management
  • Integration Tests: Comprehensive test suite
  • Performance Optimization: Query caching and optimization

⭐ Star this repository if it helps you manage your Freedcamp projects more effectively!

Made with ❤️ for the Freedcamp and MCP communities.

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source