freedmcpcamp

freedmcpcamp

1

The Freedcamp MCP Server is an MCP implementation designed for managing Freedcamp tasks, with functionalities to create, update, and delete tasks. It supports environments with Node.js and TypeScript and integrates with IDEs using server configuration.

Freedcamp MCP Server

npm version 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, and deleting tasks in Freedcamp projects.

Features

  • Create new tasks with title, description, priority, due date, and assignee
  • Update existing tasks including status changes
  • Delete tasks
  • Environment variable support for credentials
  • 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

Then start the server:

npm start

Running the Test Harness

The project includes a comprehensive test harness that verifies all MCP functionality:

npm test

The test harness performs the following checks:

  1. Server initialization with proper protocol version
  2. Tool listing and capability verification
  3. Task creation with various parameters
  4. Task updates including status changes
  5. Task listing and verification

Available Tools

  1. freedcamp_add_task

    • Creates a new task in Freedcamp
    • Parameters:
      • title (required): Task title
      • description (optional): Task description
      • priority (optional): Task priority (0-3)
      • due_date (optional): Task due date (YYYY-MM-DD)
      • assigned_to_id (optional): User ID to assign the task to
  2. freedcamp_update_task

    • Updates an existing task
    • Parameters:
      • task_id (required): ID of the task to update
      • title (optional): New task title
      • description (optional): New task description
      • priority (optional): New task priority (0-3)
      • due_date (optional): New due date (YYYY-MM-DD)
      • assigned_to_id (optional): New user ID to assign the task to
      • status (optional): New task status (0=open, 1=completed, 2=closed)
  3. freedcamp_list_tasks

    • Lists all tasks in the configured Freedcamp project
    • No parameters required (uses project ID from environment variables)
    • Returns a list of tasks with their details

IDE Integration

The server can be run directly using npx without cloning the repository.

Cursor
  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.
Roo
  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",
          "command": "npx",
          "args": ["freedcamp-mcp"],
          "env": {
            "FREEDCAMP_API_KEY": "your_api_key",
            "FREEDCAMP_API_SECRET": "your_api_secret",
            "FREEDCAMP_PROJECT_ID": "your_project_id"
          }
        }
      }
    }