Autotask MCP Server

使用说明内容(Markdown格式)

  1. 项目简介
  • 该仓库实现了一个 Autotask 的 MCP 服务器,提供对 Autotask 数据的资源读取、工具执行,以及基于 MCP 的提示渲染能力,方便将 Autotask 集成到各类 LLM 应用中。
  1. 主要功能点
  • MCP 协议实现:支持 MCP 的核心请求与响应,包括列出资源、读取资源、列出工具、调用工具等 JSON-RPC 交互。
  • 资源托管与只读访问:提供企业级资源的注册、读取和简易描述,方便 LLM 获取上下文数据。
  • 工具注册与执行:暴露多组 Autotask 相关工具,允许运行外部功能并返回结构化结果,支持数据增强(如名称映射)。
  • 提示模板与上下文:提供服务器端的指令与说明,便于渲染给 LLM 的对话提示。
  • 支持多传输协议:默认 stdio 传输,亦可通过 HTTP 的 Streamable 模式对接远程/云端客户端。
  • 安全与运维:日志、错误处理、健康检查及简易的重启/停止逻辑,便于在容器化环境中部署。
  1. 安装步骤
  • 依赖准备:需要 Node.js 18+ 环境。
  • 构建与运行(从源码方法):
    • 安装依赖并构建:
      • 安装依赖并打包后端代码(通常通过 npm install、npm run build 完成)。
    • 直接从源码启动(stdio 传输):
      • 配置环境变量 AUTOTASK_USERNAME、AUTOTASK_SECRET、AUTOTASK_INTEGRATION_CODE(以及可选的 AUTOTASK_API_URL、MCP_SERVER_NAME、MCP_TRANSPORT、日志设置等)。
      • 运行命令:node dist/entry.js(或通过 docker 容器执行 dist/entry.js)。
    • 通过 Docker 部署:
      • 使用提供的分发镜像,设置 AUTOTASK_USERNAME、AUTOTASK_SECRET、AUTOTASK_INTEGRATION_CODE 等环境变量,默认传输为 HTTP。
      • 健康检查端点可用 http://host:8080/health。
  • 生产打包(MCP Bundle,MCPB):
    • 使用脚本进行打包,生成 .mcpb 文件,可在 Claude Desktop 等客户端直接使用(阅读仓库的 pack-mcpb 脚本及相关说明)。
  1. 服务器配置(给 MCP 客户端的配置信息描述)
  • 服务器名称(server.name): 默认 autotask-mcp,可通过 MCP 客户端参数覆盖。
  • 启动命令(command)与参数(args)示例注释说明(请以 JSON 结构在客户端配置中填写,不在此处直接给代码块):
    • server.name: autotask-mcp
    • command: node
    • args: ["/path/to/your/project/dist/entry.js"]
    • 还需要在环境变量中提供 Autotask 的凭证:AUTOTASK_USERNAME、AUTOTASK_SECRET、AUTOTASK_INTEGRATION_CODE
  • MCP 传输类型:
    • stdio(本地/桌面使用,默认)
    • http(远程/云端使用,需设置 MCP_TRANSPORT=http、MCP_HTTP_PORT、MCP_HTTP_HOST)
  • 其他备注:
    • 服务器会话与能力声明会通过 MCP 协议与客户端协商,支持资源、工具的列表与调用。
    • 客户端可以通过提供的配置启动服务器并建立连接,后续可通过 MCP 客户端调用资源与工具。
  1. 基本使用方法
  • 启动服务器后,客户端可以:
    • 请求资源列表,读取指定资源的内容。
    • 获取工具列表,并调用具体工具以获取任务结果(包含数据增强与自动映射名称)。
    • 使用工具返回的文本内容作为 LLM 的上下文输入。
  • 常见工作流:
    • 使用 Autotask 账户凭证初始化客户端并连接 MCP 服务器。
    • 客户端请求工具执行,服务器返回格式化文本(JSON),其中可能包含 _enhanced 字段用于 ID 昳示(如公司名、负责人名)。
    • 如需浏览资源或执行查询,使用相应的 MCP 请求即可。
  1. 使用注意
  • 如在某些 Autotask 环境中资源/字段访问存在权限限制,服务器会进行合理降级处理,尽量提供可用的数据或错误信息,避免崩溃。
  • 生产环境建议通过 HTTP 传输对接远程客户端并开启健康检查端点。
  1. 参考与扩展
  • 本实现包含单元测试、集成测试及多脚本辅助工具,便于本地验证与持续集成。
  • 未来可扩展更多 Autotask 实体、更多工具及更丰富的提示模板。

服务器信息