Gatling脚本执行容器

一个包含alita-mcp的Docker容器,用于执行Gatling脚本、Claude自动化,并提供带有可扩展工具的本地MCP服务器。

  • by carrier-io
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 carrier-io/gatling_mcp_with_claude

使用说明

gatling_mcp

一个内部有alita mcp的docker容器,用于执行Gatling脚本、Claude自动化,并为本地mcp服务器提供可扩展的工具。

1.如何构建容器

使用以下命令构建Docker镜像:

docker build -t getcarrier/gatling_mcp:claude .

2.如何启动容器

使用所需的环境变量运行容器:

docker run -d -ti \
  -e GIT_USER=your_git_user \
  -e GIT_EMAIL=your_git_email \
  -e GIT_TOKEN=your_git_token \
  -e GIT_URL=git.epam.com \
  -e deployment_url=https://next.elitea.ai \
  -e auth_token=your_alita_token \
  -e project_id=your_alita_project \
  -e timeout=900 \
  -e CLAUDE_CODE_USE_BEDROCK=1 \
  -e AWS_ACCESS_KEY_ID=your_access_key \
  -e AWS_SECRET_ACCESS_KEY=your_secret_access_key \
  -e ANTHROPIC_MODEL=global.anthropic.claude-sonnet-4-5-20250929-v1:0 \
  -e IS_SANDBOX=1 \
  -e AWS_REGION=us-east-1 \
  getcarrier/gatling_mcp:claude

参数描述

  • GIT_USER:Git身份验证的用户名(用于私有仓库访问)
  • GIT_邮件:Git提交的电子邮件
  • GIT_TOKEN:Git的个人访问令牌或密码
  • GIT_URL:Git域(没有协议,例如Git.epam.com)
  • 部署url:Elitea部署URL(覆盖config.json)
  • auth_token:Elitea身份验证令牌(覆盖config.json)
  • 项目id:项目ID(数字,覆盖config.json)
  • 超时:MCP操作超时(秒,覆盖config.json)
  • CLAUDE_CODE_USE_BEDROCK:设置为1以启用Claude Bedrock集成
  • AWS_ACCESS_KEY_ID:Bedrock的AWS访问密钥
  • AWS_SECRET_ACCESS_KEY:Bedrock的AWS秘密访问密钥
  • 人向模型:克劳德模型标识符(例如全局。人择。克劳德连接-4-5-20250929-v1:0)
  • IS_SANDBOX:设置为1以启用沙盒模式
  • AWS_REGION:基岩的AWS区域(例如us-east-1)

3.使用MCP服务器

容器运行本地MCP服务器(mcp-local-server.js)使用一组可通过MCP协议访问的工具。关键工具包括:

  • execute_python_script:运行带有可选参数的Python脚本。
  • execute_gatling_模拟:通过Maven运行Gatling模拟。支持自定义仿真类、工作目录、Maven可执行文件、Gatling参数和超时。
  • git_clone:按URL克隆git存储库并签出特定分支。(可选)指定目标目录。
  • git_pull:从指定工作目录中的git存储库中提取最新更改。
  • git_commit_and_push:添加、提交和推送所有更改(除了 target/ 和 errors.json)在回购中。接受提交消息。
  • get_errors:从Gatling模拟错误日志中分析和分组错误。接受工作目录参数。
  • claude_code:在用户提示下运行Claude CLI。仅返回输出的最后20行。使用由环境变量配置的基岩和人为克劳德模型。

您可以通过MCP协议(例如,使用Elitea代理)与这些工具进行交互。

4.克劳德整合

  • Claude CLI 安装在容器中,可以通过执行 claude_code MCP工具。
  • Claude使用基岩和人类环境变量进行配置(见上文)。
  • 这 claude_code 该工具允许您使用自定义提示运行Claude CLI,返回简洁的摘要(最后20行输出)。
  • 示例用法:工具运行 claude --permission-mode bypassPermissions -p "<your prompt>" 在指定的工作目录中。

5.扩展和更新工具

要添加或更新工具,请执行以下操作:

  • 编辑 mcp-local-server.js 并定义新的处理程序方法(例如。, handleMyNewTool).
  • 在中注册该工具 ListToolsRequestSchema 处理程序及其名称、描述和输入模式。
  • 在中为您的工具添加案例 CallToolRequestSchema handler调用您的handler方法。
  • 您可以使用GitHub Copilot或类似的AI助手来帮助快速安全地生成或更新工具代码。

提示: 编辑或添加工具后,重建Docker镜像并重新启动容器。

6.在本地使用Claude运行alita mcp(不使用Docker)

您可以在本地运行MCP服务器和Claude工具进行开发或调试:

  1. 安装要求:

    • Python 3、Node.js 20+、Maven以及来自 package.json.
    • 安装 alita-mcp Python包: pip install alita-mcp==0.1.33
    • 全局安装Claude CLI(请参阅Anthropic/Bedrock文档)。
  2. 准备配置:

    • 复制和编辑 config.json 到 ~/.config/alita-mcp-client/config.json (更新 deployment_url, auth_token, project_id, timeout等等)。
  3. 设置环境变量:

    • 导出所有必需的变量,如上面的Docker run命令所示。
  4. 配置Git凭据:

    • 运行:
      git config --global credential.helper store
      echo "https://${GIT_USER}:${GIT_TOKEN}@${GIT_URL}/" > ~/.git-credentials
      git config --global user.email "${GIT_EMAIL}"
      git config --global user.name "${GIT_USER}"
      
  5. 启动MCP服务器:

    • 运行:
      alita-mcp serve
      
    • 或者,要使用本地Node.js服务器:
      node mcp-local-server.js
      
  6. 用途:

    • 与Docker容器中的MCP工具(包括Claude和Git工具)相同。

7.附加信息

  • 容器基于 getcarrier/gatling_mcp:claude 包括Node.js、Python、Maven、Claude CLI以及运行Gatling和MCP工具的所有依赖项。
  • Git凭据在启动时配置用于私有仓库访问。
  • 配置文件(config.json)在运行时使用环境变量进行修补,以便与CI/CD和云平台轻松集成。
  • 错误日志解析由处理 errors_parser.py,可以扩展为自定义错误格式。
  • 所有脚本和服务器代码都位于 /opt 在容器内。
  • 对于故障排除,请检查容器日志和MCP工具调用的输出。

有关更多详细信息,请参阅此存储库中的源文件或联系维护人员。