Skip to main content
Glama
gabeosx

freedcamp

by gabeosx

Freedcamp MCP 服务器

npm 版本执照 建造 下载 节点 GitHub 所有版本

这是 Freedcamp 任务管理的模型上下文协议 (MCP) 服务器实现。它提供了在 Freedcamp 项目中创建、更新和删除任务的工具。

特征

  • 创建具有标题、描述、优先级、截止日期和受让人的新任务

  • 更新现有任务,包括状态变化

  • 删除任务

  • 凭证的环境变量支持

  • 错误处理和验证

Related MCP server: MCP Tasks

先决条件

  • Node.js 17 或更高版本

  • TypeScript

  • 具有 API 访问权限的 Freedcamp 帐户

  • 来自 Freedcamp 的 API 密钥和秘密

  • 来自 Freedcamp 的项目 ID

安装(仅用于手动调用,不需要与 IDE 或其他 MCP 桌面客户端一起使用)

  1. 克隆存储库:

git clone <repository-url>
cd freedcamp-mcp
  1. 安装依赖项:

npm install
  1. 使用您的 Freedcamp 凭据在根目录中创建一个.env文件:

FREEDCAMP_API_KEY=your_api_key
FREEDCAMP_API_SECRET=your_api_secret
FREEDCAMP_PROJECT_ID=your_project_id

用法

运行服务器

首先构建 TypeScript 代码:

npm run build

然后启动服务器:

npm start

运行测试工具

该项目包括一个全面的测试工具,可验证所有 MCP 功能:

npm test

测试工具执行以下检查:

  1. 使用适当的协议版本进行服务器初始化

  2. 工具清单和能力验证

  3. 使用各种参数创建任务

  4. 任务更新,包括状态变化

  5. 任务列表和验证

可用工具

  1. freedcamp_add_task

    • 在 Freedcamp 中创建新任务

    • 参数:

      • title (必填):任务标题

      • description (可选):任务描述

      • priority (可选):任务优先级(0-3)

      • due_date (可选):任务截止日期(YYYY-MM-DD)

      • assigned_to_id (可选):分配任务的用户 ID

  2. freedcamp_update_task

    • 更新现有任务

    • 参数:

      • task_id (必需):要更新的任务的ID

      • title (可选):新任务标题

      • description (可选):新任务描述

      • priority (可选):新任务优先级(0-3)

      • due_date (可选):新的到期日(YYYY-MM-DD)

      • assigned_to_id (可选):分配任务的新用户 ID

      • status (可选):新任务状态(0=打开,1=完成,2=关闭)

  3. freedcamp_list_tasks

    • 列出已配置的 Freedcamp 项目中的所有任务

    • 无需参数(使用环境变量中的项目 ID)

    • 返回任务及其详细信息的列表

IDE 集成

可以使用npx直接运行服务器,而无需克隆存储库。

光标

  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 服务器。

袋鼠

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

Available Tools

4 tools
freedcamp_add_taskA

Create one or more new tasks in Freedcamp with support for title, description, priority, due date, and assignee. Supports bulk operations for creating multiple tasks at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide a title ('Create Task'), so the description carries the burden. It discloses that the tool creates tasks and supports bulk operations, which is useful context beyond annotations. However, it lacks details on permissions, rate limits, or what happens on failure, which are important for a creation tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose and followed by key features. Every sentence adds value: the first defines the action and scope, the second highlights bulk capability and supported fields, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and annotations only providing a title, the description is somewhat complete for a creation tool but lacks details on return values, error handling, or prerequisites. It covers the basics but could be more informative for a tool with 1 parameter (an array of objects) and no structured output documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists supported fields (title, description, priority, due date, assignee) and mentions bulk operations, adding meaning beyond the schema's structure. However, it does not explain the 'tasks' array parameter's semantics or constraints in detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create one or more new tasks in Freedcamp' with specific verb (create) and resource (tasks), and distinguishes from siblings by focusing on creation rather than deletion, listing, or updating mentioned in sibling tool names.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating tasks and mentions 'bulk operations for creating multiple tasks at once,' which provides context for when to use it (multiple tasks). However, it does not explicitly state when not to use it or name alternatives like the sibling tools for other operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

freedcamp_delete_taskA

Permanently delete one or more tasks from Freedcamp. WARNING: This action cannot be undone. Supports bulk operations for deleting multiple tasks at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant behavioral context beyond what annotations provide. Annotations only give a title ('Delete Task'), while the description explicitly warns that the action 'cannot be undone', clarifies it's permanent, and mentions support for bulk operations - all critical behavioral traits for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two sentences that each earn their place: the first states the core action with critical warning, the second adds important bulk operation capability. No wasted words, front-loaded with the most critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a destructive mutation tool with no output schema and minimal annotations, the description does well by warning about irreversibility and mentioning bulk operations. However, it could be more complete by specifying what happens to dependent objects or confirming deletion success criteria.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage (the schema has no parameter descriptions), the description carries the full burden. It adds meaningful context by explaining that the tool supports bulk operations for deleting multiple tasks at once, which helps interpret the 'tasks' array parameter structure, though it doesn't detail individual parameter semantics like 'task_id' format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('permanently delete') and resource ('tasks from Freedcamp'), distinguishing it from sibling tools like 'add_task', 'list_tasks', and 'update_task' which perform different operations on the same resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('permanently delete one or more tasks') and mentions bulk operations, but does not explicitly state when NOT to use it or name specific alternatives like 'update_task' for modifications instead of deletions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

freedcamp_list_tasksB

Retrieve all tasks in the configured Freedcamp project. Returns task details including ID, title, description, status, priority, due date, and assignee information.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide a title ('List Tasks'), so the description carries the burden of behavioral disclosure. It adds value by specifying the return format (task details like ID, title, status, etc.) and implying a read-only operation, but doesn't cover aspects like error handling, pagination, or rate limits. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the action, scope, and return details without redundancy. It's front-loaded with the core purpose, but could be slightly more concise by integrating the return information more seamlessly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, minimal annotations), the description is adequate but has gaps. It explains what the tool does and what it returns, but lacks usage guidelines, error handling, or behavioral nuances. For a list tool with no complex inputs, this is minimally viable but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately omits parameter details, focusing on the tool's function and output. This meets the baseline for zero parameters, but doesn't exceed expectations with extra context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Retrieve') and resource ('all tasks in the configured Freedcamp project'), making the purpose evident. It distinguishes from siblings by focusing on listing rather than adding, deleting, or updating tasks. However, it doesn't explicitly contrast with sibling tools, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'freedcamp_add_task' or 'freedcamp_update_task'. It lacks context about prerequisites (e.g., needing a configured project) or exclusions, leaving usage decisions to inference from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

freedcamp_update_taskB

Update one or more existing tasks in Freedcamp including title, description, priority, due date, assignee, and status. Supports bulk operations for updating multiple tasks at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide a title ('Update Task'), so the description carries the full burden. It mentions bulk operations but lacks details on permissions, rate limits, error handling, or what happens to unspecified fields (e.g., whether they remain unchanged). This is inadequate for a mutation tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and includes essential details like bulk support. It avoids redundancy but could be slightly more structured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It lacks behavioral context (e.g., side effects, auth needs), detailed parameter guidance, and output information, making it insufficient for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description lists key updatable fields (title, description, priority, due date, assignee, status), which adds meaning beyond the bare schema. However, it doesn't explain the 'tasks' array structure or parameter constraints, leaving gaps in documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Update') and resource ('existing tasks in Freedcamp'), and lists specific fields that can be updated. It distinguishes itself from siblings by focusing on updates rather than adding, deleting, or listing tasks. However, it doesn't explicitly contrast with siblings beyond the core action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for updating tasks, including bulk operations, but doesn't provide explicit guidance on when to use this tool versus alternatives like 'freedcamp_add_task' for new tasks or 'freedcamp_delete_task' for removal. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedfreedcamp_add_task
    • First observedfreedcamp_delete_task
    • First observedfreedcamp_list_tasks
    • First observedfreedcamp_update_task

TDQS

A4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting different CRUD operations: add_task for creation, delete_task for deletion, list_tasks for retrieval, and update_task for modification. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

All tools follow a consistent 'freedcamp_verb_task' pattern with snake_case, using clear action verbs (add, delete, list, update). This predictable naming makes it easy to understand each tool's function at a glance.

Tool Count5/5

Four tools is perfectly appropriate for a task management server, covering the essential CRUD operations without being overwhelming. Each tool earns its place with distinct functionality, and the count aligns well with the server's focused scope.

Completeness5/5

The tool set provides complete CRUD coverage for tasks in Freedcamp, including bulk operations for efficiency. There are no obvious gaps—agents can create, read, update, and delete tasks, covering the full lifecycle without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    A comprehensive and efficient Model Context Protocol server for task management that works with Claude, Cursor, and other MCP clients, providing powerful search, filtering, and organization capabilities across multiple file formats.
    5
    227 npm
    47
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that exposes Kanboard API functionality to Large Language Models (LLMs), enabling AI assistants to interact with Kanboard project management system.
    2
    MIT