项目简介

Motion MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在让大型语言模型 (LLM) 能够直接访问 Motion 应用的数据和功能。它通过标准化的 JSON-RPC 协议与 LLM 客户端通信,允许 LLM 调用 Motion API 来管理项目、任务、用户、评论、自定义字段和周期性任务等。该服务器用 TypeScript 编写,具有强大的验证功能和可配置的工具集,以优化 LLM 的工具调用体验。

主要功能点

  • MCP 协议支持: 完全遵循 Model Context Protocol (MCP) 规范,确保与各类 LLM 客户端无缝集成。
  • Motion API 集成: 提供了对 Motion API 的全面访问,涵盖项目、任务、用户、评论、自定义字段、周期性任务、工作区、日程和状态等核心实体。
  • 可配置工具集: 支持“极简”、“常用”、“完整”或“自定义”等多种工具配置,帮助用户根据需求管理 LLM 可用的工具数量,避免工具列表过长。
  • 上下文实用工具: 提供语义搜索和轻量级上下文摘要功能,帮助 LLM 理解和利用 Motion 数据。
  • 安全与稳定性: 通过环境变量配置 API 密钥,支持结构化 JSON 日志,并采用 TypeScript 实现强类型、输入验证和健壮的错误处理。
  • 智能默认值和解析: 具备工作区和项目自动检测、模糊匹配以及智能默认值(如选择“个人”工作区)的能力,提升用户体验。

安装步骤

  1. 获取 Motion API 密钥: 访问 'https://app.usemotion.com/settings/api' 获取您的 Motion API 密钥。
  2. 安装 Node.js: 确保您的系统已安装 Node.js 18 或更高版本。
  3. 命令行运行 (推荐使用 'npx'): 打开终端,设置 Motion API 密钥,然后运行服务器。例如: 'MOTION_API_KEY=您的MotionAPI密钥 npx motionmcp' 这将自动下载并运行最新版本的 Motion MCP 服务器。
  4. (可选)本地开发运行: 如果您希望从源代码运行或进行开发,请克隆仓库,安装依赖,并按照 'DEVELOPER.md' 中的说明运行。

服务器配置 (Claude Desktop 客户端示例)

MCP 客户端(如 Claude Desktop)需要配置 MCP 服务器的启动命令。以下是一个 'claude_desktop_config.json' 的配置示例,您需要将其添加到客户端的配置文件中。请注意,这里的 'env' 部分用于设置环境变量,'command' 和 'args' 定义了服务器的启动方式。

{
  "mcpServers": {
    "motion": {
      "command": "npx",
      "args": ["motionmcp"],
      "env": {
        "MOTION_API_KEY": "您的MotionAPI密钥",
        "MOTION_MCP_TOOLS": "essential" 
      },
      "description": "Motion MCP 服务器,为LLM提供Motion任务、项目、用户等数据的上下文与工具访问。"
    }
  }
}
  • 'motion': 这是 MCP 服务器的名称,您可以在客户端中用它来指代此服务器。
  • 'command': 指定启动服务器的命令。'npx' 是 Node.js 包执行器,用于运行 npm 仓库中的包而无需全局安装。
  • 'args': 提供传递给 'command' 的参数。'motionmcp' 是要执行的包名。
  • 'env': 设置环境变量,这些变量在服务器启动时可用。
    • 'MOTION_API_KEY': 替换为您的 Motion API 密钥。这是服务器连接 Motion API 所必需的。
    • 'MOTION_MCP_TOOLS': (可选)配置服务器暴露的工具集。可选值包括:
      • 'minimal': 仅暴露 3 个核心工具(任务、项目、工作区)。
      • 'essential': 暴露 7 个常用工具(在 'minimal' 基础上增加用户、搜索、评论、日程)。这是默认配置。
      • 'complete': 暴露所有 10 个工具(在 'essential' 基础上增加自定义字段、周期性任务、状态)。
      • 'custom:tool1,tool2,...': 暴露指定的工具,例如 'custom:motion_tasks,motion_projects,motion_search'。
  • 'description': 对 MCP 服务器的简要描述,方便在客户端中识别。

基本使用方法

一旦 MCP 服务器在客户端中成功配置并运行,LLM 客户端将能够自动发现并使用其提供的工具。您可以通过自然语言向 LLM 提出请求,例如:

  • “创建一个名为‘撰写报告’的任务,分配给 Alice。”
  • “列出我的所有未完成任务。”
  • “搜索关于‘项目启动’的所有项目和任务。”
  • “获取 ID 为 ‘task_123’ 的任务详情。” LLM 将根据您的请求调用相应的 Motion 工具来执行操作或获取信息。

信息

分类

AI与计算