mcpField
F
Freedcamp

Freedcamp

本地服务
github.com/gabeosx生产力467 周前更新

关于 Freedcamp

Freedcamp 是用于管理 Freedcamp 项目任务的 MCP 服务,适合希望通过 MCP 客户端创建和维护任务的用户。它支持批量任务操作,并提供 STDIO 与 HTTP 两种传输方式。

主要功能

  1. 01创建含负责人和截止日期的任务
  2. 02更新任务详情与状态
  3. 03列出项目任务
  4. 04批量删除任务
  5. 05支持 STDIO 和 HTTP 传输

适用场景

  1. 01一次创建多个项目任务
  2. 02更改任务优先级、负责人或状态
  3. 03通过 MCP 客户端查看或删除项目任务

MCP 相关

该服务向 MCP 客户端提供 Freedcamp 任务的创建、更新、列出和删除工具,并支持批量操作。传输方式包括 STDIO 和 HTTP。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"freedmcpcamp": {
"command": "npx",
"args": [
"-y",
"freedcamp-mcp"
],
"env": {
"FREEDCAMP_API_KEY": "<FREEDCAMP_API_KEY>",
"FREEDCAMP_API_SECRET": "<FREEDCAMP_API_SECRET>",
"FREEDCAMP_PROJECT_ID": "<FREEDCAMP_PROJECT_ID>"
}
}
}
}
启动命令npx -y freedcamp-mcp
需要配置的环境变量
FREEDCAMP_API_KEY密钥
FREEDCAMP_API_SECRET密钥
FREEDCAMP_PROJECT_ID

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfreedcamp-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Freedcamp MCP 服务

npm version license build downloads node GitHub All Releases

这是一个用于 Freedcamp 任务管理的模型上下文协议(MCP)服务实现。它提供了在 Freedcamp 项目中创建、更新、列出和删除任务的工具,并支持批量操作。

可用传输方式:

  • STDIO 传输 - 适用于 IDE 集成(Claude Desktop、Cursor 等)的传统 MCP 传输方式
  • HTTP 传输 - 面向 Web 应用和云部署的现代 REST API,支持服务器发送事件

功能

  • 单次操作即可创建多个任务,并设置标题、描述、优先级、截止日期和受派人
  • 更新现有任务,包括更改状态
  • 列出项目中的所有任务
  • 永久删除任务
  • 支持所有任务管理操作的批量处理
  • 支持通过环境变量配置凭据
  • 完善的错误处理和验证

前提条件

  • Node.js 17 或更高版本
  • TypeScript
  • 拥有 API 访问权限的 Freedcamp 账户
  • Freedcamp 的 API Key 和 Secret
  • Freedcamp 的项目 ID

安装(仅用于手动调用;通过 IDE 或其他 MCP 桌面客户端使用时无需安装)

  1. 克隆仓库:
git clone <repository-url>
cd freedcamp-mcp
  1. 安装依赖项:
npm install
  1. 在根目录中创建 .env 文件,并填入 Freedcamp 凭据:
FREEDCAMP_API_KEY=your_api_key
FREEDCAMP_API_SECRET=your_api_secret
FREEDCAMP_PROJECT_ID=your_project_id

用法

运行服务

首先构建 TypeScript 代码:

npm run build
STDIO 传输(默认)

这是 IDE 和 MCP 客户端使用的传统传输方式:

npm start
HTTP 传输

适用于容器化部署和基于 HTTP 的集成:

开发环境(使用 .env 文件):

npm run start:http:test

生产环境(使用环境变量):

npm run start:http

直接执行:

# 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

HTTP 服务将在端口 3000 上启动(或使用 PORT 环境变量指定的端口),并提供:

  • MCP 端点:http://localhost:3000/mcp
  • 健康检查:http://localhost:3000/health

HTTP 传输功能:

  • 无状态运行——每个请求彼此独立
  • 提供 JSON 响应并妥善处理错误
  • 支持 Web 应用的 CORS
  • 内置健康监控
  • 适用于负载均衡和集群部署
Docker 部署

在生产环境中,可以使用 Docker 运行 HTTP 传输:

使用 Docker Compose(推荐)
  1. 创建 .env 文件并填入 Freedcamp 凭据:
FREEDCAMP_API_KEY=your_api_key
FREEDCAMP_API_SECRET=your_api_secret
FREEDCAMP_PROJECT_ID=your_project_id
  1. 启动服务:
docker-compose up -d
直接使用 Docker
# 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

容器化服务通过 HTTP 传输提供相同的 MCP 功能,适用于:

  • 云部署
  • Kubernetes 环境
  • 负载均衡部署
  • 与基于 HTTP 的 MCP 客户端集成
运行测试套件

项目包含全面的测试套件,可验证两种传输方式的所有 MCP 功能:

STDIO 传输测试:

npm test

HTTP 传输测试:

npm run test:http

两个测试套件都会执行以下检查:

  1. 使用正确的协议版本初始化服务
  2. 列出工具并验证功能
  3. 创建、更新和删除单个任务
  4. 批量任务操作(创建、更新、删除)
  5. 列出并验证任务
  6. 错误处理和边缘情况

注意: HTTP 测试套件要求 HTTP 服务正在运行。使用 npm run start:http:test 可在加载测试环境变量后启动服务。

可用工具
  1. freedcamp_add_task

    • 在 Freedcamp 中创建一个或多个新任务
    • 输入:包含任务详情的 tasks 数组对象
    • 任务参数:
      • title(必填):任务标题,应清晰且具有描述性
      • description(可选):任务内容的详细说明
      • priority(可选):任务优先级(0=低,1=普通,2=高,3=紧急)
      • due_date(可选):Unix 时间戳字符串形式的截止日期(例如,2025-01-01 对应 '1735689600')
      • assigned_to_id(可选):要将任务分配给的用户 ID(必须是有效的 Freedcamp 用户 ID)
  2. freedcamp_update_task

    • 更新 Freedcamp 中一个或多个现有任务
    • 输入:包含任务更新内容的 tasks 数组对象
    • 任务参数:
      • task_id(必填):要更新的任务 ID(必须是有效的现有 Freedcamp 任务 ID)
      • title(可选):新的任务标题
      • description(可选):新的任务说明
      • priority(可选):新的任务优先级(0=低,1=普通,2=高,3=紧急)
      • due_date(可选):新的截止日期,格式为 Unix 时间戳字符串
      • assigned_to_id(可选):要重新分配任务给的用户 ID
      • status(可选):新的任务状态(0=打开,1=已完成,2=已关闭)
  3. freedcamp_list_tasks

    • 获取已配置 Freedcamp 项目中的所有任务
    • 无需参数(使用环境变量中的项目 ID)
    • 返回任务详情,包括 ID、标题、状态和其他元数据
  4. freedcamp_delete_task

    • 从 Freedcamp 中永久删除一个或多个任务
    • 输入:包含待删除任务 ID 的 tasks 数组对象
    • 任务参数:
      • task_id(必填):要删除的任务 ID(警告:此操作无法撤销)
使用示例

创建多个任务:

{
  "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"
    }
  ]
}

更新多个任务:

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

删除多个任务:

{
  "tasks": [
    {
      "task_id": "67892"
    },
    {
      "task_id": "67893"
    }
  ]
}
IDE 集成

无需克隆仓库,即可直接使用 npx 运行此服务。根据需要选择 STDIO 传输方式(传统)或 HTTP 传输方式(现代)。

Cursor

选项 1:STDIO 传输方式(默认)

  1. 在项目根目录中打开(或创建).cursor/mcp.json。
  2. 添加 Freedcamp MCP 服务配置:
    {
      "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. 重启 Cursor 或重新加载 MCP 服务。

选项 2:HTTP 传输方式

  1. 首先启动 HTTP 服务(在单独的终端中):
    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. 配置 Cursor 使用 HTTP 传输方式:
    {
      "mcpServers": {
        "freedcamp": {
          "transport": "http",
          "url": "http://localhost:3000/mcp"
        }
      }
    }
    
  3. 重启 Cursor 或重新加载 MCP 服务。
Claude Desktop

选项 1:STDIO 传输方式(默认)

  1. 在 macOS 上打开(或创建)~/Library/Application Support/Claude/claude_desktop_config.json,或在 Windows 上打开(或创建)%APPDATA%/Claude/claude_desktop_config.json。
  2. 添加 Freedcamp MCP 服务配置:
    {
      "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. 重启 Claude Desktop。

选项 2:HTTP 传输方式

  1. 启动 HTTP 服务:
    npx freedcamp-mcp --http
    
  2. 配置 Claude Desktop 使用 HTTP 传输方式:
    {
      "mcpServers": {
        "freedcamp": {
          "transport": "http",
          "url": "http://localhost:3000/mcp"
        }
      }
    }
    
  3. 重启 Claude Desktop。
Roo

选项 1:STDIO 传输方式(默认)

  1. 打开(或创建)Roo MCP 配置文件(通常为 roo.mcp.json 或类似文件)。
  2. 添加 Freedcamp MCP 服务配置:
    {
      "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"
          }
        }
      }
    }
    

选项 2:HTTP 传输方式

  1. 启动 HTTP 服务:
    npx freedcamp-mcp --http
    
  2. 配置 Roo 使用 HTTP 传输方式:
    {
      "mcpServers": {
        "Freedcamp": {
          "transport": "http",
          "url": "http://localhost:3000/mcp"
        }
      }
    }
    

API 参考

如需了解 Freedcamp API 的详细信息,请访问:https://freedcamp.com/api-docs

许可证

MIT 许可证,详情请参阅 LICENSE 文件。

参与贡献

欢迎贡献!欢迎提交 Pull Request。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。