Autotask MCP服务器

基于ExpressJS的MCP服务器,提供与Autotask REST API交互的工具,支持票务管理和查询。

  • by JagminasJ
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 JagminasJ/AutoTaskMCP

使用说明

自动任务MCP服务器

使用MCP Builder构建的MCP服务器[https://mcpbuilder.leniolabs.com]使用ExpressJS上的Streamable HTTP传输。

描述

此MCP(模型上下文协议)服务器提供用于与Autotask REST API服务交互的工具。它使用Express.js和可流式HTTP传输来处理MCP请求。

特性

  • MCP协议的流式HTTP传输
  • 用于处理HTTP请求的Express.js服务器
  • 用于票据管理和查询的多个Autotask API工具
  • 会话管理,并进行适当的清理

先决条件

  • Node.js 20或更高版本
  • npm或纱线

安装

npm install

发展

npm run dev

这将使用以下命令以监视模式启动服务器 tsx.

建筑

npm run build

这将TypeScript编译为JavaScript dist/ 目录。

跑步

npm start

默认情况下,服务器将在端口3000上启动。

码头工人

构建Docker镜像

docker build -t autotaskmcp:latest .

运行容器

docker run -p 3000:3000 autotaskmcp:latest

使用Docker Compose

docker-compose up -d

环境变量

  • PORT -服务器的端口号(默认值:3000)
  • NODE_ENV -节点环境(默认:Docker中的生产环境)

API终点

  • POST /mcp -处理MCP请求(初始化和后续请求)
  • GET /mcp -MCP响应的SSE流
  • DELETE /mcp -终止MCP会话

配置

自动任务API凭据

服务器需要配置Autotask API凭据。这些可以通过环境变量设置:

  • AUTOTASK_API_INTEGRATION_CODE -您的Autotask API集成代码
  • AUTOTASK_USER_NAME -您的Autotask API用户名
  • AUTOTASK_SECRET -您的Autotask API秘密
  • AUTOTASK_IMPERSONATION_RESOURCE_ID -您的自动任务模拟资源ID

这些可以设置:

  • 作为运行时的环境变量(推荐)
  • Docker构建过程中的构建参数(烘焙到镜像中)

部署

部署到北侧

  1. 构建上下文:设置为 . (Dockerfile所在的根目录)

  2. 端口:暴露端口 3000 到互联网

  3. 环境变量:在北侧设置以下环境变量:

    • AUTOTASK_API_INTEGRATION_CODE -您的Autotask API集成代码
    • AUTOTASK_USER_NAME -您的Autotask API用户名
    • AUTOTASK_SECRET -您的Autotask API秘密
    • AUTOTASK_IMPERSONATION_RESOURCE_ID -您的自动任务模拟资源ID
    • PORT (可选)-服务器端口,默认为3000
    • NODE_ENV (可选)-设置为 production
  4. 构建论点 (可选-如果您想将凭据硬编码到映像中):

    • AUTOTASK_API_INTEGRATION_CODE
    • AUTOTASK_USER_NAME
    • AUTOTASK_SECRET
    • AUTOTASK_IMPERSONATION_RESOURCE_ID

    注意:如果使用构建参数,凭据将被烘焙到Docker映像中。如果使用环境变量,则可以在不重建的情况下更改它们。

出版

发布到GitHub

  1. 初始化Git存储库 (如果尚未完成):

    git init
    git add .
    git commit -m "Initial commit"
    
  2. 创建GitHub存储库 并按下:

    git remote add origin https://github.com/YOUR_USERNAME/autotaskmcp.git
    git branch -M main
    git push -u origin main
    

发布Docker镜像(可选)

备注:如果您要部署到Northflange或从源代码构建的类似平台,则不需要将图像发布到注册表。该平台将直接从您的Dockerfile构建。

选项1:GitHub容器注册表(默认-自动)

该存储库包括自动构建并推送到GitHub容器注册表(ghcr.io)的GitHub Actions工作流:

  1. 推送到主/主分支:

    • CI工作流会自动构建并推送每次推送
    • 图片发布到: ghcr.io/YOUR_USERNAME/autotaskmcp:latest
    • 无需额外设置(自动使用GitHub令牌)
  2. 创建发布:

    • 创建GitHub版本以触发版本化标签
    • 这 docker-publish.yml 工作流处理发布版本

选项2:手动构建并推送到GitHub容器注册表

  1. 构建Docker镜像:

    docker build -t ghcr.io/YOUR_USERNAME/autotaskmcp:latest .
    
  2. 登录GitHub容器注册表:

    echo $GITHUB_TOKEN | docker login ghcr.io -u YOUR_USERNAME --password-stdin
    
  3. 推送图像:

    docker push ghcr.io/YOUR_USERNAME/autotaskmcp:latest
    

选项3:Docker Hub(可选-需要手动设置)

如果你更喜欢Docker Hub,你可以手动构建和推送:

  1. 构建Docker镜像:

    docker build -t YOUR_DOCKERHUB_USERNAME/autotaskmcp:latest .
    
  2. 登录Docker Hub:

    docker login
    
  3. 推送图像:

    docker push YOUR_DOCKERHUB_USERNAME/autotaskmcp:latest
    

备注:默认情况下,GitHub Actions工作流使用GitHub容器注册表。要将Docker Hub与GitHub Actions结合使用,您需要:

  • 添加 DOCKER_USERNAME 和 DOCKER_PASSWORD 存储库的秘密
  • 修改工作流以使用Docker Hub而不是GHCR

许可证

麻省理工学院

作者

MCP生成器https://mcpbuilder.leniolabs.com