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
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)
- Clone the repository:
git clone <repository-url>
cd freedcamp-mcp
- Install dependencies:
npm install
- 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:
- Server initialization with proper protocol version
- Tool listing and capability verification
- Task creation with various parameters
- Task updates including status changes
- Task listing and verification
Available Tools
-
freedcamp_add_task
- Creates a new task in Freedcamp
- Parameters:
title
(required): Task titledescription
(optional): Task descriptionpriority
(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
-
freedcamp_update_task
- Updates an existing task
- Parameters:
task_id
(required): ID of the task to updatetitle
(optional): New task titledescription
(optional): New task descriptionpriority
(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 tostatus
(optional): New task status (0=open, 1=completed, 2=closed)
-
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
- Open (or create)
.cursor/mcp.json
in your project root. - 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" } } } }
- Restart Cursor or reload MCP servers.
Roo
- Open (or create) your Roo MCP config file (commonly
roo.mcp.json
or similar). - 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" } } } }