Freedcamp

Freedcamp

gabeosx

Connects to Freedcamp's task management platform to manage tasks directly from your IDE or MCP client. Supports bulk operations and secure authentication for task creation, updates, and deletion.

Integrates with Freedcamp's task management platform to create, update, list, and delete tasks with bulk operations and secure HMAC-SHA1 authentication.

2285 views1Local (stdio)

What it does

  • Create multiple tasks with titles, descriptions, priorities, and due dates
  • Update existing task status and details
  • List all tasks within a project
  • Delete tasks permanently
  • Perform bulk operations across multiple tasks
  • Authenticate securely using HMAC-SHA1

Best for

Teams using Freedcamp for project managementDevelopers wanting task management in their IDEAutomating task creation and updates from code
Bulk operations supportSTDIO and HTTP transport optionsComprehensive error handling

About Freedcamp

Freedcamp is a community-built MCP server published by gabeosx that provides AI assistants with tools and capabilities via the Model Context Protocol. Connect with Freedcamp to seamlessly manage tasks—create, update, and delete with secure HMAC-SHA1 authentication. It is categorized under productivity.

How to install

You can install Freedcamp in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Freedcamp is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Freedcamp MCP Server

npm version license build downloads node GitHub All Releases

This is a Model Context Protocol (MCP) server implementation for Freedcamp task management. It provides tools for creating, updating, listing, and deleting tasks in Freedcamp projects with support for bulk operations.

Available Transport Methods:

  • STDIO Transport - Traditional MCP transport for IDE integrations (Claude Desktop, Cursor, etc.)
  • HTTP Transport - Modern REST API with Server-Sent Events for web applications and cloud deployments

Features

  • Create multiple tasks in a single operation with title, description, priority, due date, and assignee
  • Update existing tasks including status changes
  • List all tasks in a project
  • Delete tasks permanently
  • Bulk operations support for all task management operations
  • Environment variable support for credentials
  • Comprehensive error handling and validation

Prerequisites

  • Node.js 17 or higher
  • TypeScript
  • Freedcamp account with API access
  • API Key and Secret from Freedcamp
  • Project ID from Freedcamp

Installation (for manual invocation only, not necessary for usage with an IDE or other MCP desktop client)

  1. Clone the repository:
git clone <repository-url>
cd freedcamp-mcp
  1. Install dependencies:
npm install
  1. Create a .env file in the root directory with your Freedcamp credentials:
FREEDCAMP_API_KEY=your_api_key
FREEDCAMP_API_SECRET=your_api_secret
FREEDCAMP_PROJECT_ID=your_project_id

Usage

Running the Server

First build the TypeScript code:

npm run build

STDIO Transport (Default)

This is the traditional transport method used by IDEs and MCP clients:

npm start

HTTP Transport

For containerized deployments and HTTP-based integrations:

Development (with .env file):

npm run start:http:test

Production (with environment variables):

npm run start:http

Direct execution:

# With environment variables
FREEDCAMP_API_KEY=your_key FREEDCAMP_API_SECRET=your_secret FREEDCAMP_PROJECT_ID=your_project npm run start:http

# Or using npx
npx freedcamp-mcp --http

The HTTP server will start on port 3000 (or the port specified by the PORT environment variable) and provide:

  • MCP endpoint: http://localhost:3000/mcp
  • Health check: http://localhost:3000/health

HTTP Transport Features:

  • Stateless operation - each request is independent
  • JSON responses with proper error handling
  • CORS support for web applications
  • Built-in health monitoring
  • Suitable for load balancing and clustering

Docker Deployment

For production deployments, you can use Docker to run the HTTP transport:

Using Docker Compose (Recommended)

  1. Create a .env file with your Freedcamp credentials:
FREEDCAMP_API_KEY=your_api_key
FREEDCAMP_API_SECRET=your_api_secret
FREEDCAMP_PROJECT_ID=your_project_id
  1. Start the service:
docker-compose up -d

Using Docker directly

# Build the image
docker build -t freedcamp-mcp .

# Run the container
docker run -d \
  --name freedcamp-mcp \
  -p 3000:3000 \
  -e FREEDCAMP_API_KEY=your_api_key \
  -e FREEDCAMP_API_SECRET=your_api_secret \
  -e FREEDCAMP_PROJECT_ID=your_project_id \
  freedcamp-mcp

The containerized server provides the same MCP functionality via HTTP transport, making it suitable for:

  • Cloud deployments
  • Kubernetes environments
  • Load-balanced setups
  • Integration with HTTP-based MCP clients

Running the Test Harness

The project includes comprehensive test harnesses that verify all MCP functionality for both transport methods:

STDIO Transport Test:

npm test

HTTP Transport Test:

npm run test:http

Both test harnesses perform the following checks:

  1. Server initialization with proper protocol version
  2. Tool listing and capability verification
  3. Single task creation, update, and deletion
  4. Bulk task operations (create, update, delete)
  5. Task listing and verification
  6. Error handling and edge cases

Note: The HTTP test harness requires the HTTP server to be running. Use npm run start:http:test to start the server with test environment variables loaded.

Available Tools

  1. freedcamp_add_task

    • Creates one or more new tasks in Freedcamp
    • Input: Object with tasks array containing task details
    • Task Parameters:
      • title (required): Task title - should be clear and descriptive
      • description (optional): Detailed description of what the task involves
      • priority (optional): Task priority level (0=Low, 1=Normal, 2=High, 3=Urgent)
      • due_date (optional): Due date as Unix timestamp string (e.g., '1735689600' for 2025-01-01)
      • assigned_to_id (optional): User ID to assign the task to (must be valid Freedcamp user ID)
  2. freedcamp_update_task

    • Updates one or more existing tasks in Freedcamp
    • Input: Object with tasks array containing task updates
    • Task Parameters:
      • task_id (required): ID of the task to update (must be valid existing Freedcamp task ID)
      • title (optional): New task title
      • description (optional): New task description
      • priority (optional): New task priority (0=Low, 1=Normal, 2=High, 3=Urgent)
      • due_date (optional): New due date as Unix timestamp string
      • assigned_to_id (optional): User ID to reassign the task to
      • status (optional): New task status (0=Open, 1=Completed, 2=Closed)
  3. freedcamp_list_tasks

    • Retrieves all tasks in the configured Freedcamp project
    • No parameters required (uses project ID from environment variables)
    • Returns task details including ID, title, status, and other metadata
  4. freedcamp_delete_task

    • Permanently deletes one or more tasks from Freedcamp
    • Input: Object with tasks array containing task IDs to delete
    • Task Parameters:
      • task_id (required): ID of the task to delete (WARNING: This action cannot be undone)

Example Usage

Creating multiple tasks:

{
  "tasks": [
    {
      "title": "Setup project structure",
      "description": "Initialize the basic project folder structure",
      "priority": 2,
      "due_date": "1735689600"
    },
    {
      "title": "Implement authentication",
      "description": "Add user login and registration functionality",
      "priority": 3,
      "assigned_to_id": "12345"
    }
  ]
}

Updating multiple tasks:

{
  "tasks": [
    {
      "task_id": "67890",
      "status": 1,
      "description": "Updated: Added OAuth integration"
    },
    {
      "task_id": "67891",
      "priority": 3,
      "due_date": "1735776000"
    }
  ]
}

Deleting multiple tasks:

{
  "tasks": [
    {
      "task_id": "67892"
    },
    {
      "task_id": "67893"
    }
  ]
}

IDE Integration

The server can be run directly using npx without cloning the repository. Choose between STDIO transport (traditional) or HTTP transport (modern) based on your needs.

Cursor

Option 1: STDIO Transport (Default)

  1. Open (or create) .cursor/mcp.json in your project root.
  2. Add your Freedcamp MCP server configuration:
    {
      "mcpServers": {
        "freedcamp": {
          "command": "npx",
          "args": ["freedcamp-mcp"],
          "env": {
            "FREEDCAMP_API_KEY": "your_api_key",
            "FREEDCAMP_API_SECRET": "your_api_secret",
            "FREEDCAMP_PROJECT_ID": "your_project_id"
          }
        }
      }
    }
    
  3. Restart Cursor or reload MCP servers.

Option 2: HTTP Transport

  1. First, start the HTTP server (in a separate terminal):
    npx freedcamp-mcp --http
    # Or with environment variables:
    FREEDCAMP_API_KEY=your_key FREEDCAMP_API_SECRET=your_secret FREEDCAMP_PROJECT_ID=your_project npx freedcamp-mcp --http
    
  2. Configure Cursor to use HTTP transport:
    {
      "mcpServers": {
        "freedcamp": {
          "transport": "http",
          "url": "http://localhost:3000/mcp"
        }
      }
    }
    
  3. Restart Cursor or reload MCP servers.

Claude Desktop

Option 1: STDIO Transport (Default)

  1. Open (or create) ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%/Claude/claude_desktop_config.json on Windows.
  2. Add your Freedcamp MCP server configuration:
    {
      "mcpServers": {
        "freedcamp": {
          "command": "npx",
          "args": ["freedcamp-mcp"],
          "env": {
            "FREEDCAMP_API_KEY": "your_api_key",
            "FREEDCAMP_API_SECRET": "your_api_secret",
            "FREEDCAMP_PROJECT_ID": "your_project_id"
          }
        }
      }
    }
    
  3. Restart Claude Desktop.

Option 2: HTTP Transport

  1. Start the HTTP server:
    npx freedcamp-mcp --http
    
  2. Configure Claude Desktop to use HTTP transport:
    {
      "mcpServers": {
        "freedcamp": {
          "transport": "http",
          "url": "http://localhost:3000/mcp"
        }
      }
    }
    
  3. Restart Claude Desktop.

Roo

Option 1: STDIO Transport (Default)

  1. Open (or create) your Roo MCP config file (commonly roo.mcp.json or similar).
  2. Add your Freedcamp MCP server configuration:
    {
      "mcpServers": {
        "Freedcamp": {
          "transport": "stdio",
          "com
    

README truncated. View full README on GitHub.

Alternatives

Related Skills

Browse all skills
ai-assisted-development

Leveraging AI coding assistants and tools to boost development productivity, while maintaining oversight to ensure quality results.

4
teams-channel-post-writer

Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.

4
cto-engineering-metrics

Expert methodology for defining, tracking, and interpreting engineering performance metrics including DORA, team health, productivity, and executive reporting.

4
personal-assistant

This skill should be used whenever users request personal assistance tasks such as schedule management, task tracking, reminder setting, habit monitoring, productivity advice, time management, or any query requiring personalized responses based on user preferences and context. On first use, collects comprehensive user information including schedule, working habits, preferences, goals, and routines. Maintains an intelligent database that automatically organizes and prioritizes information, keeping relevant data and discarding outdated context.

3
productivity-helper

Boost your productivity with automated task management

2
cursor-local-dev-loop

Optimize local development workflow with Cursor. Triggers on "cursor workflow", "cursor development loop", "cursor productivity", "cursor daily workflow". Use when working with cursor local dev loop functionality. Trigger with phrases like "cursor local dev loop", "cursor loop", "cursor".

2